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

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