README.hysdn 7.8 KB

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