patch-2.1.42 linux/Documentation/isdn/README.HiSax
Next file: linux/Documentation/isdn/README.audio
Previous file: linux/Documentation/isdn/README
Back to the patch index
Back to the overall index
- Lines: 469
- Date:
Wed May 28 10:49:07 1997
- Orig file:
v2.1.41/linux/Documentation/isdn/README.HiSax
- Orig date:
Thu Feb 27 10:57:29 1997
diff -u --recursive --new-file v2.1.41/linux/Documentation/isdn/README.HiSax linux/Documentation/isdn/README.HiSax
@@ -1,7 +1,7 @@
-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
+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
+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
@@ -19,37 +19,46 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-Supported Cards
+Supported cards
---------------
-Teles 8.0/16.0/16.3 and compatible
+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 Microlink PCC-16, PCF, PCF-Pro, PCC-8
ELSA Quickstep 1000
+ELSA PCMCIA
ITK ix1-micro Rev.2
-Note: PCF PCF-Pro only the ISDN part is supported yet
- PCC-8 not tested yet
+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
+Configuring the driver
----------------------
-The driver can be build direct into the kernel or as module.
-The HiSax driver 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.
-Please note: All PnP cards need config with isapnp and will work only as
-module.
+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.
-As Module
----------
+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 \
@@ -58,37 +67,38 @@
or, if several cards are installed:
insmod/modprobe hisax.o \
- io=iobase1,iobase2,... mem=membase1,membase2,... \
+ 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 = io base address of the Nth card, membaseN = memory
-base address of the Nth card, etc.
-The reason for the delimiter "%" in the idstrings is that "," won't
-work with the current modules package.
-
-The parameters can be specified in any order. For example, the io
-parameter can precede the irq parameter, or vice versa. If several
-cards are installed the ordering within the comma separated parameter
-lists must be consistent, of course.
-
-Only parameters applicable to the card type need be specified. For
-example, the Teles 16.3 card is not memory mapped, so the mem
-parameter may be omitted for a Teles 16.3. Sometimes it is necessary
+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 mem=0 parameter 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:
+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 protocol parameter for the D-channel may be omittedprotocol may be
-omitted, if you select the correct one during kernel config.
-Valid values are 1 for german 1TR6, 2 for DSS1 (EURO) and 3 for leased lines
-(no D-channel).
-The Creatix/Teles PnP cards uses io1= and io2= instead of io= for specifying
+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:
@@ -101,14 +111,18 @@
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
- only required, if you have more than one ELSA
+ 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
@@ -121,133 +135,143 @@
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
+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 io0=0x580 io1=0x180
+ 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 in the last
- example as placeholder.
+ 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 180 hex IRQ 15 (default values)
+7. Teles PCMCIA, Euro ISDN, I/O base 180 hex, IRQ 15 (default values)
modprobe hisax type=8 protocol=2 io=0x180 irq=15
-LILO/LOADLIN with driver compiled direct into the kernel:
+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 = Cardtype of 1st card. (default: depends on kernel settings)
- dp1 = D-channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
- pa_1 = 1. parameter (depend on the cardtype)
- pb_1 = 2. parameter (depend on the cardtype)
- pc_1 = 3. parameter (depend on the cardtype)
-
- typ2,dp2,pa_2,pb_2,pc_2 = Parameters of second card (defaults: none)
- typn,dpn,pa_n,pb_n,pc_n = Parameters of n'th card (up to 16 cards are supported)
-
- idstring = Driver-Id for accessing with utilities and identification
- when using a Line-monitor. (default: HiSax)
- idstring must start with a character!
+ 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:
- typ
+ 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 WORK AS MODULE !
+ 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 WORK AS MODULE !
+ 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
--------
+Running the driver
+------------------
-When you insmod isdn.o and hisax.o (or with the kernel-version, during
-boottime) a few lines should appear in your syslog. Look for something like:
+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:
-Oct 13 20:46:39 kke01 kernel: ISDN subsystem Rev: 1.23/1.21/1.18/1.13/none loaded
-Oct 13 20:46:41 kke01 kernel: HiSax: Driver for Siemens Chipset ISDN cards
-Oct 13 20:46:41 kke01 kernel: HiSax: Revision (1.3)
-Oct 13 20:46:41 kke01 kernel: HiSax: Total 1 card defined
-Oct 13 20:46:41 kke01 kernel: HiSax: Card 1 Protocol EDSS1
+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
...
-Oct 13 20:46:41 kke01 kernel: Elsa: PCC16 found at 0x360 Rev.:B IRQ 9
+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
...
-Oct 13 20:46:41 kke01 kernel: HiSax: 2 channels available
-Oct 13 20:46:41 kke01 kernel: HiSax: module installed
+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, ELSA can detect the
-S0 power.
+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-commandline. This
+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.
-In the moment debugging messages are enabled with the telesctrl tool :
- telesctrl <DriverId> DebugCmd <debugging_flags>
+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 Debug
- 11 for Layer 1 development Debug
- 13 for Layer 3 development Debug
+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 1 is
+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 debug
- 256 B-Channel link state debug
- 512 Tei debug
+ 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 11 is
+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
+ 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 13 is
+With DebugCmd set to 13:
- 1 Warnings (default on)
+ 1 Warnings (default: on)
2 l3 protocol discriptor errors
- 4 l3 stat machine
- 8 charge info debug (1TR6)
-
-For example 'telesctrl HiSax 1 0x3ff' enables full generic debugging.
+ 4 l3 state machine
+ 8 charge info debugging (1TR6)
+For example, 'telesctrl HiSax 1 0x3ff' enables full generic debugging.
Warning
@@ -256,13 +280,16 @@
certified and therefore operation on your PTT's ISDN network is probably
illegal.
+
Limitations
-----------
-HiSax only works on Euro ISDN lines and german 1TR6-lines.(in this time)
+At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.
+
Bugs
----
-If you find any please let me know.
+If you find any, please let me know.
+
Thanks
------
@@ -270,16 +297,16 @@
Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
- Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
+ 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),
+ 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
+ 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
+ My girl friend and partner in life Ute for her patience with me.
Enjoy,
@@ -287,57 +314,10 @@
Karsten Keil
keil@temic-ech.spacenet.de
-Appendix: PCMCIA driver
------------------------
-Up to now, the Teles PCMCIA driver is a complete hack. I had no
-documentation about the card - it might destroy your hardware (though mine
-at last works fine).
-
-Second I'm working on a module for linux pcmcia services, this version
-clearly assumes some (unrealistic) facts about your hardware:
- - you MUST have an i82365
- - Teles PCMCIA MUST be in slot 0 (the upper one) and the ONLY card
- (since you can't use cardmgr, there's no use for a second one)
- - ports 0x180-0x1e0 must be free, it uses IRQ 15
-
-The following program will initialize the PCMCIA chip to the values I probed
-inside Windows95 (native Teles driver).
-
-------------------telesinit.c-----------------------------------------
-/* telesinit.c, compile with
- * gcc -O -o telesinit telesinit.c
- */
-#include <asm/io.h>
-#define inportb(x) inb(x)
-#define outportb(x,v) outb(v,x)
-#define BASE 0x180
-#define NUM 97
-#define CARD 0x3e0
-#define i365(x) ( outportb(CARD,x), inportb(CARD+1) )
-#define i365w(x,y) ( outportb(CARD,x), outportb(CARD+1,y) )
-
-void main(int argc,char **argv)
-{ int i;
- static unsigned char i365_cont[]=
- { 0x83,0x7f,0xf5,0x6f, 0x00,0x08,0x60,0x00,
- 0x80,0x01,0xe0,0x01, 0xff,0xff,0xff,0xff,
- 0xd0,0x00,0xd0,0x00, 0x30,0x7f,0x00,0x0f,
- 0xff,0x07,0xff,0x07, 0x00,0x00,0x00,0xff
- };
-
- ioperm(BASE,NUM,1); ioperm(CARD,2,1);
- for (i=0;i<32;i++)
- { if (i365_cont[i]==i365(i)) continue;
- outportb(CARD+1,i365_cont[i]);
- }
-
- outportb(BASE+0x18,0x41);
- /* enable the teles card and its IRQ */
- /* this was found by brute force */
-}
-------------------------------------------------------------------------
+Appendix: Teles PCMCIA driver
+-----------------------------
-If you want to wait for the PCMCIA services driver ... I finish my diploma
-about end of February 1997 ... please be patient with me
- Christof Petig (ea0141@uni-wuppertal.de)
+See
+ http://www.stud.uni-wuppertal.de/~ea0141/pcmcia.html
+for instructions.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov