Blame view
Documentation/isdn/hysdn.rst
8.16 KB
5a5e045bb docs: isdn: conve... |
1 2 3 |
============ Hysdn Driver ============ |
1da177e4c Linux-2.6.12-rc2 |
4 |
The hysdn driver has been written by |
670e9f34e Documentation: re... |
5 |
Werner Cornelius (werner@isdn4linux.de or werner@titro.de) |
1da177e4c 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 docs: isdn: conve... |
26 |
.. Table of contents |
1da177e4c Linux-2.6.12-rc2 |
27 |
|
5a5e045bb docs: isdn: conve... |
28 |
1. About the driver |
1da177e4c Linux-2.6.12-rc2 |
29 |
|
5a5e045bb docs: isdn: conve... |
30 |
2. Loading/Unloading the driver |
1da177e4c Linux-2.6.12-rc2 |
31 |
|
5a5e045bb docs: isdn: conve... |
32 |
3. Entries in the /proc filesystem |
1da177e4c Linux-2.6.12-rc2 |
33 |
|
5a5e045bb docs: isdn: conve... |
34 |
4. The /proc/net/hysdn/cardconfX file |
1da177e4c Linux-2.6.12-rc2 |
35 |
|
5a5e045bb docs: isdn: conve... |
36 |
5. The /proc/net/hysdn/cardlogX file |
1da177e4c Linux-2.6.12-rc2 |
37 |
|
5a5e045bb docs: isdn: conve... |
38 |
6. Where to get additional info and help |
1da177e4c Linux-2.6.12-rc2 |
39 40 41 |
1. About the driver |
5a5e045bb docs: isdn: conve... |
42 |
=================== |
1da177e4c Linux-2.6.12-rc2 |
43 |
|
5a5e045bb docs: isdn: conve... |
44 |
The drivers/isdn/hysdn subdir contains a driver for HYPERCOPEs active |
1da177e4c 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 docs: isdn: conve... |
47 |
the active cards submenu. The driver may only be compiled and used if |
1da177e4c 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 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 Linux-2.6.12-rc2 |
57 |
(check isdn4k-utils) or -using the capidrv module- as a regular |
5a5e045bb docs: isdn: conve... |
58 |
isdn4linux device. This is done via the same mechanism as with the |
1da177e4c Linux-2.6.12-rc2 |
59 |
active AVM cards and in fact uses the same module. |
5a5e045bb docs: isdn: conve... |
60 |
|
1da177e4c Linux-2.6.12-rc2 |
61 62 |
2. Loading/Unloading the driver |
5a5e045bb docs: isdn: conve... |
63 |
=============================== |
1da177e4c 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 docs: isdn: conve... |
68 |
subdir need to be closed and all ethernet interfaces allocated by this |
1da177e4c Linux-2.6.12-rc2 |
69 70 |
driver must be shut down. Otherwise the module counter will avoid a module unload. |
5a5e045bb docs: isdn: conve... |
71 |
|
1da177e4c 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 docs: isdn: conve... |
80 |
================================== |
1da177e4c Linux-2.6.12-rc2 |
81 |
|
5a5e045bb 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 Linux-2.6.12-rc2 |
84 |
card. One is called cardconfX and the other cardlogX, where X is the |
5a5e045bb docs: isdn: conve... |
85 |
card id number from 0 to 9. |
1da177e4c 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 docs: isdn: conve... |
89 |
===================================== |
1da177e4c Linux-2.6.12-rc2 |
90 |
|
5a5e045bb docs: isdn: conve... |
91 |
This file may be read to get by everyone to get info about the cards type, |
1da177e4c 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 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 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 docs: isdn: conve... |
101 |
|
1da177e4c 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 docs: isdn: conve... |
104 |
|
1da177e4c Linux-2.6.12-rc2 |
105 106 |
The state variable indicates the actual drivers state for this card with the following assignments. |
5a5e045bb 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 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 docs: isdn: conve... |
116 |
rebooted and an boot error occurs. |
1da177e4c Linux-2.6.12-rc2 |
117 |
|
5a5e045bb 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 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 docs: isdn: conve... |
125 |
If an error occurs the return value given to the writing process has the |
1da177e4c Linux-2.6.12-rc2 |
126 |
following additional codes (decimal): |
5a5e045bb docs: isdn: conve... |
127 |
==== ============================================ |
1da177e4c 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 docs: isdn: conve... |
137 138 |
1009 Config line too long 1010 Invalid channel number |
1da177e4c Linux-2.6.12-rc2 |
139 |
1011 Timeout sending config data |
5a5e045bb docs: isdn: conve... |
140 |
==== ============================================ |
1da177e4c Linux-2.6.12-rc2 |
141 |
|
5a5e045bb docs: isdn: conve... |
142 |
Additional info about error reasons may be fetched from the log output. |
1da177e4c Linux-2.6.12-rc2 |
143 144 |
5. The /proc/net/hysdn/cardlogX file |
5a5e045bb docs: isdn: conve... |
145 146 147 |
==================================== The cardlogX file entry may be opened multiple for reading by everyone to |
1da177e4c Linux-2.6.12-rc2 |
148 |
get the cards and drivers log data. Card messages always start with the |
5a5e045bb 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 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 docs: isdn: conve... |
155 |
desired output options. As mentioned above the cards log dat is always |
1da177e4c 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 docs: isdn: conve... |
158 159 160 |
For example:: echo "0x34560078" > /proc/net/hysdn/cardlog0 |
1da177e4c Linux-2.6.12-rc2 |
161 |
to output the hex log mask 34560078 for card 0. |
5a5e045bb docs: isdn: conve... |
162 163 |
The written value is regarded as an unsigned 32-Bit value, bit ored for |
1da177e4c Linux-2.6.12-rc2 |
164 |
desired output. The following bits are already assigned: |
5a5e045bb docs: isdn: conve... |
165 166 |
========== ============================================================ 0x80000000 All driver log data is alternatively via syslog |
1da177e4c 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 docs: isdn: conve... |
179 |
========== ============================================================ |
1da177e4c Linux-2.6.12-rc2 |
180 |
6. Where to get additional info and help |
5a5e045bb docs: isdn: conve... |
181 |
======================================== |
1da177e4c Linux-2.6.12-rc2 |
182 |
|
5a5e045bb docs: isdn: conve... |
183 |
If you have any problems concerning the driver or configuration contact |
1da177e4c 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). |