patch-2.1.27 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: 344
- Date:
Tue Feb 25 17:12:49 1997
- Orig file:
v2.1.26/linux/Documentation/isdn/README.HiSax
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.1.26/linux/Documentation/isdn/README.HiSax linux/Documentation/isdn/README.HiSax
@@ -0,0 +1,343 @@
+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
+Teles S0/PCMCIA
+Creatix PnP S0
+AVM A1 (Fritz)
+ELSA Microlink PCC-16 PCF PCF-Pro PCC-8
+ELSA Quickstep 1000
+ITK ix1-micro Rev.2
+
+Note: PCF PCF-Pro only the ISDN part is supported yet
+ 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.
+
+
+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.
+
+As 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,... 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
+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:
+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 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
+ only required, 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
+
+At the moment IRQ sharing is not possible. 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 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.
+
+7. Teles PCMCIA EURO 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:
+
+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!
+
+Card types:
+
+ typ
+ 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 !
+ 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 !
+ 8 Teles S0 PCMCIA pa=irq pb=iobase
+ 9 ITK ix1-micro Rev.2 pa=irq pb=iobase
+
+
+Running
+-------
+
+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:
+
+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
+...
+Oct 13 20:46:41 kke01 kernel: Elsa: PCC16 found at 0x360 Rev.:B IRQ 9
+...
+Oct 13 20:46:41 kke01 kernel: HiSax: 2 channels available
+Oct 13 20:46:41 kke01 kernel: HiSax: module installed
+
+This means that the card is ready for use.
+Cabling problems or line downs are not detected, ELSA 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
+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>
+
+<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
+
+where <debugging_flags> is the integer sum of the following debugging
+options you wish enabled:
+
+With DebugCmd 1 is
+
+ 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
+ 1024 LOCK debug in callc.c
+
+With DebugCmd 11 is
+
+ 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
+
+ 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.
+
+
+
+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
+-----------
+HiSax only works on Euro ISDN lines and german 1TR6-lines.(in this time)
+
+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: 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 */
+}
+------------------------------------------------------------------------
+
+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)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov