Editorials - Howto use the HiSAX ISDN Driver


    This section is from Hisax.readme file found on the ISDN.tar, written by Karsten Keil.

    What is the HiSax Driver?
    HiSax is a Linux hardware-level driver for passive ISDN cards with Siemens chipset (ISAC_S 2085/2086/2186, HSCX SAB 82525). It is based on the Teles driver from Jan den Ouden. It is meant to be used with isdn4linux, an ISDN link-level module for Linux written by Fritz Elfert.

    Supported cards

      Teles 8.0/16.0/16.3 and compatible ones
      Teles 16.3c
      Teles S0/PCMCIA
      Teles PCI
      Teles S0Box
      Creatix S0Box
      Creatix PnP S0
      Compaq ISDN S0 ISA card
      AVM A1 (Fritz, Teledat 150)
      AVM Fritz PCMCIA
      AVM Fritz PnP
      AVM Fritz PCI
      ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
      ELSA Quickstep 1000
      ELSA Quickstep 1000PCI
      ELSA Quickstep 3000 (same settings as QS1000)
      ELSA Quickstep 3000PCI
      ELSA PCMCIA
      ITK ix1-micro Rev.2
      Eicon.Diehl Diva 2.0 ISA and PCI (S0 and U interface, no PRO version)
      Eicon.Diehl Diva Piccola
      ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
      Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
      PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
      HFC-2BS0 based cards (TeleInt SA1)
      Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
      Sedlbauer Speed Star/Speed Star2 (PCMCIA)
      Sedlbauer ISDN-Controller PC/104
      USR Sportster internal TA (compatible Stollmann tina-pp V3)
      ith Kommunikationstechnik GmbH MIC 16 ISA card
      Traverse Technologie NETjet PCI S0 card
      Dr. Neuhaus Niccy PnP/PCI

      Note:

        PCF, PCF-Pro: up to now, only the ISDN part is supported
        PCC-8: not tested yet
        Teles PCMCIA is EXPERIMENTAL
        Teles 16.3c is EXPERIMENTAL
        Teles PCI is EXPERIMENTAL
        Teles S0Box is EXPERIMENTAL
        Eicon.Diehl Diva U interface not tested

    If you know other passive cards with the Siemens chipset, please let me know. To use the PNP cards you need the isapnptools. You can combine any card, if there is no conflict between the ressources (io, mem, irq).

    Configuring the driver
    The HiSax driver can either be built directly into the kernel or as a module. It can be configured using the command line feature while loading the kernel with LILO or LOADLIN or, if built as a module, using insmod/modprobe with parameters. There is also some config needed before you compile the kernel and/or modules. It is included in the normal "make [menu]config" target at the kernel. Don't forget it, especially to select the right D-channel protocol.
    Please note: All PnP cards need to be configured with isapnp and will work only with the HiSax driver used as a module.

    a) when built as a module

      insmod/modprobe hisax.o \
      io=iobase irq=IRQ mem=membase type=card_type \
      protocol=D_channel_protocol id=idstring

    or, if several cards are installed:

      insmod/modprobe hisax.o \
      io=iobase1,iobase2,... irq=IRQ1,IRQ2,... mem=membase1,membase2,... \
      type=card_type1,card_type2,... \
      protocol=D_channel_protocol1,D_channel_protocol2,... \
      id=idstring1%idstring2 ...

    where "iobaseN" represents the I/O base address of the Nth card, "membaseN" the memory base address of the Nth card, etc.

    The reason for the delimiter "%" being used in the idstrings is that "," won't work with the current modules package.

    The parameters may be specified in any order. For example, the "io" parameter may precede the "irq" parameter, or vice versa. If several cards are installed, the ordering within the comma separated parameter lists must of course be consistent.

    Only parameters applicable to the card type need to be specified. For example, the Teles 16.3 card is not memory-mapped, so the "mem" parameter may be omitted for this card. Sometimes it may be necessary to specify a dummy parameter, however. This is the case when there is a card of a different type later in the list that needs a parameter which the preceding card does not. For instance, if a Teles 16.0 card is listed after a Teles 16.3 card, a dummy memory base parameter of 0 must be specified for the 16.3. Instead of a dummy value, the parameter can also be skipped by simply omitting the value.
    For example: mem=,0xd0000. See example 6 below.

    The parameter for the D-Channel protocol may be omitted if you selected the correct one during kernel config. Valid values are "1" for German 1TR6, "2" for EDSS1 (Euro ISDN) and "3" for leased lines (no D-Channel).

    The Creatix/Teles PnP cards use io1= and io2= instead of io= for specifying the I/O addresses of the ISAC and HSCX chips, respectively.

    Card types:

          Type                Required parameters (in addition to type and protocol)
      
          1   Teles 16.0               irq, mem, io
          2   Teles  8.0               irq, mem
          3   Teles 16.3 (non PnP)     irq, io
          4   Creatix/Teles PnP        irq, io0 (ISAC), io1 (HSCX)
          5   AVM A1 (Fritz)           irq, io
          6   ELSA PCC/PCF cards       io or nothing for autodetect (the iobase is
                                       required only if you have more than one ELSA
                                       card in your PC)
          7   ELSA Quickstep 1000      irq, io  (from isapnp setup)
          8   Teles 16.3 PCMCIA     	 irq, io
          9   ITK ix1-micro Rev.2      irq, io
         10   ELSA PCMCIA		 irq, io  (set with card manager)
         11   Eicon.Diehl Diva ISA PnP irq, io
         11   Eicon.Diehl Diva PCI     no parameter
         12   ASUS COM ISDNLink        irq, io  (from isapnp setup)
         13   HFC-2BS0 based cards     irq, io
         14   Teles 16.3c PnP          irq, io
         15   Sedlbauer Speed Card     irq, io
         15   Sedlbauer PC/104         irq, io
         15   Sedlbauer Speed PCI	 no parameter
         16   USR Sportster internal   irq, io
         17   MIC card                 irq, io
         18   ELSA Quickstep 1000PCI   no parameter
         19   Compaq ISDN S0 ISA card  irq, io0, io1, io (from isapnp setup io=IO2)
         20   NETjet PCI card          no parameter
         21   Teles PCI                no parameter
         22   Sedlbauer Speed Star (PCMCIA) irq, io (set with card manager)
         24   Dr. Neuhaus Niccy PnP    irq, io0, io1 (from isapnp setup)
         24   Dr. Neuhaus Niccy PCI    no parameter
         25   Teles S0Box              irq, io (of the used lpt port)
         26   AVM A1 PCMCIA (Fritz!)   irq, io (set with card manager)
         27   AVM PnP (Fritz!PnP)      irq, io  (from isapnp setup)
         27   AVM PCI (Fritz!PCI)      no parameter
         28   Sedlbauer Speed Fax+     irq, io (from isapnp setup)
      
      

    At the moment IRQ sharing is only possible with PCI cards. Please make sure that your IRQ is free and enabled for ISA use.

    Examples for module loading:

      1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10

        modprobe hisax type=3 protocol=2 io=0x280 irq=10

      2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex

        modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5

      3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN

        modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa

      4. Any ELSA PCC/PCF card, Euro ISDN

        modprobe hisax type=6 protocol=2

      5. Teles 16.3 PnP, Euro ISDN, with isapnp configured

      isapnp config:

        (INT 0 (IRQ 10 (MODE +E)))
        (IO 0 (BASE 0x0580))
        (IO 1 (BASE 0x0180))

      modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180

      6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex

        modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000

        Please note the dummy 0 memory address for the Teles 16.3, used as a
        placeholder as described above, in the last example.

      7. Teles PCMCIA, Euro ISDN, I/O base 180 hex, IRQ 15 (default values)

        modprobe hisax type=8 protocol=2 io=0x180 irq=15


    b) using LILO/LOADLIN, with the driver compiled directly into the kernel

    hisax=typ1,dp1,pa_1,pb_1,pc_1[,typ2,dp2,pa_2 ... \
    typn,dpn,pa_n,pb_n,pc_n][,idstring1[,idstring2,...,idstringn]]

    where

      typ1 = type of 1st card (default depends on kernel settings)
      dp1 = D-Channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
      pa_1 = 1st parameter (depending on the type of the card)
      pb_1 = 2nd parameter ( " " " " " " " )
      pc_1 = 3rd parameter ( " " " " " " " )

      typ2,dp2,pa_2,pb_2,pc_2 = Parameters of the second card (defaults: none)
      typn,dpn,pa_n,pb_n,pc_n = Parameters of the n'th card (up to 16 cards are supported)

      idstring = Driver ID for accessing the particular card with utility programs and for identification when using a line monitor (default: "HiSax")

      Note: the ID string must start with an alphabetical character!

    Card types:

      type
      
          1   Teles 16.0     	        pa=irq  pb=membase  pc=iobase
          2 	Teles  8.0              pa=irq  pb=membase
          3 	Teles 16.3              pa=irq  pb=iobase
          4 	Creatix/Teles PNP     	ONLY WORKS AS A MODULE !
          5 	AVM A1 (Fritz)          pa=irq  pb=iobase
          6 	ELSA PCC/PCF cards      pa=iobase or nothing for autodetect
          7   ELSA Quickstep 1000     ONLY WORKS AS A MODULE !
          8   Teles S0 PCMCIA         pa=irq  pb=iobase
          9   ITK ix1-micro Rev.2     pa=irq  pb=iobase
         10   ELSA PCMCIA             pa=irq, pb=io  (set with card manager)
         11   Eicon.Diehl Diva ISAPnP ONLY WORKS AS A MODULE !
         11   Eicon.Diehl Diva PCI    no parameter
         12   ASUS COM ISDNLink       ONLY WORKS AS A MODULE !
         13	HFC-2BS0 based cards    pa=irq  pb=io
         14   Teles 16.3c PnP         ONLY WORKS AS A MODULE !
         15	Sedlbauer Speed Card    pa=irq  pb=io (Speed Win only as module !)
         15   Sedlbauer PC/104        pa=irq  pb=io
         15   Sedlbauer Speed PCI	no parameter
         16   USR Sportster internal  pa=irq  pb=io
         17   MIC card                pa=irq  pb=io
         18   ELSA Quickstep 1000PCI  no parameter
         19   Compaq ISDN S0 ISA card ONLY WORKS AS A MODULE !
         20   NETjet PCI card         no parameter
         21   Teles PCI               no parameter
         22   Sedlbauer Speed Star (PCMCIA)  pa=irq, pb=io  (set with card manager)
         24   Dr. Neuhaus Niccy PnP   ONLY WORKS AS A MODULE !
         24   Dr. Neuhaus Niccy PCI   no parameter
         25   Teles S0Box             irq, io (of the used lpt port)
         26   AVM A1 PCMCIA (Fritz!)  irq, io (set with card manager)
         27   AVM PnP (Fritz!PnP)     ONLY WORKS AS A MODULE !
         27   AVM PCI (Fritz!PCI)     no parameter
         28   Sedlbauer Speed Fax+    ONLY WORKS AS A MODULE !
      


    Running the driver
    When you insmod isdn.o and hisax.o (or with the in-kernel version, during boot time), a few lines should appear in your syslog. Look for something like:

    Apr 13 21:01:59 kke01 kernel: HiSax: Driver for Siemens chip set ISDN cards
    Apr 13 21:01:59 kke01 kernel: HiSax: Version 2.9
    Apr 13 21:01:59 kke01 kernel: HiSax: Revisions 1.14/1.9/1.10/1.25/1.8
    Apr 13 21:01:59 kke01 kernel: HiSax: Total 1 card defined
    Apr 13 21:01:59 kke01 kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax1 (0)
    Apr 13 21:01:59 kke01 kernel: HiSax: Elsa driver Rev. 1.13
    ...
    Apr 13 21:01:59 kke01 kernel: Elsa: PCF-Pro found at 0x360 Rev.:C IRQ 10
    Apr 13 21:01:59 kke01 kernel: Elsa: timer OK; resetting card
    Apr 13 21:01:59 kke01 kernel: Elsa: HSCX version A: V2.1 B: V2.1
    Apr 13 21:01:59 kke01 kernel: Elsa: ISAC 2086/2186 V1.1
    ...
    Apr 13 21:01:59 kke01 kernel: HiSax: DSS1 Rev. 1.14
    Apr 13 21:01:59 kke01 kernel: HiSax: 2 channels added

    This means that the card is ready for use.
    Cabling problems or line-downs are not detected, and only some ELSA cards can detect the S0 power.

    Remember that, according to the new strategy for accessing low-level drivers from within isdn4linux, you should also define a driver ID while doing insmod: Simply append hisax_id=<SomeString> to the insmod command line. This string MUST NOT start with a digit or a small 'x'!

    At this point you can run a 'cat /dev/isdnctrl0' and view debugging messages.

    At the moment, debugging messages are enabled with the hisaxctrl tool:

      hisaxctrl <DriverId> DebugCmd <debugging_flags>

    <DriverId> default is HiSax, if you didn't specify one.

    DebugCmd is:


      1 for generic debugging
      11 for layer 1 development debugging
      13 for layer 3 development debugging

    where <debugging_flags> is the integer sum of the following debugging options you wish enabled:

    With DebugCmd set to 1:

      0x0001 Link-level <--> hardware-level communication
      0x0002 Top state machine
      0x0004 D-Channel Frames for isdnlog
      0x0008 D-Channel Q.921
      0x0010 B-Channel X.75
      0x0020 D-Channel l2
      0x0040 B-Channel l2
      0x0080 D-Channel link state debugging
      0x0100 B-Channel link state debugging
      0x0200 TEI debug
      0x0400 LOCK debug in callc.c
      0x0800 More paranoid debug in callc.c (not for normal use)
      0x1000 D-Channel l1 state debugging
      0x2000 B-Channel l1 state debugging

    With DebugCmd set to 11:

      0x0001 Warnings (default: on)
      0x0002 IRQ status
      0x0004 ISAC
      0x0008 ISAC FIFO
      0x0010 HSCX
      0x0020 HSCX FIFO (attention: full B-Channel output!)
      0x0040 D-Channel LAPD frame types
      0x0080 IPAC debug
      0x0100 HFC receive debug
      0x0200 ISAC monitor debug
      0x0400 D-Channel frames for isdnlog (set with 1 0x4 too)
      0x0800 D-Channel message verbose

    With DebugCmd set to 13:

      1 Warnings (default: on)
      2 l3 protocol descriptor errors
      4 l3 state machine
      8 charge info debugging (1TR6)

    For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging.

    Because of some obscure problems with some switch equipment, the delay between the CONNECT message and sending the first data on the B-channel is now configurable with
    hisaxctrl <DriverId> 2 <delay> <delay> in ms Value between 50 and 800 ms is recommended.

    Downloading Firmware
    At the moment, the Sedlbauer speed fax+ is the only card, which needs to download firmware.
    The firmware is downloaded with the hisaxctrl tool:

      hisaxctrl <DriverId> 9 <firmware_filename>

    <DriverId> default is HiSax, if you didn't specify one, where <firmware_filename> is the filename of the firmware file.

    For example, 'hisaxctrl HiSax 9 ISAR.BIN' downloads the firmware for ISAR based cards (like the Sedlbauer speed fax+).

    Warning
    HiSax is a work in progress and may crash your machine. For certification look at HiSax.cert file.

    Limitations
    At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.

    Editorial Converted to HTML by: [MIA]


Main - Books - Editorials - Linux & Unix Links - Tutorials - X Window Managers - FTP
Distributions - Gimp - Perl - About Us - Sitemap - Mail Us! - Security - Linux Vs. NT - What's New?

Created By [MIA], November 16, 1998 ,Copyright © LinuxPowered.com 1998-1999
Last Modified  February 20, 1999