About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / isdn / README.HiSax


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

1	HiSax is a Linux hardware-level driver for passive ISDN cards with Siemens
2	chipset (ISAC_S 2085/2086/2186, HSCX SAB 82525). It is based on the Teles
3	driver from Jan den Ouden.
4	It is meant to be used with isdn4linux, an ISDN link-level module for Linux
5	written by Fritz Elfert.
6	
7	    This program is free software; you can redistribute it and/or modify
8	    it under the terms of the GNU General Public License as published by
9	    the Free Software Foundation; either version 2 of the License, or
10	    (at your option) any later version.
11	
12	    This program is distributed in the hope that it will be useful,
13	    but WITHOUT ANY WARRANTY; without even the implied warranty of
14	    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15	    GNU General Public License for more details.
16	
17	    You should have received a copy of the GNU General Public License
18	    along with this program; if not, write to the Free Software
19	    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20	
21	
22	Supported cards
23	---------------
24	
25	Teles 8.0/16.0/16.3 and compatible ones
26	Teles 16.3c
27	Teles S0/PCMCIA
28	Teles PCI
29	Teles S0Box
30	Creatix S0Box
31	Creatix PnP S0
32	Compaq ISDN S0 ISA card
33	AVM A1 (Fritz, Teledat 150)
34	AVM Fritz PCMCIA
35	AVM Fritz PnP
36	AVM Fritz PCI
37	ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
38	ELSA Quickstep 1000
39	ELSA Quickstep 1000PCI
40	ELSA Quickstep 3000 (same settings as QS1000)
41	ELSA Quickstep 3000PCI
42	ELSA PCMCIA
43	ITK ix1-micro Rev.2
44	Eicon Diva 2.0 ISA and PCI (S0 and U interface, no PRO version)
45	Eicon Diva 2.01 ISA and PCI
46	Eicon Diva 2.02 PCI
47	Eicon Diva Piccola
48	ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
49	Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
50	PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
51	HFC-2BS0 based cards (TeleInt SA1)
52	Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
53	Sedlbauer Speed Star/Speed Star2 (PCMCIA)
54	Sedlbauer ISDN-Controller PC/104
55	USR Sportster internal TA (compatible Stollmann tina-pp V3)
56	USR internal TA PCI
57	ith Kommunikationstechnik GmbH MIC 16 ISA card
58	Traverse Technologie NETjet PCI S0 card and NETspider U card
59	Ovislink ISDN sc100-p card (NETjet driver)
60	Dr. Neuhaus Niccy PnP/PCI
61	Siemens I-Surf 1.0
62	Siemens I-Surf 2.0 (with IPAC, try type 12 asuscom) 
63	ACER P10
64	HST Saphir
65	Berkom Telekom A4T
66	Scitel Quadro
67	Gazel ISDN cards
68	HFC-PCI based cards
69	Winbond W6692 based cards
70	HFC-S+, HFC-SP/PCMCIA cards
71	formula-n enternow
72	Gerdes Power ISDN
73	
74	Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
75	      PCC-8: not tested yet
76	      Eicon.Diehl Diva U interface not tested
77	
78	If you know other passive cards with the Siemens chipset, please let me know.
79	You can combine any card, if there is no conflict between the resources
80	(io, mem, irq).
81	
82	
83	Configuring the driver
84	----------------------
85	
86	The HiSax driver can either be built directly into the kernel or as a module.
87	It can be configured using the command line feature while loading the kernel
88	with LILO or LOADLIN or, if built as a module, using insmod/modprobe with
89	parameters.
90	There is also some config needed before you compile the kernel and/or
91	modules. It is included in the normal "make [menu]config" target at the
92	kernel. Don't forget it, especially to select the right D-channel protocol.
93	
94	Please note: In older versions of the HiSax driver, all PnP cards
95	needed to be configured with isapnp and worked only with the HiSax
96	driver used as a module.
97	
98	In the current version, HiSax will automatically use the in-kernel
99	ISAPnP support, provided you selected it during kernel configuration
100	(CONFIG_ISAPNP), if you don't give the io=, irq= command line parameters.
101	
102	The affected card types are: 4,7,12,14,19,27-30
103	
104	a) when built as a module
105	-------------------------
106	
107	insmod/modprobe  hisax.o \
108	  io=iobase irq=IRQ mem=membase type=card_type \
109	  protocol=D_channel_protocol id=idstring
110	
111	or, if several cards are installed:
112	
113	insmod/modprobe hisax.o \
114	  io=iobase1,iobase2,... irq=IRQ1,IRQ2,... mem=membase1,membase2,... \
115	  type=card_type1,card_type2,... \
116	  protocol=D_channel_protocol1,D_channel_protocol2,... \
117	  id=idstring1%idstring2 ...
118	
119	where "iobaseN" represents the I/O base address of the Nth card, "membaseN"
120	the memory base address of the Nth card, etc.
121	
122	The reason for the delimiter "%" being used in the idstrings is that ","
123	won't work with the current modules package.
124	
125	The parameters may be specified in any order. For example, the "io"
126	parameter may precede the "irq" parameter, or vice versa. If several
127	cards are installed, the ordering within the comma separated parameter
128	lists must of course be consistent.
129	
130	Only parameters applicable to the card type need to be specified. For
131	example, the Teles 16.3 card is not memory-mapped, so the "mem"
132	parameter may be omitted for this card. Sometimes it may be necessary
133	to specify a dummy parameter, however. This is the case when there is
134	a card of a different type later in the list that needs a parameter
135	which the preceding card does not. For instance, if a Teles 16.0 card
136	is listed after a Teles 16.3 card, a dummy memory base parameter of 0
137	must be specified for the 16.3. Instead of a dummy value, the parameter
138	can also be skipped by simply omitting the value. For example:
139	mem=,0xd0000. See example 6 below.
140	
141	The parameter for the D-Channel protocol may be omitted if you selected the
142	correct one during kernel config. Valid values are "1" for German 1TR6,
143	"2" for EDSS1 (Euro ISDN), "3" for leased lines (no D-Channel) and "4"
144	for US NI1.
145	With US NI1 you have to include your SPID into the MSN setting in the form
146	<MSN>:<SPID> for example (your phonenumber is 1234 your SPID 5678):
147	AT&E1234:5678                       on ttyI interfaces
148	isdnctrl eaz ippp0 1234:5678        on network devices
149	
150	The Creatix/Teles PnP cards use io1= and io2= instead of io= for specifying
151	the I/O addresses of the ISAC and HSCX chips, respectively.
152	
153	Card types:
154	
155	    Type                Required parameters (in addition to type and protocol)
156	
157	    1   Teles 16.0               irq, mem, io
158	    2   Teles  8.0               irq, mem
159	    3   Teles 16.3 (non PnP)     irq, io
160	    4   Creatix/Teles PnP        irq, io0 (ISAC), io1 (HSCX)
161	    5   AVM A1 (Fritz)           irq, io
162	    6   ELSA PCC/PCF cards       io or nothing for autodetect (the iobase is
163	                                 required only if you have more than one ELSA
164	                                 card in your PC)
165	    7   ELSA Quickstep 1000      irq, io  (from isapnp setup)
166	    8   Teles 16.3 PCMCIA     	 irq, io
167	    9   ITK ix1-micro Rev.2      irq, io
168	   10   ELSA PCMCIA		 irq, io  (set with card manager)
169	   11   Eicon.Diehl Diva ISA PnP irq, io
170	   11   Eicon.Diehl Diva PCI     no parameter
171	   12   ASUS COM ISDNLink        irq, io  (from isapnp setup)
172	   13   HFC-2BS0 based cards     irq, io
173	   14   Teles 16.3c PnP          irq, io
174	   15   Sedlbauer Speed Card     irq, io
175	   15   Sedlbauer PC/104         irq, io
176	   15   Sedlbauer Speed PCI	 no parameter
177	   16   USR Sportster internal   irq, io
178	   17   MIC card                 irq, io
179	   18   ELSA Quickstep 1000PCI   no parameter
180	   19   Compaq ISDN S0 ISA card  irq, io0, io1, io (from isapnp setup io=IO2)
181	   20   NETjet PCI card          no parameter
182	   21   Teles PCI                no parameter
183	   22   Sedlbauer Speed Star (PCMCIA) irq, io (set with card manager)
184	   24   Dr. Neuhaus Niccy PnP    irq, io0, io1 (from isapnp setup)
185	   24   Dr. Neuhaus Niccy PCI    no parameter
186	   25   Teles S0Box              irq, io (of the used lpt port)
187	   26   AVM A1 PCMCIA (Fritz!)   irq, io (set with card manager)
188	   27   AVM PnP (Fritz!PnP)      irq, io  (from isapnp setup)
189	   27   AVM PCI (Fritz!PCI)      no parameter
190	   28   Sedlbauer Speed Fax+     irq, io (from isapnp setup)
191	   29	Siemens I-Surf 1.0       irq, io, memory (from isapnp setup)   
192	   30	ACER P10                 irq, io (from isapnp setup)   
193	   31	HST Saphir               irq, io
194	   32	Telekom A4T              none
195	   33	Scitel Quadro		 subcontroller (4*S0, subctrl 1...4)
196	   34	Gazel ISDN cards (ISA)   irq,io
197	   34	Gazel ISDN cards (PCI)   none
198	   35	HFC 2BDS0 PCI            none
199	   36	W6692 based PCI cards    none
200	   37	HFC 2BDS0 S+, SP         irq,io 
201	   38	NETspider U PCI card     none
202	   39	HFC 2BDS0 SP/PCMCIA      irq,io (set with cardmgr)
203	   40   hotplug interface
204	   41   Formula-n enter:now PCI  none
205	
206	At the moment IRQ sharing is only possible with PCI cards. Please make sure
207	that your IRQ is free and enabled for ISA use.
208	
209	
210	Examples for module loading
211	
212	1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10
213	   modprobe hisax type=3 protocol=2 io=0x280 irq=10
214	
215	2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex
216	   modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5
217	
218	3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN
219	   modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa
220	
221	4. Any ELSA PCC/PCF card, Euro ISDN
222	   modprobe hisax type=6 protocol=2
223	
224	5. Teles 16.3 PnP, Euro ISDN, with isapnp configured
225	   isapnp config:  (INT 0 (IRQ 10 (MODE +E)))
226	 		   (IO 0 (BASE 0x0580))
227	                   (IO 1 (BASE 0x0180))
228	   modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
229	
230	   In the current version of HiSax, you can instead simply use
231	
232	   modprobe hisax type=4 protocol=2
233	
234	   if you configured your kernel for ISAPnP. Don't run isapnp in
235	   this case!
236	
237	6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
238	   Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
239	   modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
240	
241	   Please note the dummy 0 memory address for the Teles 16.3, used as a
242	   placeholder as described above, in the last example.
243	
244	7. Teles PCMCIA, Euro ISDN, I/O base 180 hex, IRQ 15 (default values)
245	   modprobe hisax type=8 protocol=2 io=0x180 irq=15
246	
247	
248	b) using LILO/LOADLIN, with the driver compiled directly into the kernel
249	------------------------------------------------------------------------
250	
251	hisax=typ1,dp1,pa_1,pb_1,pc_1[,typ2,dp2,pa_2 ... \
252	      typn,dpn,pa_n,pb_n,pc_n][,idstring1[,idstring2,...,idstringn]]
253	
254	where
255	     typ1 = type of 1st card (default depends on kernel settings)
256	     dp1  = D-Channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
257	     pa_1 = 1st parameter (depending on the type of the card)
258	     pb_1 = 2nd parameter (    "     "   "   "   "   "   "  )
259	     pc_1 = 3rd parameter (    "     "   "   "   "   "   "  )
260	
261	     typ2,dp2,pa_2,pb_2,pc_2 = Parameters of the second card (defaults: none)
262	     typn,dpn,pa_n,pb_n,pc_n = Parameters of the n'th card (up to 16 cards are
263	                                                                     supported)
264	
265	     idstring = Driver ID for accessing the particular card with utility
266	                programs and for identification when using a line monitor
267	                (default: "HiSax")
268	
269	                Note: the ID string must start with an alphabetical character!
270	
271	Card types:
272	
273	type
274	    1 	Teles 16.0     	        pa=irq  pb=membase  pc=iobase
275	    2 	Teles  8.0              pa=irq  pb=membase
276	    3 	Teles 16.3              pa=irq  pb=iobase
277	    4 	Creatix/Teles PNP     	ONLY WORKS AS A MODULE !
278	    5 	AVM A1 (Fritz)          pa=irq  pb=iobase
279	    6 	ELSA PCC/PCF cards      pa=iobase or nothing for autodetect
280	    7   ELSA Quickstep 1000     ONLY WORKS AS A MODULE !
281	    8   Teles S0 PCMCIA         pa=irq  pb=iobase
282	    9   ITK ix1-micro Rev.2     pa=irq  pb=iobase
283	   10   ELSA PCMCIA             pa=irq, pb=io  (set with card manager)
284	   11   Eicon.Diehl Diva ISAPnP ONLY WORKS AS A MODULE !
285	   11   Eicon.Diehl Diva PCI    no parameter
286	   12   ASUS COM ISDNLink       ONLY WORKS AS A MODULE !
287	   13	HFC-2BS0 based cards    pa=irq  pb=io
288	   14   Teles 16.3c PnP         ONLY WORKS AS A MODULE !
289	   15	Sedlbauer Speed Card    pa=irq  pb=io (Speed Win only as module !)
290	   15   Sedlbauer PC/104        pa=irq  pb=io
291	   15   Sedlbauer Speed PCI	no parameter
292	   16   USR Sportster internal  pa=irq  pb=io
293	   17   MIC card                pa=irq  pb=io
294	   18   ELSA Quickstep 1000PCI  no parameter
295	   19   Compaq ISDN S0 ISA card ONLY WORKS AS A MODULE !
296	   20   NETjet PCI card         no parameter
297	   21   Teles PCI               no parameter
298	   22   Sedlbauer Speed Star (PCMCIA)  pa=irq, pb=io  (set with card manager)
299	   24   Dr. Neuhaus Niccy PnP   ONLY WORKS AS A MODULE !
300	   24   Dr. Neuhaus Niccy PCI   no parameter
301	   25   Teles S0Box             pa=irq, pb=io (of the used lpt port)
302	   26   AVM A1 PCMCIA (Fritz!)  pa=irq, pb=io (set with card manager)
303	   27   AVM PnP (Fritz!PnP)     ONLY WORKS AS A MODULE !
304	   27   AVM PCI (Fritz!PCI)     no parameter
305	   28   Sedlbauer Speed Fax+    ONLY WORKS AS A MODULE !
306	   29	Siemens I-Surf 1.0      ONLY WORKS AS A MODULE !
307	   30	ACER P10                ONLY WORKS AS A MODULE !
308	   31	HST Saphir              pa=irq, pb=io
309	   32	Telekom A4T             no parameter
310	   33	Scitel Quadro		subcontroller (4*S0, subctrl 1...4)
311	   34	Gazel ISDN cards (ISA)  pa=irq, pb=io
312	   34	Gazel ISDN cards (PCI)  no parameter
313	   35	HFC 2BDS0 PCI           no parameter
314	   36	W6692 based PCI cards   none
315	   37	HFC 2BDS0 S+,SP/PCMCIA  ONLY WORKS AS A MODULE !
316	   38	NETspider U PCI card    none
317	   39	HFC 2BDS0 SP/PCMCIA     ONLY WORKS AS A MODULE !
318	   40   hotplug interface	ONLY WORKS AS A MODULE !
319	   41   Formula-n enter:now PCI none
320	
321	Running the driver
322	------------------
323	
324	When you insmod isdn.o and hisax.o (or with the in-kernel version, during
325	boot time), a few lines should appear in your syslog. Look for something like:
326	
327	Apr 13 21:01:59 kke01 kernel: HiSax: Driver for Siemens chip set ISDN cards
328	Apr 13 21:01:59 kke01 kernel: HiSax: Version 2.9
329	Apr 13 21:01:59 kke01 kernel: HiSax: Revisions 1.14/1.9/1.10/1.25/1.8
330	Apr 13 21:01:59 kke01 kernel: HiSax: Total 1 card defined
331	Apr 13 21:01:59 kke01 kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax1 (0)
332	Apr 13 21:01:59 kke01 kernel: HiSax: Elsa driver Rev. 1.13
333	...
334	Apr 13 21:01:59 kke01 kernel: Elsa: PCF-Pro found at 0x360 Rev.:C IRQ 10
335	Apr 13 21:01:59 kke01 kernel: Elsa: timer OK; resetting card
336	Apr 13 21:01:59 kke01 kernel: Elsa: HSCX version A: V2.1  B: V2.1
337	Apr 13 21:01:59 kke01 kernel: Elsa: ISAC 2086/2186 V1.1
338	...
339	Apr 13 21:01:59 kke01 kernel: HiSax: DSS1 Rev. 1.14
340	Apr 13 21:01:59 kke01 kernel: HiSax: 2 channels added
341	
342	This means that the card is ready for use.
343	Cabling problems or line-downs are not detected, and only some ELSA cards can
344	detect the S0 power.
345	
346	Remember that, according to the new strategy for accessing low-level drivers
347	from within isdn4linux, you should also define a driver ID while doing
348	insmod: Simply append hisax_id=<SomeString> to the insmod command line. This
349	string MUST NOT start with a digit or a small 'x'!
350	
351	At this point you can run a 'cat /dev/isdnctrl0' and view debugging messages.
352	
353	At the moment, debugging messages are enabled with the hisaxctrl tool:
354	
355	    hisaxctrl <DriverId> DebugCmd <debugging_flags>
356	
357	<DriverId> default is HiSax, if you didn't specify one.
358	
359	DebugCmd is  1  for generic debugging
360	            11  for layer 1 development debugging
361	            13  for layer 3 development debugging
362	
363	where <debugging_flags> is the integer sum of the following debugging
364	options you wish enabled:
365	
366	With DebugCmd set to 1:
367	
368	   0x0001  Link-level <--> hardware-level communication
369	   0x0002  Top state machine
370	   0x0004  D-Channel Frames for isdnlog
371	   0x0008  D-Channel Q.921
372	   0x0010  B-Channel X.75
373	   0x0020  D-Channel l2
374	   0x0040  B-Channel l2
375	   0x0080  D-Channel link state debugging
376	   0x0100  B-Channel link state debugging
377	   0x0200  TEI debug
378	   0x0400  LOCK debug in callc.c
379	   0x0800  More paranoid debug in callc.c (not for normal use)
380	   0x1000  D-Channel l1 state debugging
381	   0x2000  B-Channel l1 state debugging
382	
383	With DebugCmd set to 11:
384	
385	   0x0001  Warnings (default: on)
386	   0x0002  IRQ status
387	   0x0004  ISAC
388	   0x0008  ISAC FIFO
389	   0x0010  HSCX
390	   0x0020  HSCX FIFO (attention: full B-Channel output!)
391	   0x0040  D-Channel LAPD frame types
392	   0x0080  IPAC debug
393	   0x0100  HFC receive debug
394	   0x0200  ISAC monitor debug
395	   0x0400  D-Channel frames for isdnlog (set with 1 0x4 too)
396	   0x0800  D-Channel message verbose
397	
398	With DebugCmd set to 13:
399	
400	         1  Warnings (default: on)
401	         2  l3 protocol descriptor errors
402	         4  l3 state machine
403	         8  charge info debugging (1TR6)
404	
405	For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging.
406	
407	Because of some obscure problems with some switch equipment, the delay
408	between the CONNECT message and sending the first data on the B-channel is now
409	configurable with
410	
411	hisaxctrl <DriverId> 2 <delay>
412	<delay> in ms Value between 50 and 800 ms is recommended.
413	
414	Downloading Firmware
415	--------------------
416	At the moment, the Sedlbauer speed fax+ is the only card, which
417	needs to download firmware.
418	The firmware is downloaded with the hisaxctrl tool:
419	
420	    hisaxctrl <DriverId> 9 <firmware_filename>
421	
422	<DriverId> default is HiSax, if you didn't specify one,
423	
424	where <firmware_filename> is the filename of the firmware file.
425	
426	For example, 'hisaxctrl HiSax 9 ISAR.BIN' downloads the firmware for
427	ISAR based cards (like the Sedlbauer speed fax+).
428	
429	Warning
430	-------
431	HiSax is a work in progress and may crash your machine.
432	For certification look at HiSax.cert file.
433	
434	Limitations
435	-----------
436	At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.
437	For leased lines see appendix.
438	
439	Bugs
440	----
441	If you find any, please let me know.
442	
443	
444	Thanks
445	------
446	Special thanks to:
447	
448	        Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
449	
450	        Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
451	        Andreas Kool, Pekka Sarnila, Sim Yskes, Johan Myrre'en,
452		Klaus-Peter Nischke (ITK AG), Christof Petig, Werner Fehn (ELSA GmbH),
453		Volker Schmidt
454		Edgar Toernig and Marcus Niemann for the Sedlbauer driver
455		Stephan von Krawczynski
456		Juergen Quade for the Leased Line part
457		Klaus Lichtenwalder (Klaus.Lichtenwalder@WebForum.DE), for ELSA PCMCIA support
458		Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff
459		Ton van Rosmalen for Teles PCI
460		Petr Novak <petr.novak@i.cz> for Winbond W6692 support
461		Werner Cornelius <werner@isdn4linux.de> for HFC-PCI, HFC-S(+/P) and supplementary services support
462	        and more people who are hunting bugs. (If I forgot somebody, please
463		send me a mail).
464	
465	        Firma ELSA GmbH
466	        Firma Eicon.Diehl GmbH
467	        Firma Dynalink NL
468		Firma ASUSCOM NETWORK INC. Taiwan
469		Firma S.u.S.E
470		Firma ith Kommunikationstechnik GmbH
471		Firma Traverse Technologie Australia
472		Firma Medusa GmbH  (www.medusa.de).
473		Firma Quant-X Austria for sponsoring a DEC Alpha board+CPU
474		Firma Cologne Chip Designs GmbH
475	
476	        My girl friend and partner in life Ute for her patience with me.
477	
478	
479	Enjoy,
480	
481	Karsten Keil
482	keil@isdn4linux.de
483	
484	
485	Appendix: Teles PCMCIA driver
486	-----------------------------
487	
488	See
489	   http://www.linux.no/teles_cs.txt 
490	for instructions.
491	
492	Appendix: Linux and ISDN-leased lines
493	-------------------------------------
494	
495	Original from Juergen Quade, new version KKe.
496	
497	Attention NEW VERSION, the old leased line syntax won't work !!!
498	
499	You can use HiSax to connect your Linux-Box via an ISDN leased line
500	to e.g. the Internet:
501	
502	1. Build a kernel which includes the HiSax driver either as a module
503	   or as part of the kernel.
504	     cd /usr/src/linux
505	     make menuconfig
506	     <ISDN subsystem - ISDN support -- HiSax>
507	     make clean; make zImage; make modules; make modules_install
508	2. Install the new kernel
509	     cp /usr/src/linux/arch/x86/boot/zImage /etc/kernel/linux.isdn
510	     vi /etc/lilo.conf
511	     <add new kernel in the bootable image section>
512	     lilo
513	3. in case the hisax driver is a "fixed" part of the kernel, configure
514	   the driver with lilo:
515	     vi /etc/lilo.conf
516	     <add HiSax driver parameter in the global section (see below)>
517	     lilo
518	   Your lilo.conf _might_ look like the following:
519	
520		# LILO configuration-file
521		# global section
522	    # teles 16.0 on IRQ=5, MEM=0xd8000, PORT=0xd80
523		append="hisax=1,3,5,0xd8000,0xd80,HiSax"
524	    # teles 16.3 (non pnp) on IRQ=15, PORT=0xd80
525		# append="hisax=3,3,5,0xd8000,0xd80,HiSax"
526		boot=/dev/sda
527		compact        # faster, but won't work on all systems.
528		linear
529		read-only
530		prompt
531		timeout=100
532		vga = normal    # force sane state
533		# Linux bootable partition config begins
534		image = /etc/kernel/linux.isdn
535		root = /dev/sda1
536		label = linux.isdn
537		#
538		image = /etc/kernel/linux-2.0.30
539		root = /dev/sda1
540		label = linux.secure
541	
542	   In the line starting with "append" you have to adapt the parameters
543	   according to your card (see above in this file)
544	
545	3. boot the new linux.isdn kernel
546	4. start the ISDN subsystem:
547	   a) load - if necessary - the modules (depends, whether you compiled
548	      the ISDN driver as module or not)
549	      According to the type of card you have to specify the necessary
550	      driver parameter (irq, io, mem, type, protocol).
551	      For the leased line the protocol is "3". See the table above for
552	      the parameters, which you have to specify depending on your card.
553	   b) configure i4l
554	      /sbin/isdnctrl addif isdn0
555	      # EAZ  1 -- B1 channel   2 --B2 channel
556	      /sbin/isdnctrl eaz isdn0 1
557	      /sbin/isdnctrl secure isdn0 on
558	      /sbin/isdnctrl huptimeout isdn0 0
559	      /sbin/isdnctrl l2_prot isdn0 hdlc
560	      # Attention you must not set an outgoing number !!! This won't work !!!
561	      # The incoming number is LEASED0 for the first card, LEASED1 for the
562	      # second and so on.
563	      /sbin/isdnctrl addphone isdn0 in LEASED0
564	      # Here is no need to bind the channel.
565	   c) in case the remote partner is a CISCO:
566	      /sbin/isdnctrl encap isdn0 cisco-h
567	   d) configure the interface
568	      /sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
569	   e) set the routes
570	      /sbin/route add -host ${REMOTE_IP} isdn0
571	      /sbin/route add default gw ${REMOTE_IP}
572	   f) switch the card into leased mode for each used B-channel
573	      /sbin/hisaxctrl HiSax 5 1
574	
575	Remarks:
576	a) Use state of the art isdn4k-utils
577	
578	Here an example script:
579	#!/bin/sh
580	# Start/Stop ISDN leased line connection
581	
582	I4L_AS_MODULE=yes
583	I4L_REMOTE_IS_CISCO=no
584	I4L_MODULE_PARAMS="type=16 io=0x268 irq=7 "
585	I4L_DEBUG=no
586	I4L_LEASED_128K=yes
587	LOCAL_IP=192.168.1.1
588	REMOTE_IP=192.168.2.1
589	
590	case "$1" in
591	    start)
592		echo "Starting ISDN ..."
593	        if [ ${I4L_AS_MODULE} = "yes" ]; then
594			echo "loading modules..."
595			/sbin/modprobe hisax ${I4L_MODULE_PARAMS}
596		fi
597		# configure interface
598		/sbin/isdnctrl addif isdn0
599		/sbin/isdnctrl secure isdn0 on
600		if [ ${I4L_DEBUG} = "yes" ]; then
601			/sbin/isdnctrl verbose 7
602			/sbin/hisaxctrl HiSax 1 0xffff
603			/sbin/hisaxctrl HiSax 11 0xff
604			cat  /dev/isdnctrl >/tmp/lea.log &
605		fi
606		if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
607			/sbin/isdnctrl encap isdn0 cisco-h
608		fi
609		/sbin/isdnctrl huptimeout isdn0 0
610		# B-CHANNEL 1
611		/sbin/isdnctrl eaz isdn0 1
612		/sbin/isdnctrl l2_prot isdn0 hdlc
613		# 1. card
614		/sbin/isdnctrl addphone isdn0 in LEASED0
615	        if [ ${I4L_LEASED_128K} = "yes" ]; then
616			/sbin/isdnctrl addslave isdn0 isdn0s
617			/sbin/isdnctrl secure isdn0s on
618			/sbin/isdnctrl huptimeout isdn0s 0
619			# B-CHANNEL 2
620			/sbin/isdnctrl eaz isdn0s 2
621			/sbin/isdnctrl l2_prot isdn0s hdlc
622			# 1. card
623			/sbin/isdnctrl addphone isdn0s in LEASED0
624			if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
625				/sbin/isdnctrl encap isdn0s cisco-h
626			fi
627		fi
628		/sbin/isdnctrl dialmode isdn0 manual
629		# configure tcp/ip
630		/sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
631		/sbin/route add -host ${REMOTE_IP} isdn0
632		/sbin/route add default gw ${REMOTE_IP}
633		# switch to leased mode
634		# B-CHANNEL 1
635		/sbin/hisaxctrl HiSax 5 1
636	        if [ ${I4L_LEASED_128K} = "yes" ]; then
637			# B-CHANNEL 2
638			sleep 10; /* Wait for master */
639			/sbin/hisaxctrl HiSax 5 2
640		fi
641		;;
642	    stop)
643		/sbin/ifconfig isdn0 down
644		/sbin/isdnctrl delif isdn0
645		if [ ${I4L_DEBUG} = "yes" ]; then
646			killall cat
647		fi
648		if [ ${I4L_AS_MODULE} = "yes" ]; then
649			/sbin/rmmod hisax
650			/sbin/rmmod isdn
651			/sbin/rmmod ppp
652			/sbin/rmmod slhc
653		fi
654		;;
655	    *)
656		echo "Usage: $0 {start|stop}"
657		exit 1
658	esac
659	exit 0
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog