Blame view

Documentation/isdn/hysdn.rst 8.16 KB
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
1
2
3
  ============
  Hysdn Driver
  ============
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
4
  The hysdn driver has been written by
670e9f34e   Paolo Ornati   Documentation: re...
5
  Werner Cornelius (werner@isdn4linux.de or werner@titro.de)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
  under the GNU General Public License.
  
  The CAPI 2.0-support was added by Ulrich Albrecht (ualbrecht@hypercope.de)
  for Hypercope GmbH Aachen, Germany.
  
  
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation; either version 2 of the License, or
      (at your option) any later version.
  
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.
  
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
26
  .. Table of contents
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
27

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
28
      1. About the driver
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
29

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
30
      2. Loading/Unloading the driver
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
31

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
32
      3. Entries in the /proc filesystem
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
33

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
34
      4. The /proc/net/hysdn/cardconfX file
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
35

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
36
      5. The /proc/net/hysdn/cardlogX file
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
37

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
38
      6. Where to get additional info and help
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
39
40
41
  
  
  1. About the driver
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
42
  ===================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
43

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
44
     The drivers/isdn/hysdn subdir contains a driver for HYPERCOPEs active
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45
46
     PCI isdn cards Champ, Ergo and Metro. To enable support for this cards
     enable ISDN support in the kernel config and support for HYSDN cards in
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
47
     the active cards submenu. The driver may only be compiled and used if
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
48
49
50
51
52
53
54
     support for loadable modules and the process filesystem have been enabled.
  
     These cards provide two different interfaces to the kernel. Without the
     optional CAPI 2.0 support, they register as ethernet card. IP-routing
     to a ISDN-destination is performed on the card itself. All necessary
     handlers for various protocols like ppp and others as well as config info
     and firmware may be fetched from Hypercopes WWW-Site www.hypercope.de.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
55
56
     With CAPI 2.0 support enabled, the card can also be used as a CAPI 2.0
     compliant devices with either CAPI 2.0 applications
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57
     (check isdn4k-utils) or -using the capidrv module- as a regular
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
58
     isdn4linux device. This is done via the same mechanism as with the
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
59
     active AVM cards and in fact uses the same module.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
60

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
61
62
  
  2. Loading/Unloading the driver
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
63
  ===============================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
64
65
66
67
  
     The module has no command line parameters and auto detects up to 10 cards
     in the id-range 0-9.
     If a loaded driver shall be unloaded all open files in the /proc/net/hysdn
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
68
     subdir need to be closed and all ethernet interfaces allocated by this
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
69
70
     driver must be shut down. Otherwise the module counter will avoid a module
     unload.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
71

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
72
73
74
75
76
77
78
79
     If you are using the CAPI 2.0-interface, make sure to load/modprobe the
     kernelcapi-module first.
  
     If you plan to use the capidrv-link to isdn4linux, make sure to load
     capidrv.o after all modules using this driver (i.e. after hysdn and
     any avm-specific modules).
  
  3. Entries in the /proc filesystem
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
80
  ==================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
81

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
82
83
     When the module has been loaded it adds the directory hysdn in the
     /proc/net tree. This directory contains exactly 2 file entries for each
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
84
     card. One is called cardconfX and the other cardlogX, where X is the
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
85
     card id number from 0 to 9.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
86
87
88
     The cards are numbered in the order found in the PCI config data.
  
  4. The /proc/net/hysdn/cardconfX file
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
89
  =====================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
90

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
91
     This file may be read to get by everyone to get info about the cards type,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
92
93
94
     actual state, available features and used resources.
     The first 3 entries (id, bus and slot) are PCI info fields, the following
     type field gives the information about the cards type:
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
95
96
97
     - 4 -> Ergo card (server card with 2 b-chans)
     - 5 -> Metro card (server card with 4 or 8 b-chans)
     - 6 -> Champ card (client card with 2 b-chans)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
98
99
100
  
     The following 3 fields show the hardware assignments for irq, iobase and the
     dual ported memory (dp-mem).
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
101

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
102
103
     The fields b-chans and fax-chans announce the available card resources of
     this types for the user.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
