| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | $Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $ | 
|  | 2 | The hysdn driver has been written by | 
| Paolo Ornati | 670e9f3 | 2006-10-03 22:57:56 +0200 | [diff] [blame] | 3 | Werner Cornelius (werner@isdn4linux.de or werner@titro.de) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver | 
|  | 5 | under the GNU General Public License. | 
|  | 6 |  | 
|  | 7 | The CAPI 2.0-support was added by Ulrich Albrecht (ualbrecht@hypercope.de) | 
|  | 8 | for Hypercope GmbH Aachen, Germany. | 
|  | 9 |  | 
|  | 10 |  | 
|  | 11 | This program is free software; you can redistribute it and/or modify | 
|  | 12 | it under the terms of the GNU General Public License as published by | 
|  | 13 | the Free Software Foundation; either version 2 of the License, or | 
|  | 14 | (at your option) any later version. | 
|  | 15 |  | 
|  | 16 | This program is distributed in the hope that it will be useful, | 
|  | 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | 19 | GNU General Public License for more details. | 
|  | 20 |  | 
|  | 21 | You should have received a copy of the GNU General Public License | 
|  | 22 | along with this program; if not, write to the Free Software | 
|  | 23 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
|  | 24 |  | 
|  | 25 | Table of contents | 
|  | 26 | ================= | 
|  | 27 |  | 
|  | 28 | 1. About the driver | 
|  | 29 |  | 
|  | 30 | 2. Loading/Unloading the driver | 
|  | 31 |  | 
|  | 32 | 3. Entries in the /proc filesystem | 
|  | 33 |  | 
|  | 34 | 4. The /proc/net/hysdn/cardconfX file | 
|  | 35 |  | 
|  | 36 | 5. The /proc/net/hysdn/cardlogX file | 
|  | 37 |  | 
|  | 38 | 6. Where to get additional info and help | 
|  | 39 |  | 
|  | 40 |  | 
|  | 41 | 1. About the driver | 
|  | 42 |  | 
|  | 43 | The drivers/isdn/hysdn subdir contains a driver for HYPERCOPEs active | 
|  | 44 | PCI isdn cards Champ, Ergo and Metro. To enable support for this cards | 
|  | 45 | enable ISDN support in the kernel config and support for HYSDN cards in | 
|  | 46 | the active cards submenu. The driver may only be compiled and used if | 
|  | 47 | support for loadable modules and the process filesystem have been enabled. | 
|  | 48 |  | 
|  | 49 | These cards provide two different interfaces to the kernel. Without the | 
|  | 50 | optional CAPI 2.0 support, they register as ethernet card. IP-routing | 
|  | 51 | to a ISDN-destination is performed on the card itself. All necessary | 
|  | 52 | handlers for various protocols like ppp and others as well as config info | 
|  | 53 | and firmware may be fetched from Hypercopes WWW-Site www.hypercope.de. | 
|  | 54 |  | 
|  | 55 | With CAPI 2.0 support enabled, the card can also be used as a CAPI 2.0 | 
|  | 56 | compliant devices with either CAPI 2.0 applications | 
|  | 57 | (check isdn4k-utils) or -using the capidrv module- as a regular | 
|  | 58 | isdn4linux device. This is done via the same mechanism as with the | 
|  | 59 | active AVM cards and in fact uses the same module. | 
|  | 60 |  | 
|  | 61 |  | 
|  | 62 | 2. Loading/Unloading the driver | 
|  | 63 |  | 
|  | 64 | The module has no command line parameters and auto detects up to 10 cards | 
|  | 65 | in the id-range 0-9. | 
|  | 66 | If a loaded driver shall be unloaded all open files in the /proc/net/hysdn | 
|  | 67 | subdir need to be closed and all ethernet interfaces allocated by this | 
|  | 68 | driver must be shut down. Otherwise the module counter will avoid a module | 
|  | 69 | unload. | 
|  | 70 |  | 
|  | 71 | If you are using the CAPI 2.0-interface, make sure to load/modprobe the | 
|  | 72 | kernelcapi-module first. | 
|  | 73 |  | 
|  | 74 | If you plan to use the capidrv-link to isdn4linux, make sure to load | 
|  | 75 | capidrv.o after all modules using this driver (i.e. after hysdn and | 
|  | 76 | any avm-specific modules). | 
|  | 77 |  | 
|  | 78 | 3. Entries in the /proc filesystem | 
|  | 79 |  | 
|  | 80 | When the module has been loaded it adds the directory hysdn in the | 
|  | 81 | /proc/net tree. This directory contains exactly 2 file entries for each | 
|  | 82 | card. One is called cardconfX and the other cardlogX, where X is the | 
|  | 83 | card id number from 0 to 9. | 
|  | 84 | The cards are numbered in the order found in the PCI config data. | 
|  | 85 |  | 
|  | 86 | 4. The /proc/net/hysdn/cardconfX file | 
|  | 87 |  | 
|  | 88 | This file may be read to get by everyone to get info about the cards type, | 
|  | 89 | actual state, available features and used resources. | 
|  | 90 | The first 3 entries (id, bus and slot) are PCI info fields, the following | 
|  | 91 | type field gives the information about the cards type: | 
|  | 92 |  | 
|  | 93 | 4 -> Ergo card (server card with 2 b-chans) | 
|  | 94 | 5 -> Metro card (server card with 4 or 8 b-chans) | 
|  | 95 | 6 -> Champ card (client card with 2 b-chans) | 
|  | 96 |  | 
|  | 97 | The following 3 fields show the hardware assignments for irq, iobase and the | 
|  | 98 | dual ported memory (dp-mem). | 
|  | 99 | The fields b-chans and fax-chans announce the available card resources of | 
|  | 100 | this types for the user. | 
|  | 101 | The state variable indicates the actual drivers state for this card with the | 
|  | 102 | following assignments. | 
|  | 103 |  | 
|  | 104 | 0 -> card has not been booted since driver load | 
|  | 105 | 1 -> card booting is actually in progess | 
|  | 106 | 2 -> card is in an error state due to a previous boot failure | 
|  | 107 | 3 -> card is booted and active | 
|  | 108 |  | 
|  | 109 | And the last field (device) shows the name of the ethernet device assigned | 
|  | 110 | to this card. Up to the first successful boot this field only shows a - | 
|  | 111 | to tell that no net device has been allocated up to now. Once a net device | 
|  | 112 | has been allocated it remains assigned to this card, even if a card is | 
|  | 113 | rebooted and an boot error occurs. | 
|  | 114 |  | 
|  | 115 | Writing to the cardconfX file boots the card or transfers config lines to | 
|  | 116 | the cards firmware. The type of data is automatically detected when the | 
|  | 117 | first data is written. Only root has write access to this file. | 
|  | 118 | The firmware boot files are normally called hyclient.pof for client cards | 
|  | 119 | and hyserver.pof for server cards. | 
|  | 120 | After successfully writing the boot file, complete config files or single | 
|  | 121 | config lines may be copied to this file. | 
|  | 122 | If an error occurs the return value given to the writing process has the | 
|  | 123 | following additional codes (decimal): | 
|  | 124 |  | 
|  | 125 | 1000 Another process is currently bootng the card | 
|  | 126 | 1001 Invalid firmware header | 
|  | 127 | 1002 Boards dual-port RAM test failed | 
|  | 128 | 1003 Internal firmware handler error | 
|  | 129 | 1004 Boot image size invalid | 
|  | 130 | 1005 First boot stage (bootstrap loader) failed | 
|  | 131 | 1006 Second boot stage failure | 
|  | 132 | 1007 Timeout waiting for card ready during boot | 
|  | 133 | 1008 Operation only allowed in booted state | 
|  | 134 | 1009 Config line too long | 
|  | 135 | 1010 Invalid channel number | 
|  | 136 | 1011 Timeout sending config data | 
|  | 137 |  | 
|  | 138 | Additional info about error reasons may be fetched from the log output. | 
|  | 139 |  | 
|  | 140 | 5. The /proc/net/hysdn/cardlogX file | 
|  | 141 |  | 
|  | 142 | The cardlogX file entry may be opened multiple for reading by everyone to | 
|  | 143 | get the cards and drivers log data. Card messages always start with the | 
|  | 144 | keyword LOG. All other lines are output from the driver. | 
|  | 145 | The driver log data may be redirected to the syslog by selecting the | 
|  | 146 | appropriate bitmask. The cards log messages will always be send to this | 
|  | 147 | interface but never to the syslog. | 
|  | 148 |  | 
|  | 149 | A root user may write a decimal or hex (with 0x) value t this file to select | 
|  | 150 | desired output options. As mentioned above the cards log dat is always | 
|  | 151 | written to the cardlog file independent of the following options only used | 
|  | 152 | to check and debug the driver itself: | 
|  | 153 |  | 
|  | 154 | For example: | 
|  | 155 | echo "0x34560078" > /proc/net/hysdn/cardlog0 | 
|  | 156 | to output the hex log mask 34560078 for card 0. | 
|  | 157 |  | 
|  | 158 | The written value is regarded as an unsigned 32-Bit value, bit ored for | 
|  | 159 | desired output. The following bits are already assigned: | 
|  | 160 |  | 
|  | 161 | 0x80000000   All driver log data is alternatively via syslog | 
|  | 162 | 0x00000001   Log memory allocation errors | 
|  | 163 | 0x00000010   Firmware load start and close are logged | 
|  | 164 | 0x00000020   Log firmware record parser | 
|  | 165 | 0x00000040   Log every firmware write actions | 
|  | 166 | 0x00000080   Log all card related boot messages | 
|  | 167 | 0x00000100   Output all config data sent for debugging purposes | 
|  | 168 | 0x00000200   Only non comment config lines are shown wth channel | 
|  | 169 | 0x00000400   Additional conf log output | 
|  | 170 | 0x00001000   Log the asynchronous scheduler actions (config and log) | 
|  | 171 | 0x00100000   Log all open and close actions to /proc/net/hysdn/card files | 
|  | 172 | 0x00200000   Log all actions from /proc file entries | 
|  | 173 | 0x00010000   Log network interface init and deinit | 
|  | 174 |  | 
|  | 175 | 6. Where to get additional info and help | 
|  | 176 |  | 
|  | 177 | If you have any problems concerning the driver or configuration contact | 
|  | 178 | the Hypercope support team (support@hypercope.de) and or the authors | 
|  | 179 | Werner Cornelius (werner@isdn4linux or cornelius@titro.de) or | 
|  | 180 | Ulrich Albrecht (ualbrecht@hypercope.de). | 
|  | 181 |  | 
|  | 182 |  | 
|  | 183 |  | 
|  | 184 |  | 
|  | 185 |  | 
|  | 186 |  | 
|  | 187 |  | 
|  | 188 |  | 
|  | 189 |  | 
|  | 190 |  | 
|  | 191 |  | 
|  | 192 |  | 
|  | 193 |  | 
|  | 194 |  | 
|  | 195 |  |