README.HiSax 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  1. HiSax is a Linux hardware-level driver for passive ISDN cards with Siemens
  2. chipset (ISAC_S 2085/2086/2186, HSCX SAB 82525). It is based on the Teles
  3. driver from Jan den Ouden.
  4. It is meant to be used with isdn4linux, an ISDN link-level module for Linux
  5. written by Fritz Elfert.
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. Supported cards
  18. ---------------
  19. Teles 8.0/16.0/16.3 and compatible ones
  20. Teles 16.3c
  21. Teles S0/PCMCIA
  22. Teles PCI
  23. Teles S0Box
  24. Creatix S0Box
  25. Creatix PnP S0
  26. Compaq ISDN S0 ISA card
  27. AVM A1 (Fritz, Teledat 150)
  28. AVM Fritz PCMCIA
  29. AVM Fritz PnP
  30. AVM Fritz PCI
  31. ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
  32. ELSA Quickstep 1000
  33. ELSA Quickstep 1000PCI
  34. ELSA Quickstep 3000 (same settings as QS1000)
  35. ELSA Quickstep 3000PCI
  36. ELSA PCMCIA
  37. ITK ix1-micro Rev.2
  38. Eicon Diva 2.0 ISA and PCI (S0 and U interface, no PRO version)
  39. Eicon Diva 2.01 ISA and PCI
  40. Eicon Diva 2.02 PCI
  41. Eicon Diva Piccola
  42. ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
  43. Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
  44. PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
  45. HFC-2BS0 based cards (TeleInt SA1)
  46. Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
  47. Sedlbauer Speed Star/Speed Star2 (PCMCIA)
  48. Sedlbauer ISDN-Controller PC/104
  49. USR Sportster internal TA (compatible Stollmann tina-pp V3)
  50. USR internal TA PCI
  51. ith Kommunikationstechnik GmbH MIC 16 ISA card
  52. Traverse Technologie NETjet PCI S0 card and NETspider U card
  53. Ovislink ISDN sc100-p card (NETjet driver)
  54. Dr. Neuhaus Niccy PnP/PCI
  55. Siemens I-Surf 1.0
  56. Siemens I-Surf 2.0 (with IPAC, try type 12 asuscom)
  57. ACER P10
  58. HST Saphir
  59. Berkom Telekom A4T
  60. Scitel Quadro
  61. Gazel ISDN cards
  62. HFC-PCI based cards
  63. Winbond W6692 based cards
  64. HFC-S+, HFC-SP/PCMCIA cards
  65. formula-n enternow
  66. Gerdes Power ISDN
  67. Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
  68. PCC-8: not tested yet
  69. Eicon.Diehl Diva U interface not tested
  70. If you know other passive cards with the Siemens chipset, please let me know.
  71. You can combine any card, if there is no conflict between the resources
  72. (io, mem, irq).
  73. Configuring the driver
  74. ----------------------
  75. The HiSax driver can either be built directly into the kernel or as a module.
  76. It can be configured using the command line feature while loading the kernel
  77. with LILO or LOADLIN or, if built as a module, using insmod/modprobe with
  78. parameters.
  79. There is also some config needed before you compile the kernel and/or
  80. modules. It is included in the normal "make [menu]config" target at the
  81. kernel. Don't forget it, especially to select the right D-channel protocol.
  82. Please note: In older versions of the HiSax driver, all PnP cards
  83. needed to be configured with isapnp and worked only with the HiSax
  84. driver used as a module.
  85. In the current version, HiSax will automatically use the in-kernel
  86. ISAPnP support, provided you selected it during kernel configuration
  87. (CONFIG_ISAPNP), if you don't give the io=, irq= command line parameters.
  88. The affected card types are: 4,7,12,14,19,27-30
  89. a) when built as a module
  90. -------------------------
  91. insmod/modprobe hisax.o \
  92. io=iobase irq=IRQ mem=membase type=card_type \
  93. protocol=D_channel_protocol id=idstring
  94. or, if several cards are installed:
  95. insmod/modprobe hisax.o \
  96. io=iobase1,iobase2,... irq=IRQ1,IRQ2,... mem=membase1,membase2,... \
  97. type=card_type1,card_type2,... \
  98. protocol=D_channel_protocol1,D_channel_protocol2,... \
  99. id=idstring1%idstring2 ...
  100. where "iobaseN" represents the I/O base address of the Nth card, "membaseN"
  101. the memory base address of the Nth card, etc.
  102. The reason for the delimiter "%" being used in the idstrings is that ","
  103. won't work with the current modules package.
  104. The parameters may be specified in any order. For example, the "io"
  105. parameter may precede the "irq" parameter, or vice versa. If several
  106. cards are installed, the ordering within the comma separated parameter
  107. lists must of course be consistent.
  108. Only parameters applicable to the card type need to be specified. For
  109. example, the Teles 16.3 card is not memory-mapped, so the "mem"
  110. parameter may be omitted for this card. Sometimes it may be necessary
  111. to specify a dummy parameter, however. This is the case when there is
  112. a card of a different type later in the list that needs a parameter
  113. which the preceding card does not. For instance, if a Teles 16.0 card
  114. is listed after a Teles 16.3 card, a dummy memory base parameter of 0
  115. must be specified for the 16.3. Instead of a dummy value, the parameter
  116. can also be skipped by simply omitting the value. For example:
  117. mem=,0xd0000. See example 6 below.
  118. The parameter for the D-Channel protocol may be omitted if you selected the
  119. correct one during kernel config. Valid values are "1" for German 1TR6,
  120. "2" for EDSS1 (Euro ISDN), "3" for leased lines (no D-Channel) and "4"
  121. for US NI1.
  122. With US NI1 you have to include your SPID into the MSN setting in the form
  123. <MSN>:<SPID> for example (your phonenumber is 1234 your SPID 5678):
  124. AT&E1234:5678 on ttyI interfaces
  125. isdnctrl eaz ippp0 1234:5678 on network devices
  126. The Creatix/Teles PnP cards use io1= and io2= instead of io= for specifying
  127. the I/O addresses of the ISAC and HSCX chips, respectively.
  128. Card types:
  129. Type Required parameters (in addition to type and protocol)
  130. 1 Teles 16.0 irq, mem, io
  131. 2 Teles 8.0 irq, mem
  132. 3 Teles 16.3 (non PnP) irq, io
  133. 4 Creatix/Teles PnP irq, io0 (ISAC), io1 (HSCX)
  134. 5 AVM A1 (Fritz) irq, io
  135. 6 ELSA PCC/PCF cards io or nothing for autodetect (the iobase is
  136. required only if you have more than one ELSA
  137. card in your PC)
  138. 7 ELSA Quickstep 1000 irq, io (from isapnp setup)
  139. 8 Teles 16.3 PCMCIA irq, io
  140. 9 ITK ix1-micro Rev.2 irq, io
  141. 10 ELSA PCMCIA irq, io (set with card manager)
  142. 11 Eicon.Diehl Diva ISA PnP irq, io
  143. 11 Eicon.Diehl Diva PCI no parameter
  144. 12 ASUS COM ISDNLink irq, io (from isapnp setup)
  145. 13 HFC-2BS0 based cards irq, io
  146. 14 Teles 16.3c PnP irq, io
  147. 15 Sedlbauer Speed Card irq, io
  148. 15 Sedlbauer PC/104 irq, io
  149. 15 Sedlbauer Speed PCI no parameter
  150. 16 USR Sportster internal irq, io
  151. 17 MIC card irq, io
  152. 18 ELSA Quickstep 1000PCI no parameter
  153. 19 Compaq ISDN S0 ISA card irq, io0, io1, io (from isapnp setup io=IO2)
  154. 20 NETjet PCI card no parameter
  155. 21 Teles PCI no parameter
  156. 22 Sedlbauer Speed Star (PCMCIA) irq, io (set with card manager)
  157. 24 Dr. Neuhaus Niccy PnP irq, io0, io1 (from isapnp setup)
  158. 24 Dr. Neuhaus Niccy PCI no parameter
  159. 25 Teles S0Box irq, io (of the used lpt port)
  160. 26 AVM A1 PCMCIA (Fritz!) irq, io (set with card manager)
  161. 27 AVM PnP (Fritz!PnP) irq, io (from isapnp setup)
  162. 27 AVM PCI (Fritz!PCI) no parameter
  163. 28 Sedlbauer Speed Fax+ irq, io (from isapnp setup)
  164. 29 Siemens I-Surf 1.0 irq, io, memory (from isapnp setup)
  165. 30 ACER P10 irq, io (from isapnp setup)
  166. 31 HST Saphir irq, io
  167. 32 Telekom A4T none
  168. 33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
  169. 34 Gazel ISDN cards (ISA) irq,io
  170. 34 Gazel ISDN cards (PCI) none
  171. 35 HFC 2BDS0 PCI none
  172. 36 W6692 based PCI cards none
  173. 37 HFC 2BDS0 S+, SP irq,io
  174. 38 NETspider U PCI card none
  175. 39 HFC 2BDS0 SP/PCMCIA irq,io (set with cardmgr)
  176. 40 hotplug interface
  177. 41 Formula-n enter:now PCI none
  178. At the moment IRQ sharing is only possible with PCI cards. Please make sure
  179. that your IRQ is free and enabled for ISA use.
  180. Examples for module loading
  181. 1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10
  182. modprobe hisax type=3 protocol=2 io=0x280 irq=10
  183. 2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex
  184. modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5
  185. 3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN
  186. modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa
  187. 4. Any ELSA PCC/PCF card, Euro ISDN
  188. modprobe hisax type=6 protocol=2
  189. 5. Teles 16.3 PnP, Euro ISDN, with isapnp configured
  190. isapnp config: (INT 0 (IRQ 10 (MODE +E)))
  191. (IO 0 (BASE 0x0580))
  192. (IO 1 (BASE 0x0180))
  193. modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
  194. In the current version of HiSax, you can instead simply use
  195. modprobe hisax type=4 protocol=2
  196. if you configured your kernel for ISAPnP. Don't run isapnp in
  197. this case!
  198. 6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
  199. Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
  200. modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
  201. Please note the dummy 0 memory address for the Teles 16.3, used as a
  202. placeholder as described above, in the last example.
  203. 7. Teles PCMCIA, Euro ISDN, I/O base 180 hex, IRQ 15 (default values)
  204. modprobe hisax type=8 protocol=2 io=0x180 irq=15
  205. b) using LILO/LOADLIN, with the driver compiled directly into the kernel
  206. ------------------------------------------------------------------------
  207. hisax=typ1,dp1,pa_1,pb_1,pc_1[,typ2,dp2,pa_2 ... \
  208. typn,dpn,pa_n,pb_n,pc_n][,idstring1[,idstring2,...,idstringn]]
  209. where
  210. typ1 = type of 1st card (default depends on kernel settings)
  211. dp1 = D-Channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
  212. pa_1 = 1st parameter (depending on the type of the card)
  213. pb_1 = 2nd parameter ( " " " " " " " )
  214. pc_1 = 3rd parameter ( " " " " " " " )
  215. typ2,dp2,pa_2,pb_2,pc_2 = Parameters of the second card (defaults: none)
  216. typn,dpn,pa_n,pb_n,pc_n = Parameters of the n'th card (up to 16 cards are
  217. supported)
  218. idstring = Driver ID for accessing the particular card with utility
  219. programs and for identification when using a line monitor
  220. (default: "HiSax")
  221. Note: the ID string must start with an alphabetical character!
  222. Card types:
  223. type
  224. 1 Teles 16.0 pa=irq pb=membase pc=iobase
  225. 2 Teles 8.0 pa=irq pb=membase
  226. 3 Teles 16.3 pa=irq pb=iobase
  227. 4 Creatix/Teles PNP ONLY WORKS AS A MODULE !
  228. 5 AVM A1 (Fritz) pa=irq pb=iobase
  229. 6 ELSA PCC/PCF cards pa=iobase or nothing for autodetect
  230. 7 ELSA Quickstep 1000 ONLY WORKS AS A MODULE !
  231. 8 Teles S0 PCMCIA pa=irq pb=iobase
  232. 9 ITK ix1-micro Rev.2 pa=irq pb=iobase
  233. 10 ELSA PCMCIA pa=irq, pb=io (set with card manager)
  234. 11 Eicon.Diehl Diva ISAPnP ONLY WORKS AS A MODULE !
  235. 11 Eicon.Diehl Diva PCI no parameter
  236. 12 ASUS COM ISDNLink ONLY WORKS AS A MODULE !
  237. 13 HFC-2BS0 based cards pa=irq pb=io
  238. 14 Teles 16.3c PnP ONLY WORKS AS A MODULE !
  239. 15 Sedlbauer Speed Card pa=irq pb=io (Speed Win only as module !)
  240. 15 Sedlbauer PC/104 pa=irq pb=io
  241. 15 Sedlbauer Speed PCI no parameter
  242. 16 USR Sportster internal pa=irq pb=io
  243. 17 MIC card pa=irq pb=io
  244. 18 ELSA Quickstep 1000PCI no parameter
  245. 19 Compaq ISDN S0 ISA card ONLY WORKS AS A MODULE !
  246. 20 NETjet PCI card no parameter
  247. 21 Teles PCI no parameter
  248. 22 Sedlbauer Speed Star (PCMCIA) pa=irq, pb=io (set with card manager)
  249. 24 Dr. Neuhaus Niccy PnP ONLY WORKS AS A MODULE !
  250. 24 Dr. Neuhaus Niccy PCI no parameter
  251. 25 Teles S0Box pa=irq, pb=io (of the used lpt port)
  252. 26 AVM A1 PCMCIA (Fritz!) pa=irq, pb=io (set with card manager)
  253. 27 AVM PnP (Fritz!PnP) ONLY WORKS AS A MODULE !
  254. 27 AVM PCI (Fritz!PCI) no parameter
  255. 28 Sedlbauer Speed Fax+ ONLY WORKS AS A MODULE !
  256. 29 Siemens I-Surf 1.0 ONLY WORKS AS A MODULE !
  257. 30 ACER P10 ONLY WORKS AS A MODULE !
  258. 31 HST Saphir pa=irq, pb=io
  259. 32 Telekom A4T no parameter
  260. 33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
  261. 34 Gazel ISDN cards (ISA) pa=irq, pb=io
  262. 34 Gazel ISDN cards (PCI) no parameter
  263. 35 HFC 2BDS0 PCI no parameter
  264. 36 W6692 based PCI cards none
  265. 37 HFC 2BDS0 S+,SP/PCMCIA ONLY WORKS AS A MODULE !
  266. 38 NETspider U PCI card none
  267. 39 HFC 2BDS0 SP/PCMCIA ONLY WORKS AS A MODULE !
  268. 40 hotplug interface ONLY WORKS AS A MODULE !
  269. 41 Formula-n enter:now PCI none
  270. Running the driver
  271. ------------------
  272. When you insmod isdn.o and hisax.o (or with the in-kernel version, during
  273. boot time), a few lines should appear in your syslog. Look for something like:
  274. Apr 13 21:01:59 kke01 kernel: HiSax: Driver for Siemens chip set ISDN cards
  275. Apr 13 21:01:59 kke01 kernel: HiSax: Version 2.9
  276. Apr 13 21:01:59 kke01 kernel: HiSax: Revisions 1.14/1.9/1.10/1.25/1.8
  277. Apr 13 21:01:59 kke01 kernel: HiSax: Total 1 card defined
  278. Apr 13 21:01:59 kke01 kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax1 (0)
  279. Apr 13 21:01:59 kke01 kernel: HiSax: Elsa driver Rev. 1.13
  280. ...
  281. Apr 13 21:01:59 kke01 kernel: Elsa: PCF-Pro found at 0x360 Rev.:C IRQ 10
  282. Apr 13 21:01:59 kke01 kernel: Elsa: timer OK; resetting card
  283. Apr 13 21:01:59 kke01 kernel: Elsa: HSCX version A: V2.1 B: V2.1
  284. Apr 13 21:01:59 kke01 kernel: Elsa: ISAC 2086/2186 V1.1
  285. ...
  286. Apr 13 21:01:59 kke01 kernel: HiSax: DSS1 Rev. 1.14
  287. Apr 13 21:01:59 kke01 kernel: HiSax: 2 channels added
  288. This means that the card is ready for use.
  289. Cabling problems or line-downs are not detected, and only some ELSA cards can
  290. detect the S0 power.
  291. Remember that, according to the new strategy for accessing low-level drivers
  292. from within isdn4linux, you should also define a driver ID while doing
  293. insmod: Simply append hisax_id=<SomeString> to the insmod command line. This
  294. string MUST NOT start with a digit or a small 'x'!
  295. At this point you can run a 'cat /dev/isdnctrl0' and view debugging messages.
  296. At the moment, debugging messages are enabled with the hisaxctrl tool:
  297. hisaxctrl <DriverId> DebugCmd <debugging_flags>
  298. <DriverId> default is HiSax, if you didn't specify one.
  299. DebugCmd is 1 for generic debugging
  300. 11 for layer 1 development debugging
  301. 13 for layer 3 development debugging
  302. where <debugging_flags> is the integer sum of the following debugging
  303. options you wish enabled:
  304. With DebugCmd set to 1:
  305. 0x0001 Link-level <--> hardware-level communication
  306. 0x0002 Top state machine
  307. 0x0004 D-Channel Frames for isdnlog
  308. 0x0008 D-Channel Q.921
  309. 0x0010 B-Channel X.75
  310. 0x0020 D-Channel l2
  311. 0x0040 B-Channel l2
  312. 0x0080 D-Channel link state debugging
  313. 0x0100 B-Channel link state debugging
  314. 0x0200 TEI debug
  315. 0x0400 LOCK debug in callc.c
  316. 0x0800 More paranoid debug in callc.c (not for normal use)
  317. 0x1000 D-Channel l1 state debugging
  318. 0x2000 B-Channel l1 state debugging
  319. With DebugCmd set to 11:
  320. 0x0001 Warnings (default: on)
  321. 0x0002 IRQ status
  322. 0x0004 ISAC
  323. 0x0008 ISAC FIFO
  324. 0x0010 HSCX
  325. 0x0020 HSCX FIFO (attention: full B-Channel output!)
  326. 0x0040 D-Channel LAPD frame types
  327. 0x0080 IPAC debug
  328. 0x0100 HFC receive debug
  329. 0x0200 ISAC monitor debug
  330. 0x0400 D-Channel frames for isdnlog (set with 1 0x4 too)
  331. 0x0800 D-Channel message verbose
  332. With DebugCmd set to 13:
  333. 1 Warnings (default: on)
  334. 2 l3 protocol descriptor errors
  335. 4 l3 state machine
  336. 8 charge info debugging (1TR6)
  337. For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging.
  338. Because of some obscure problems with some switch equipment, the delay
  339. between the CONNECT message and sending the first data on the B-channel is now
  340. configurable with
  341. hisaxctrl <DriverId> 2 <delay>
  342. <delay> in ms Value between 50 and 800 ms is recommended.
  343. Downloading Firmware
  344. --------------------
  345. At the moment, the Sedlbauer speed fax+ is the only card, which
  346. needs to download firmware.
  347. The firmware is downloaded with the hisaxctrl tool:
  348. hisaxctrl <DriverId> 9 <firmware_filename>
  349. <DriverId> default is HiSax, if you didn't specify one,
  350. where <firmware_filename> is the filename of the firmware file.
  351. For example, 'hisaxctrl HiSax 9 ISAR.BIN' downloads the firmware for
  352. ISAR based cards (like the Sedlbauer speed fax+).
  353. Warning
  354. -------
  355. HiSax is a work in progress and may crash your machine.
  356. For certification look at HiSax.cert file.
  357. Limitations
  358. -----------
  359. At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.
  360. For leased lines see appendix.
  361. Bugs
  362. ----
  363. If you find any, please let me know.
  364. Thanks
  365. ------
  366. Special thanks to:
  367. Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
  368. Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
  369. Andreas Kool, Pekka Sarnila, Sim Yskes, Johan Myrre'en,
  370. Klaus-Peter Nischke (ITK AG), Christof Petig, Werner Fehn (ELSA GmbH),
  371. Volker Schmidt
  372. Edgar Toernig and Marcus Niemann for the Sedlbauer driver
  373. Stephan von Krawczynski
  374. Juergen Quade for the Leased Line part
  375. Klaus Lichtenwalder (Klaus.Lichtenwalder@WebForum.DE), for ELSA PCMCIA support
  376. Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff
  377. Ton van Rosmalen for Teles PCI
  378. Petr Novak <petr.novak@i.cz> for Winbond W6692 support
  379. Werner Cornelius <werner@isdn4linux.de> for HFC-PCI, HFC-S(+/P) and supplementary services support
  380. and more people who are hunting bugs. (If I forgot somebody, please
  381. send me a mail).
  382. Firma ELSA GmbH
  383. Firma Eicon.Diehl GmbH
  384. Firma Dynalink NL
  385. Firma ASUSCOM NETWORK INC. Taiwan
  386. Firma S.u.S.E
  387. Firma ith Kommunikationstechnik GmbH
  388. Firma Traverse Technologie Australia
  389. Firma Medusa GmbH (www.medusa.de).
  390. Firma Quant-X Austria for sponsoring a DEC Alpha board+CPU
  391. Firma Cologne Chip Designs GmbH
  392. My girl friend and partner in life Ute for her patience with me.
  393. Enjoy,
  394. Karsten Keil
  395. keil@isdn4linux.de
  396. Appendix: Teles PCMCIA driver
  397. -----------------------------
  398. See
  399. http://www.linux.no/teles_cs.txt
  400. for instructions.
  401. Appendix: Linux and ISDN-leased lines
  402. -------------------------------------
  403. Original from Juergen Quade, new version KKe.
  404. Attention NEW VERSION, the old leased line syntax won't work !!!
  405. You can use HiSax to connect your Linux-Box via an ISDN leased line
  406. to e.g. the Internet:
  407. 1. Build a kernel which includes the HiSax driver either as a module
  408. or as part of the kernel.
  409. cd /usr/src/linux
  410. make menuconfig
  411. <ISDN subsystem - ISDN support -- HiSax>
  412. make clean; make zImage; make modules; make modules_install
  413. 2. Install the new kernel
  414. cp /usr/src/linux/arch/x86/boot/zImage /etc/kernel/linux.isdn
  415. vi /etc/lilo.conf
  416. <add new kernel in the bootable image section>
  417. lilo
  418. 3. in case the hisax driver is a "fixed" part of the kernel, configure
  419. the driver with lilo:
  420. vi /etc/lilo.conf
  421. <add HiSax driver parameter in the global section (see below)>
  422. lilo
  423. Your lilo.conf _might_ look like the following:
  424. # LILO configuration-file
  425. # global section
  426. # teles 16.0 on IRQ=5, MEM=0xd8000, PORT=0xd80
  427. append="hisax=1,3,5,0xd8000,0xd80,HiSax"
  428. # teles 16.3 (non pnp) on IRQ=15, PORT=0xd80
  429. # append="hisax=3,3,5,0xd8000,0xd80,HiSax"
  430. boot=/dev/sda
  431. compact # faster, but won't work on all systems.
  432. linear
  433. read-only
  434. prompt
  435. timeout=100
  436. vga = normal # force sane state
  437. # Linux bootable partition config begins
  438. image = /etc/kernel/linux.isdn
  439. root = /dev/sda1
  440. label = linux.isdn
  441. #
  442. image = /etc/kernel/linux-2.0.30
  443. root = /dev/sda1
  444. label = linux.secure
  445. In the line starting with "append" you have to adapt the parameters
  446. according to your card (see above in this file)
  447. 3. boot the new linux.isdn kernel
  448. 4. start the ISDN subsystem:
  449. a) load - if necessary - the modules (depends, whether you compiled
  450. the ISDN driver as module or not)
  451. According to the type of card you have to specify the necessary
  452. driver parameter (irq, io, mem, type, protocol).
  453. For the leased line the protocol is "3". See the table above for
  454. the parameters, which you have to specify depending on your card.
  455. b) configure i4l
  456. /sbin/isdnctrl addif isdn0
  457. # EAZ 1 -- B1 channel 2 --B2 channel
  458. /sbin/isdnctrl eaz isdn0 1
  459. /sbin/isdnctrl secure isdn0 on
  460. /sbin/isdnctrl huptimeout isdn0 0
  461. /sbin/isdnctrl l2_prot isdn0 hdlc
  462. # Attention you must not set an outgoing number !!! This won't work !!!
  463. # The incoming number is LEASED0 for the first card, LEASED1 for the
  464. # second and so on.
  465. /sbin/isdnctrl addphone isdn0 in LEASED0
  466. # Here is no need to bind the channel.
  467. c) in case the remote partner is a CISCO:
  468. /sbin/isdnctrl encap isdn0 cisco-h
  469. d) configure the interface
  470. /sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
  471. e) set the routes
  472. /sbin/route add -host ${REMOTE_IP} isdn0
  473. /sbin/route add default gw ${REMOTE_IP}
  474. f) switch the card into leased mode for each used B-channel
  475. /sbin/hisaxctrl HiSax 5 1
  476. Remarks:
  477. a) Use state of the art isdn4k-utils
  478. Here an example script:
  479. #!/bin/sh
  480. # Start/Stop ISDN leased line connection
  481. I4L_AS_MODULE=yes
  482. I4L_REMOTE_IS_CISCO=no
  483. I4L_MODULE_PARAMS="type=16 io=0x268 irq=7 "
  484. I4L_DEBUG=no
  485. I4L_LEASED_128K=yes
  486. LOCAL_IP=192.168.1.1
  487. REMOTE_IP=192.168.2.1
  488. case "$1" in
  489. start)
  490. echo "Starting ISDN ..."
  491. if [ ${I4L_AS_MODULE} = "yes" ]; then
  492. echo "loading modules..."
  493. /sbin/modprobe hisax ${I4L_MODULE_PARAMS}
  494. fi
  495. # configure interface
  496. /sbin/isdnctrl addif isdn0
  497. /sbin/isdnctrl secure isdn0 on
  498. if [ ${I4L_DEBUG} = "yes" ]; then
  499. /sbin/isdnctrl verbose 7
  500. /sbin/hisaxctrl HiSax 1 0xffff
  501. /sbin/hisaxctrl HiSax 11 0xff
  502. cat /dev/isdnctrl >/tmp/lea.log &
  503. fi
  504. if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
  505. /sbin/isdnctrl encap isdn0 cisco-h
  506. fi
  507. /sbin/isdnctrl huptimeout isdn0 0
  508. # B-CHANNEL 1
  509. /sbin/isdnctrl eaz isdn0 1
  510. /sbin/isdnctrl l2_prot isdn0 hdlc
  511. # 1. card
  512. /sbin/isdnctrl addphone isdn0 in LEASED0
  513. if [ ${I4L_LEASED_128K} = "yes" ]; then
  514. /sbin/isdnctrl addslave isdn0 isdn0s
  515. /sbin/isdnctrl secure isdn0s on
  516. /sbin/isdnctrl huptimeout isdn0s 0
  517. # B-CHANNEL 2
  518. /sbin/isdnctrl eaz isdn0s 2
  519. /sbin/isdnctrl l2_prot isdn0s hdlc
  520. # 1. card
  521. /sbin/isdnctrl addphone isdn0s in LEASED0
  522. if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
  523. /sbin/isdnctrl encap isdn0s cisco-h
  524. fi
  525. fi
  526. /sbin/isdnctrl dialmode isdn0 manual
  527. # configure tcp/ip
  528. /sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
  529. /sbin/route add -host ${REMOTE_IP} isdn0
  530. /sbin/route add default gw ${REMOTE_IP}
  531. # switch to leased mode
  532. # B-CHANNEL 1
  533. /sbin/hisaxctrl HiSax 5 1
  534. if [ ${I4L_LEASED_128K} = "yes" ]; then
  535. # B-CHANNEL 2
  536. sleep 10; /* Wait for master */
  537. /sbin/hisaxctrl HiSax 5 2
  538. fi
  539. ;;
  540. stop)
  541. /sbin/ifconfig isdn0 down
  542. /sbin/isdnctrl delif isdn0
  543. if [ ${I4L_DEBUG} = "yes" ]; then
  544. killall cat
  545. fi
  546. if [ ${I4L_AS_MODULE} = "yes" ]; then
  547. /sbin/rmmod hisax
  548. /sbin/rmmod isdn
  549. /sbin/rmmod ppp
  550. /sbin/rmmod slhc
  551. fi
  552. ;;
  553. *)
  554. echo "Usage: $0 {start|stop}"
  555. exit 1
  556. esac
  557. exit 0