104

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
105
106
     The state variable indicates the actual drivers state for this card with the
     following assignments.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
107
108
109
110
     - 0 -> card has not been booted since driver load
     - 1 -> card booting is actually in progess
     - 2 -> card is in an error state due to a previous boot failure
     - 3 -> card is booted and active
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
111
112
113
114
115
  
     And the last field (device) shows the name of the ethernet device assigned
     to this card. Up to the first successful boot this field only shows a -
     to tell that no net device has been allocated up to now. Once a net device
     has been allocated it remains assigned to this card, even if a card is
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
116
     rebooted and an boot error occurs.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
117

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
118
119
     Writing to the cardconfX file boots the card or transfers config lines to
     the cards firmware. The type of data is automatically detected when the
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
120
121
122
123
124
     first data is written. Only root has write access to this file.
     The firmware boot files are normally called hyclient.pof for client cards
     and hyserver.pof for server cards.
     After successfully writing the boot file, complete config files or single
     config lines may be copied to this file.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
125
     If an error occurs the return value given to the writing process has the
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
126
     following additional codes (decimal):
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
127
     ==== ============================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
128
129
130
131
132
133
134
135
136
     1000 Another process is currently bootng the card
     1001 Invalid firmware header
     1002 Boards dual-port RAM test failed
     1003 Internal firmware handler error
     1004 Boot image size invalid
     1005 First boot stage (bootstrap loader) failed
     1006 Second boot stage failure
     1007 Timeout waiting for card ready during boot
     1008 Operation only allowed in booted state
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
137
138
     1009 Config line too long
     1010 Invalid channel number
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
139
     1011 Timeout sending config data
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
140
     ==== ============================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
141

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
142
     Additional info about error reasons may be fetched from the log output.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
143
144
  
  5. The /proc/net/hysdn/cardlogX file
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
145
146
147
  ====================================
  
     The cardlogX file entry may be opened multiple for reading by everyone to
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
148
     get the cards and drivers log data. Card messages always start with the
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
149
150
     keyword LOG. All other lines are output from the driver.
     The driver log data may be redirected to the syslog by selecting the
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
151
152
153
154
     appropriate bitmask. The cards log messages will always be send to this
     interface but never to the syslog.
  
     A root user may write a decimal or hex (with 0x) value t this file to select
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
155
     desired output options. As mentioned above the cards log dat is always
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
156
157
     written to the cardlog file independent of the following options only used
     to check and debug the driver itself:
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
158
159
160
     For example::
  
  	echo "0x34560078" > /proc/net/hysdn/cardlog0
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
161
     to output the hex log mask 34560078 for card 0.
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
162
163
  
     The written value is regarded as an unsigned 32-Bit value, bit ored for
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
164
     desired output. The following bits are already assigned:
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
165
166
     ==========   ============================================================
     0x80000000   All driver log data is alternatively via syslog
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
167
168
169
170
171
172
173
174
175
176
177
178
     0x00000001   Log memory allocation errors
     0x00000010   Firmware load start and close are logged
     0x00000020   Log firmware record parser
     0x00000040   Log every firmware write actions
     0x00000080   Log all card related boot messages
     0x00000100   Output all config data sent for debugging purposes
     0x00000200   Only non comment config lines are shown wth channel
     0x00000400   Additional conf log output
     0x00001000   Log the asynchronous scheduler actions (config and log)
     0x00100000   Log all open and close actions to /proc/net/hysdn/card files
     0x00200000   Log all actions from /proc file entries
     0x00010000   Log network interface init and deinit
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
179
     ==========   ============================================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
180
  6. Where to get additional info and help
5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
181
  ========================================
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
182

5a5e045bb   Mauro Carvalho Chehab   docs: isdn: conve...
183
     If you have any problems concerning the driver or configuration contact
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
184
185
186
     the Hypercope support team (support@hypercope.de) and or the authors
     Werner Cornelius (werner@isdn4linux or cornelius@titro.de) or
     Ulrich Albrecht (ualbrecht@hypercope.de).