mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
0ea6e61122
Below you will find an updated version from the original series bunching all patches into one big patch updating broken web addresses that are located in Documentation/* Some of the addresses date as far far back as 1995 etc... so searching became a bit difficult, the best way to deal with these is to use web.archive.org to locate these addresses that are outdated. Now there are also some addresses pointing to .spec files some are located, but some(after searching on the companies site)where still no where to be found. In this case I just changed the address to the company site this way the users can contact the company and they can locate them for the users. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Thomas Weber <weber@corscience.de> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Cc: Paulo Marques <pmarques@grupopie.com> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Michael Neuling <mikey@neuling.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
660 lines
23 KiB
Plaintext
660 lines
23 KiB
Plaintext
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 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 Diva 2.0 ISA and PCI (S0 and U interface, no PRO version)
|
|
Eicon Diva 2.01 ISA and PCI
|
|
Eicon Diva 2.02 PCI
|
|
Eicon 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)
|
|
USR internal TA PCI
|
|
ith Kommunikationstechnik GmbH MIC 16 ISA card
|
|
Traverse Technologie NETjet PCI S0 card and NETspider U card
|
|
Ovislink ISDN sc100-p card (NETjet driver)
|
|
Dr. Neuhaus Niccy PnP/PCI
|
|
Siemens I-Surf 1.0
|
|
Siemens I-Surf 2.0 (with IPAC, try type 12 asuscom)
|
|
ACER P10
|
|
HST Saphir
|
|
Berkom Telekom A4T
|
|
Scitel Quadro
|
|
Gazel ISDN cards
|
|
HFC-PCI based cards
|
|
Winbond W6692 based cards
|
|
HFC-S+, HFC-SP/PCMCIA cards
|
|
formula-n enternow
|
|
Gerdes Power ISDN
|
|
|
|
Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
|
|
PCC-8: not tested yet
|
|
Eicon.Diehl Diva U interface not tested
|
|
|
|
If you know other passive cards with the Siemens chipset, please let me know.
|
|
You can combine any card, if there is no conflict between the resources
|
|
(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: In older versions of the HiSax driver, all PnP cards
|
|
needed to be configured with isapnp and worked only with the HiSax
|
|
driver used as a module.
|
|
|
|
In the current version, HiSax will automatically use the in-kernel
|
|
ISAPnP support, provided you selected it during kernel configuration
|
|
(CONFIG_ISAPNP), if you don't give the io=, irq= command line parameters.
|
|
|
|
The affected card types are: 4,7,12,14,19,27-30
|
|
|
|
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), "3" for leased lines (no D-Channel) and "4"
|
|
for US NI1.
|
|
With US NI1 you have to include your SPID into the MSN setting in the form
|
|
<MSN>:<SPID> for example (your phonenumber is 1234 your SPID 5678):
|
|
AT&E1234:5678 on ttyI interfaces
|
|
isdnctrl eaz ippp0 1234:5678 on network devices
|
|
|
|
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)
|
|
29 Siemens I-Surf 1.0 irq, io, memory (from isapnp setup)
|
|
30 ACER P10 irq, io (from isapnp setup)
|
|
31 HST Saphir irq, io
|
|
32 Telekom A4T none
|
|
33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
|
|
34 Gazel ISDN cards (ISA) irq,io
|
|
34 Gazel ISDN cards (PCI) none
|
|
35 HFC 2BDS0 PCI none
|
|
36 W6692 based PCI cards none
|
|
37 HFC 2BDS0 S+, SP irq,io
|
|
38 NETspider U PCI card none
|
|
39 HFC 2BDS0 SP/PCMCIA irq,io (set with cardmgr)
|
|
40 hotplug interface
|
|
41 Formula-n enter:now PCI none
|
|
|
|
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
|
|
|
|
In the current version of HiSax, you can instead simply use
|
|
|
|
modprobe hisax type=4 protocol=2
|
|
|
|
if you configured your kernel for ISAPnP. Don't run isapnp in
|
|
this case!
|
|
|
|
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 pa=irq, pb=io (of the used lpt port)
|
|
26 AVM A1 PCMCIA (Fritz!) pa=irq, pb=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 !
|
|
29 Siemens I-Surf 1.0 ONLY WORKS AS A MODULE !
|
|
30 ACER P10 ONLY WORKS AS A MODULE !
|
|
31 HST Saphir pa=irq, pb=io
|
|
32 Telekom A4T no parameter
|
|
33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
|
|
34 Gazel ISDN cards (ISA) pa=irq, pb=io
|
|
34 Gazel ISDN cards (PCI) no parameter
|
|
35 HFC 2BDS0 PCI no parameter
|
|
36 W6692 based PCI cards none
|
|
37 HFC 2BDS0 S+,SP/PCMCIA ONLY WORKS AS A MODULE !
|
|
38 NETspider U PCI card none
|
|
39 HFC 2BDS0 SP/PCMCIA ONLY WORKS AS A MODULE !
|
|
40 hotplug interface ONLY WORKS AS A MODULE !
|
|
41 Formula-n enter:now PCI none
|
|
|
|
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.
|
|
For leased lines see appendix.
|
|
|
|
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
|
|
Edgar Toernig and Marcus Niemann for the Sedlbauer driver
|
|
Stephan von Krawczynski
|
|
Juergen Quade for the Leased Line part
|
|
Klaus Lichtenwalder (Klaus.Lichtenwalder@WebForum.DE), for ELSA PCMCIA support
|
|
Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff
|
|
Ton van Rosmalen for Teles PCI
|
|
Petr Novak <petr.novak@i.cz> for Winbond W6692 support
|
|
Werner Cornelius <werner@isdn4linux.de> for HFC-PCI, HFC-S(+/P) and supplementary services support
|
|
and more people who are hunting bugs. (If I forgot somebody, please
|
|
send me a mail).
|
|
|
|
Firma ELSA GmbH
|
|
Firma Eicon.Diehl GmbH
|
|
Firma Dynalink NL
|
|
Firma ASUSCOM NETWORK INC. Taiwan
|
|
Firma S.u.S.E
|
|
Firma ith Kommunikationstechnik GmbH
|
|
Firma Traverse Technologie Australia
|
|
Firma Medusa GmbH (www.medusa.de).
|
|
Firma Quant-X Austria for sponsoring a DEC Alpha board+CPU
|
|
Firma Cologne Chip Designs GmbH
|
|
|
|
My girl friend and partner in life Ute for her patience with me.
|
|
|
|
|
|
Enjoy,
|
|
|
|
Karsten Keil
|
|
keil@isdn4linux.de
|
|
|
|
|
|
Appendix: Teles PCMCIA driver
|
|
-----------------------------
|
|
|
|
See
|
|
http://www.linux.no/teles_cs.txt
|
|
for instructions.
|
|
|
|
Appendix: Linux and ISDN-leased lines
|
|
-------------------------------------
|
|
|
|
Original from Juergen Quade, new version KKe.
|
|
|
|
Attention NEW VERSION, the old leased line syntax won't work !!!
|
|
|
|
You can use HiSax to connect your Linux-Box via an ISDN leased line
|
|
to e.g. the Internet:
|
|
|
|
1. Build a kernel which includes the HiSax driver either as a module
|
|
or as part of the kernel.
|
|
cd /usr/src/linux
|
|
make menuconfig
|
|
<ISDN subsystem - ISDN support -- HiSax>
|
|
make clean; make zImage; make modules; make modules_install
|
|
2. Install the new kernel
|
|
cp /usr/src/linux/arch/i386/boot/zImage /etc/kernel/linux.isdn
|
|
vi /etc/lilo.conf
|
|
<add new kernel in the bootable image section>
|
|
lilo
|
|
3. in case the hisax driver is a "fixed" part of the kernel, configure
|
|
the driver with lilo:
|
|
vi /etc/lilo.conf
|
|
<add HiSax driver parameter in the global section (see below)>
|
|
lilo
|
|
Your lilo.conf _might_ look like the following:
|
|
|
|
# LILO configuration-file
|
|
# global section
|
|
# teles 16.0 on IRQ=5, MEM=0xd8000, PORT=0xd80
|
|
append="hisax=1,3,5,0xd8000,0xd80,HiSax"
|
|
# teles 16.3 (non pnp) on IRQ=15, PORT=0xd80
|
|
# append="hisax=3,3,5,0xd8000,0xd80,HiSax"
|
|
boot=/dev/sda
|
|
compact # faster, but won't work on all systems.
|
|
linear
|
|
read-only
|
|
prompt
|
|
timeout=100
|
|
vga = normal # force sane state
|
|
# Linux bootable partition config begins
|
|
image = /etc/kernel/linux.isdn
|
|
root = /dev/sda1
|
|
label = linux.isdn
|
|
#
|
|
image = /etc/kernel/linux-2.0.30
|
|
root = /dev/sda1
|
|
label = linux.secure
|
|
|
|
In the line starting with "append" you have to adapt the parameters
|
|
according to your card (see above in this file)
|
|
|
|
3. boot the new linux.isdn kernel
|
|
4. start the ISDN subsystem:
|
|
a) load - if necessary - the modules (depends, whether you compiled
|
|
the ISDN driver as module or not)
|
|
According to the type of card you have to specify the necessary
|
|
driver parameter (irq, io, mem, type, protocol).
|
|
For the leased line the protocol is "3". See the table above for
|
|
the parameters, which you have to specify depending on your card.
|
|
b) configure i4l
|
|
/sbin/isdnctrl addif isdn0
|
|
# EAZ 1 -- B1 channel 2 --B2 channel
|
|
/sbin/isdnctrl eaz isdn0 1
|
|
/sbin/isdnctrl secure isdn0 on
|
|
/sbin/isdnctrl huptimeout isdn0 0
|
|
/sbin/isdnctrl l2_prot isdn0 hdlc
|
|
# Attention you must not set an outgoing number !!! This won't work !!!
|
|
# The incoming number is LEASED0 for the first card, LEASED1 for the
|
|
# second and so on.
|
|
/sbin/isdnctrl addphone isdn0 in LEASED0
|
|
# Here is no need to bind the channel.
|
|
c) in case the remote partner is a CISCO:
|
|
/sbin/isdnctrl encap isdn0 cisco-h
|
|
d) configure the interface
|
|
/sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
|
|
e) set the routes
|
|
/sbin/route add -host ${REMOTE_IP} isdn0
|
|
/sbin/route add default gw ${REMOTE_IP}
|
|
f) switch the card into leased mode for each used B-channel
|
|
/sbin/hisaxctrl HiSax 5 1
|
|
|
|
Remarks:
|
|
a) Use state of the art isdn4k-utils
|
|
|
|
Here an example script:
|
|
#!/bin/sh
|
|
# Start/Stop ISDN leased line connection
|
|
|
|
I4L_AS_MODULE=yes
|
|
I4L_REMOTE_IS_CISCO=no
|
|
I4L_MODULE_PARAMS="type=16 io=0x268 irq=7 "
|
|
I4L_DEBUG=no
|
|
I4L_LEASED_128K=yes
|
|
LOCAL_IP=192.168.1.1
|
|
REMOTE_IP=192.168.2.1
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting ISDN ..."
|
|
if [ ${I4L_AS_MODULE} = "yes" ]; then
|
|
echo "loading modules..."
|
|
/sbin/modprobe hisax ${I4L_MODULE_PARAMS}
|
|
fi
|
|
# configure interface
|
|
/sbin/isdnctrl addif isdn0
|
|
/sbin/isdnctrl secure isdn0 on
|
|
if [ ${I4L_DEBUG} = "yes" ]; then
|
|
/sbin/isdnctrl verbose 7
|
|
/sbin/hisaxctrl HiSax 1 0xffff
|
|
/sbin/hisaxctrl HiSax 11 0xff
|
|
cat /dev/isdnctrl >/tmp/lea.log &
|
|
fi
|
|
if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
|
|
/sbin/isdnctrl encap isdn0 cisco-h
|
|
fi
|
|
/sbin/isdnctrl huptimeout isdn0 0
|
|
# B-CHANNEL 1
|
|
/sbin/isdnctrl eaz isdn0 1
|
|
/sbin/isdnctrl l2_prot isdn0 hdlc
|
|
# 1. card
|
|
/sbin/isdnctrl addphone isdn0 in LEASED0
|
|
if [ ${I4L_LEASED_128K} = "yes" ]; then
|
|
/sbin/isdnctrl addslave isdn0 isdn0s
|
|
/sbin/isdnctrl secure isdn0s on
|
|
/sbin/isdnctrl huptimeout isdn0s 0
|
|
# B-CHANNEL 2
|
|
/sbin/isdnctrl eaz isdn0s 2
|
|
/sbin/isdnctrl l2_prot isdn0s hdlc
|
|
# 1. card
|
|
/sbin/isdnctrl addphone isdn0s in LEASED0
|
|
if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
|
|
/sbin/isdnctrl encap isdn0s cisco-h
|
|
fi
|
|
fi
|
|
/sbin/isdnctrl dialmode isdn0 manual
|
|
# configure tcp/ip
|
|
/sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
|
|
/sbin/route add -host ${REMOTE_IP} isdn0
|
|
/sbin/route add default gw ${REMOTE_IP}
|
|
# switch to leased mode
|
|
# B-CHANNEL 1
|
|
/sbin/hisaxctrl HiSax 5 1
|
|
if [ ${I4L_LEASED_128K} = "yes" ]; then
|
|
# B-CHANNEL 2
|
|
sleep 10; /* Wait for master */
|
|
/sbin/hisaxctrl HiSax 5 2
|
|
fi
|
|
;;
|
|
stop)
|
|
/sbin/ifconfig isdn0 down
|
|
/sbin/isdnctrl delif isdn0
|
|
if [ ${I4L_DEBUG} = "yes" ]; then
|
|
killall cat
|
|
fi
|
|
if [ ${I4L_AS_MODULE} = "yes" ]; then
|
|
/sbin/rmmod hisax
|
|
/sbin/rmmod isdn
|
|
/sbin/rmmod ppp
|
|
/sbin/rmmod slhc
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
esac
|
|
exit 0
|