home *** CD-ROM | disk | FTP | other *** search
- 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.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
- Supported cards
- ---------------
-
- Teles 8.0/16.0/16.3 and compatible ones
- Teles S0/PCMCIA
- Creatix PnP S0
- AVM A1 (Fritz)
- ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
- ELSA Quickstep 1000
- ELSA PCMCIA
- ITK ix1-micro Rev.2
-
- Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
- PCC-8: not tested yet
- Teles PCMCIA is EXPERIMENTAL
-
- 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), with one exception: The ELSA PCMCIA cannot work with an other
- non PCMCIA ELSA card at the same time. You cannot select ELSA ISA and ELSA
- PCMCIA support at the same time during kernel config.
-
-
- 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 enclose 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)
- 7 ELSA PCMCIA irq, io (set with card manager)
- 8 Teles 16.3 PCMCIA irq, io
- 9 ITK ix1-micro Rev.2 irq, io
-
- At the moment IRQ sharing is not possible. Please make sure that your IRQ
- is free and enabled for ISA use.
- Note: For using the ELSA PCMCIA you need the cardmanager under MSDOS for
- enabling in the moment, then boot linux with loadlin.
-
-
- 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 !
- 7 ELSA PCMCIA irq, io (set with card manager)
- 8 Teles S0 PCMCIA pa=irq pb=iobase
- 9 ITK ix1-micro Rev.2 pa=irq pb=iobase
-
-
- 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.1
- 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 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 telesctrl tool:
-
- telesctrl <DriverId> DebugCmd <debugging_flags>
-
- <DriverId> default is HiSax, if you didn't specified 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:
-
- 1 Link-level <--> hardware-level communication
- 2 Top state machine
- 4 D-Channel Q.931 (call control messages)
- 8 D-Channel Q.921
- 16 B-Channel X.75
- 32 D-Channel l2
- 64 B-Channel l2
- 128 D-Channel link state debugging
- 256 B-Channel link state debugging
- 512 TEI debug
- 1024 LOCK debug in callc.c
- 2048 More paranoid debug in callc.c (not for normal use)
-
- With DebugCmd set to 11:
-
- 1 Warnings (default: on)
- 2 IRQ status
- 4 ISAC
- 8 ISAC FIFO
- 16 HSCX
- 32 HSCX FIFO (attention: full B-Channel output!)
- 64 D-Channel LAPD frame types
-
- With DebugCmd set to 13:
-
- 1 Warnings (default: on)
- 2 l3 protocol discriptor errors
- 4 l3 state machine
- 8 charge info debugging (1TR6)
-
- For example, 'telesctrl HiSax 1 0x3ff' enables full generic debugging.
-
-
- Warning
- -------
- HiSax is a work in progress and may crash your machine. It has not been
- certified and therefore operation on your PTT's ISDN network is probably
- illegal.
-
-
- Limitations
- -----------
- At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.
-
-
- Bugs
- ----
- If you find any, please let me know.
-
-
- Thanks
- ------
- Special thanks to:
-
- Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
-
- Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
- Andreas Kool, Pekka Sarnila, Sim Yskes, Johan Myrre'en,
- Klaus-Peter Nischke (ITK AG), Christof Petig, Werner Fehn (ELSA GmbH),
- Volker Schmidt
- and more people who are hunting bugs. (If I forgot somebody, please
- send me a mail).
-
- Firma ELSA GmbH
-
- My girl friend and partner in life Ute for her patience with me.
-
-
- Enjoy,
-
- Karsten Keil
- keil@temic-ech.spacenet.de
-
-
- Appendix: Teles PCMCIA driver
- -----------------------------
-
- See
- http://www.stud.uni-wuppertal.de/~ea0141/pcmcia.html
- for instructions.
-