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