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.
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.
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.
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.
25 Teles 8.0/16.0/16.3 and compatible ones
32 Compaq ISDN S0 ISA card
33 AVM A1 (Fritz, Teledat 150)
37 ELSA Microlink PCC-16, PCF, PCF-Pro, PCC-8
39 ELSA Quickstep 1000PCI
40 ELSA Quickstep 3000 (same settings as QS1000)
41 ELSA Quickstep 3000PCI
44 Eicon.Diehl Diva 2.0 ISA and PCI (S0 and U interface, no PRO version)
45 Eicon.Diehl Diva 2.01 ISA and PCI
46 Eicon.Diehl Diva Piccola
47 ASUSCOM NETWORK INC. ISDNLink 128K PC adapter (order code I-IN100-ST-D)
48 Dynalink IS64PH (OEM version of ASUSCOM NETWORK INC. ISDNLink 128K adapter)
49 PCBIT-DP (OEM version of ASUSCOM NETWORK INC. ISDNLink)
50 HFC-2BS0 based cards (TeleInt SA1)
51 Sedlbauer Speed Card (Speed Win, Teledat 100, PCI, Fax+)
52 Sedlbauer Speed Star/Speed Star2 (PCMCIA)
53 Sedlbauer ISDN-Controller PC/104
54 USR Sportster internal TA (compatible Stollmann tina-pp V3)
55 ith Kommunikationstechnik GmbH MIC 16 ISA card
56 Traverse Technologie NETjet PCI S0 card
57 Dr. Neuhaus Niccy PnP/PCI
59 Siemens I-Surf 2.0 (with IPAC, try type 12 asuscom)
67 Note: PCF, PCF-Pro: up to now, only the ISDN part is supported
69 Teles PCMCIA is EXPERIMENTAL
70 Teles 16.3c is EXPERIMENTAL
71 Teles PCI is EXPERIMENTAL
72 Teles S0Box is EXPERIMENTAL
73 Eicon.Diehl Diva U interface not tested
75 If you know other passive cards with the Siemens chipset, please let me know.
76 To use the PNP cards you need the isapnptools.
77 You can combine any card, if there is no conflict between the ressources
81 Configuring the driver
82 ----------------------
84 The HiSax driver can either be built directly into the kernel or as a module.
85 It can be configured using the command line feature while loading the kernel
86 with LILO or LOADLIN or, if built as a module, using insmod/modprobe with
88 There is also some config needed before you compile the kernel and/or
89 modules. It is included in the normal "make [menu]config" target at the
90 kernel. Don't forget it, especially to select the right D-channel protocol.
92 Please note: All PnP cards need to be configured with isapnp and will work
93 only with the HiSax driver used as a module.
95 a) when built as a module
96 -------------------------
98 insmod/modprobe hisax.o \
99 io=iobase irq=IRQ mem=membase type=card_type \
100 protocol=D_channel_protocol id=idstring
102 or, if several cards are installed:
104 insmod/modprobe hisax.o \
105 io=iobase1,iobase2,... irq=IRQ1,IRQ2,... mem=membase1,membase2,... \
106 type=card_type1,card_type2,... \
107 protocol=D_channel_protocol1,D_channel_protocol2,... \
108 id=idstring1%idstring2 ...
110 where "iobaseN" represents the I/O base address of the Nth card, "membaseN"
111 the memory base address of the Nth card, etc.
113 The reason for the delimiter "%" being used in the idstrings is that ","
114 won't work with the current modules package.
116 The parameters may be specified in any order. For example, the "io"
117 parameter may precede the "irq" parameter, or vice versa. If several
118 cards are installed, the ordering within the comma separated parameter
119 lists must of course be consistent.
121 Only parameters applicable to the card type need to be specified. For
122 example, the Teles 16.3 card is not memory-mapped, so the "mem"
123 parameter may be omitted for this card. Sometimes it may be necessary
124 to specify a dummy parameter, however. This is the case when there is
125 a card of a different type later in the list that needs a parameter
126 which the preceding card does not. For instance, if a Teles 16.0 card
127 is listed after a Teles 16.3 card, a dummy memory base parameter of 0
128 must be specified for the 16.3. Instead of a dummy value, the parameter
129 can also be skipped by simply omitting the value. For example:
130 mem=,0xd0000. See example 6 below.
132 The parameter for the D-Channel protocol may be omitted if you selected the
133 correct one during kernel config. Valid values are "1" for German 1TR6,
134 "2" for EDSS1 (Euro ISDN) and "3" for leased lines (no D-Channel).
136 The Creatix/Teles PnP cards use io1= and io2= instead of io= for specifying
137 the I/O addresses of the ISAC and HSCX chips, respectively.
141 Type Required parameters (in addition to type and protocol)
143 1 Teles 16.0 irq, mem, io
145 3 Teles 16.3 (non PnP) irq, io
146 4 Creatix/Teles PnP irq, io0 (ISAC), io1 (HSCX)
147 5 AVM A1 (Fritz) irq, io
148 6 ELSA PCC/PCF cards io or nothing for autodetect (the iobase is
149 required only if you have more than one ELSA
151 7 ELSA Quickstep 1000 irq, io (from isapnp setup)
152 8 Teles 16.3 PCMCIA irq, io
153 9 ITK ix1-micro Rev.2 irq, io
154 10 ELSA PCMCIA irq, io (set with card manager)
155 11 Eicon.Diehl Diva ISA PnP irq, io
156 11 Eicon.Diehl Diva PCI no parameter
157 12 ASUS COM ISDNLink irq, io (from isapnp setup)
158 13 HFC-2BS0 based cards irq, io
159 14 Teles 16.3c PnP irq, io
160 15 Sedlbauer Speed Card irq, io
161 15 Sedlbauer PC/104 irq, io
162 15 Sedlbauer Speed PCI no parameter
163 16 USR Sportster internal irq, io
165 18 ELSA Quickstep 1000PCI no parameter
166 19 Compaq ISDN S0 ISA card irq, io0, io1, io (from isapnp setup io=IO2)
167 20 NETjet PCI card no parameter
168 21 Teles PCI no parameter
169 22 Sedlbauer Speed Star (PCMCIA) irq, io (set with card manager)
170 24 Dr. Neuhaus Niccy PnP irq, io0, io1 (from isapnp setup)
171 24 Dr. Neuhaus Niccy PCI no parameter
172 25 Teles S0Box irq, io (of the used lpt port)
173 26 AVM A1 PCMCIA (Fritz!) irq, io (set with card manager)
174 27 AVM PnP (Fritz!PnP) irq, io (from isapnp setup)
175 27 AVM PCI (Fritz!PCI) no parameter
176 28 Sedlbauer Speed Fax+ irq, io (from isapnp setup)
177 29 Siemens I-Surf 1.0 irq, io, memory (from isapnp setup)
178 30 ACER P10 irq, io (from isapnp setup)
179 31 HST Saphir irq, io
181 33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
182 34 Gazel ISDN cards (ISA) irq,io
183 34 Gazel ISDN cards (PCI) none
184 35 HFC 2BDS0 PCI none
187 At the moment IRQ sharing is only possible with PCI cards. Please make sure
188 that your IRQ is free and enabled for ISA use.
191 Examples for module loading
193 1. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 10
194 modprobe hisax type=3 protocol=2 io=0x280 irq=10
196 2. Teles 16.0, 1TR6 ISDN, I/O base d80 hex, IRQ 5, Memory d0000 hex
197 modprobe hisax protocol=1 type=1 io=0xd80 mem=0xd0000 irq=5
199 3. Fritzcard, Euro ISDN, I/O base 340 hex, IRQ 10 and ELSA PCF, Euro ISDN
200 modprobe hisax type=5,6 protocol=2,2 io=0x340 irq=10 id=Fritz%Elsa
202 4. Any ELSA PCC/PCF card, Euro ISDN
203 modprobe hisax type=6 protocol=2
205 5. Teles 16.3 PnP, Euro ISDN, with isapnp configured
206 isapnp config: (INT 0 (IRQ 10 (MODE +E)))
209 modprobe hisax type=4 protocol=2 irq=10 io0=0x580 io1=0x180
211 6. Teles 16.3, Euro ISDN, I/O base 280 hex, IRQ 12 and
212 Teles 16.0, 1TR6, IRQ 5, Memory d0000 hex
213 modprobe hisax type=3,1 protocol=2,1 io=0x280 mem=0,0xd0000
215 Please note the dummy 0 memory address for the Teles 16.3, used as a
216 placeholder as described above, in the last example.
218 7. Teles PCMCIA, Euro ISDN, I/O base 180 hex, IRQ 15 (default values)
219 modprobe hisax type=8 protocol=2 io=0x180 irq=15
222 b) using LILO/LOADLIN, with the driver compiled directly into the kernel
223 ------------------------------------------------------------------------
225 hisax=typ1,dp1,pa_1,pb_1,pc_1[,typ2,dp2,pa_2 ... \
226 typn,dpn,pa_n,pb_n,pc_n][,idstring1[,idstring2,...,idstringn]]
229 typ1 = type of 1st card (default depends on kernel settings)
230 dp1 = D-Channel protocol of 1st card. 1=1TR6, 2=EDSS1, 3=leased
231 pa_1 = 1st parameter (depending on the type of the card)
232 pb_1 = 2nd parameter ( " " " " " " " )
233 pc_1 = 3rd parameter ( " " " " " " " )
235 typ2,dp2,pa_2,pb_2,pc_2 = Parameters of the second card (defaults: none)
236 typn,dpn,pa_n,pb_n,pc_n = Parameters of the n'th card (up to 16 cards are
239 idstring = Driver ID for accessing the particular card with utility
240 programs and for identification when using a line monitor
243 Note: the ID string must start with an alphabetical character!
248 1 Teles 16.0 pa=irq pb=membase pc=iobase
249 2 Teles 8.0 pa=irq pb=membase
250 3 Teles 16.3 pa=irq pb=iobase
251 4 Creatix/Teles PNP ONLY WORKS AS A MODULE !
252 5 AVM A1 (Fritz) pa=irq pb=iobase
253 6 ELSA PCC/PCF cards pa=iobase or nothing for autodetect
254 7 ELSA Quickstep 1000 ONLY WORKS AS A MODULE !
255 8 Teles S0 PCMCIA pa=irq pb=iobase
256 9 ITK ix1-micro Rev.2 pa=irq pb=iobase
257 10 ELSA PCMCIA pa=irq, pb=io (set with card manager)
258 11 Eicon.Diehl Diva ISAPnP ONLY WORKS AS A MODULE !
259 11 Eicon.Diehl Diva PCI no parameter
260 12 ASUS COM ISDNLink ONLY WORKS AS A MODULE !
261 13 HFC-2BS0 based cards pa=irq pb=io
262 14 Teles 16.3c PnP ONLY WORKS AS A MODULE !
263 15 Sedlbauer Speed Card pa=irq pb=io (Speed Win only as module !)
264 15 Sedlbauer PC/104 pa=irq pb=io
265 15 Sedlbauer Speed PCI no parameter
266 16 USR Sportster internal pa=irq pb=io
267 17 MIC card pa=irq pb=io
268 18 ELSA Quickstep 1000PCI no parameter
269 19 Compaq ISDN S0 ISA card ONLY WORKS AS A MODULE !
270 20 NETjet PCI card no parameter
271 21 Teles PCI no parameter
272 22 Sedlbauer Speed Star (PCMCIA) pa=irq, pb=io (set with card manager)
273 24 Dr. Neuhaus Niccy PnP ONLY WORKS AS A MODULE !
274 24 Dr. Neuhaus Niccy PCI no parameter
275 25 Teles S0Box pa=irq, pb=io (of the used lpt port)
276 26 AVM A1 PCMCIA (Fritz!) pa=irq, pb=io (set with card manager)
277 27 AVM PnP (Fritz!PnP) ONLY WORKS AS A MODULE !
278 27 AVM PCI (Fritz!PCI) no parameter
279 28 Sedlbauer Speed Fax+ ONLY WORKS AS A MODULE !
280 29 Siemens I-Surf 1.0 ONLY WORKS AS A MODULE !
281 30 ACER P10 ONLY WORKS AS A MODULE !
282 31 HST Saphir pa=irq, pb=io
283 32 Telekom A4T no parameter
284 33 Scitel Quadro subcontroller (4*S0, subctrl 1...4)
285 34 Gazel ISDN cards (ISA) pa=irq, pb=io
286 34 Gazel ISDN cards (PCI) no parameter
287 35 HFC 2BDS0 PCI no parameter
292 When you insmod isdn.o and hisax.o (or with the in-kernel version, during
293 boot time), a few lines should appear in your syslog. Look for something like:
295 Apr 13 21:01:59 kke01 kernel: HiSax: Driver for Siemens chip set ISDN cards
296 Apr 13 21:01:59 kke01 kernel: HiSax: Version 2.9
297 Apr 13 21:01:59 kke01 kernel: HiSax: Revisions 1.14/1.9/1.10/1.25/1.8
298 Apr 13 21:01:59 kke01 kernel: HiSax: Total 1 card defined
299 Apr 13 21:01:59 kke01 kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax1 (0)
300 Apr 13 21:01:59 kke01 kernel: HiSax: Elsa driver Rev. 1.13
302 Apr 13 21:01:59 kke01 kernel: Elsa: PCF-Pro found at 0x360 Rev.:C IRQ 10
303 Apr 13 21:01:59 kke01 kernel: Elsa: timer OK; resetting card
304 Apr 13 21:01:59 kke01 kernel: Elsa: HSCX version A: V2.1 B: V2.1
305 Apr 13 21:01:59 kke01 kernel: Elsa: ISAC 2086/2186 V1.1
307 Apr 13 21:01:59 kke01 kernel: HiSax: DSS1 Rev. 1.14
308 Apr 13 21:01:59 kke01 kernel: HiSax: 2 channels added
310 This means that the card is ready for use.
311 Cabling problems or line-downs are not detected, and only some ELSA cards can
314 Remember that, according to the new strategy for accessing low-level drivers
315 from within isdn4linux, you should also define a driver ID while doing
316 insmod: Simply append hisax_id=<SomeString> to the insmod command line. This
317 string MUST NOT start with a digit or a small 'x'!
319 At this point you can run a 'cat /dev/isdnctrl0' and view debugging messages.
321 At the moment, debugging messages are enabled with the hisaxctrl tool:
323 hisaxctrl <DriverId> DebugCmd <debugging_flags>
325 <DriverId> default is HiSax, if you didn't specify one.
327 DebugCmd is 1 for generic debugging
328 11 for layer 1 development debugging
329 13 for layer 3 development debugging
331 where <debugging_flags> is the integer sum of the following debugging
332 options you wish enabled:
334 With DebugCmd set to 1:
336 0x0001 Link-level <--> hardware-level communication
337 0x0002 Top state machine
338 0x0004 D-Channel Frames for isdnlog
339 0x0008 D-Channel Q.921
340 0x0010 B-Channel X.75
343 0x0080 D-Channel link state debugging
344 0x0100 B-Channel link state debugging
346 0x0400 LOCK debug in callc.c
347 0x0800 More paranoid debug in callc.c (not for normal use)
348 0x1000 D-Channel l1 state debugging
349 0x2000 B-Channel l1 state debugging
351 With DebugCmd set to 11:
353 0x0001 Warnings (default: on)
358 0x0020 HSCX FIFO (attention: full B-Channel output!)
359 0x0040 D-Channel LAPD frame types
361 0x0100 HFC receive debug
362 0x0200 ISAC monitor debug
363 0x0400 D-Channel frames for isdnlog (set with 1 0x4 too)
364 0x0800 D-Channel message verbose
366 With DebugCmd set to 13:
368 1 Warnings (default: on)
369 2 l3 protocol descriptor errors
371 8 charge info debugging (1TR6)
373 For example, 'hisaxctrl HiSax 1 0x3ff' enables full generic debugging.
375 Because of some obscure problems with some switch equipment, the delay
376 between the CONNECT message and sending the first data on the B-channel is now
379 hisaxctrl <DriverId> 2 <delay>
380 <delay> in ms Value between 50 and 800 ms is recommended.
384 At the moment, the Sedlbauer speed fax+ is the only card, which
385 needs to download firmware.
386 The firmware is downloaded with the hisaxctrl tool:
388 hisaxctrl <DriverId> 9 <firmware_filename>
390 <DriverId> default is HiSax, if you didn't specify one,
392 where <firmware_filename> is the filename of the firmware file.
394 For example, 'hisaxctrl HiSax 9 ISAR.BIN' downloads the firmware for
395 ISAR based cards (like the Sedlbauer speed fax+).
399 HiSax is a work in progress and may crash your machine.
400 For certification look at HiSax.cert file.
404 At this time, HiSax only works on Euro ISDN lines and German 1TR6 lines.
405 For leased lines see appendix.
409 If you find any, please let me know.
416 Emil Stephan for the name HiSax which is a mix of HSCX and ISAC.
418 Fritz Elfert, Jan den Ouden, Michael Hipp, Michael Wein,
419 Andreas Kool, Pekka Sarnila, Sim Yskes, Johan Myrre'en,
420 Klaus-Peter Nischke (ITK AG), Christof Petig, Werner Fehn (ELSA GmbH),
422 Edgar Toernig and Marcus Niemann for the Sedlbauer driver
423 Stephan von Krawczynski
424 Juergen Quade for the Leased Line part
425 Klaus Lichtenwalder (Klaus.Lichtenwalder@WebForum.DE), for ELSA PCMCIA support
426 Enrik Berkhan (enrik@starfleet.inka.de) for S0BOX specific stuff
427 Ton van Rosmalen for Teles PCI
428 and more people who are hunting bugs. (If I forgot somebody, please
432 Firma Eicon.Diehl GmbH
434 Firma ASUSCOM NETWORK INC. Taiwan
436 Firma ith Kommunikationstechnik GmbH
437 Firma Traverse Technologie Australia
438 Firma Medusa GmbH (www.medusa.de).
439 Firma Quant-X Austria for sponsoring a DEC Alpha board+CPU
440 Firma Cologne Chip Designs GmbH
442 My girl friend and partner in life Ute for her patience with me.
451 Appendix: Teles PCMCIA driver
452 -----------------------------
455 http://www.stud.uni-wuppertal.de/~ea0141/pcmcia.html
458 Appendix: Linux and ISDN-leased lines
459 -------------------------------------
461 Original from Juergen Quade, new version KKe.
463 Attention NEW VERSION, the old leased line syntax won't work !!!
465 You can use HiSax to connect your Linux-Box via an ISDN leased line
466 to e.g. the Internet:
468 1. Build a kernel which includes the HiSax driver either as a module
469 or as part of the kernel.
472 <ISDN subsystem - ISDN support -- HiSax>
473 make clean; make dep; make zImage; make modules; make modules_install
474 2. Install the new kernel
475 cp /usr/src/linux/arch/i386/boot/zImage /etc/kernel/linux.isdn
477 <add new kernel in the bootable image section>
479 3. in case the hisax driver is a "fixed" part of the kernel, configure
480 the driver with lilo:
482 <add HiSax driver parameter in the global section (see below)>
484 Your lilo.conf _might_ look like the following:
486 # LILO configuration-file
488 # teles 16.0 on IRQ=5, MEM=0xd8000, PORT=0xd80
489 append="hisax=1,3,5,0xd8000,0xd80,HiSax"
490 # teles 16.3 (non pnp) on IRQ=15, PORT=0xd80
491 # append="hisax=3,3,5,0xd8000,0xd80,HiSax"
493 compact # faster, but won't work on all systems.
498 vga = normal # force sane state
499 # Linux bootable partition config begins
500 image = /etc/kernel/linux.isdn
504 image = /etc/kernel/linux-2.0.30
508 In the line starting with "append" you have to adapt the parameters
509 according to your card (see above in this file)
511 3. boot the new linux.isdn kernel
512 4. start the ISDN subsystem:
513 a) load - if necessary - the modules (depends, whether you compiled
514 the ISDN driver as module or not)
515 According to the type of card you have to specify the necessary
516 driver parameter (irq, io, mem, type, protocol).
517 For the leased line the protocol is "3". See the table above for
518 the parameters, which you have to specify depending on your card.
520 /sbin/isdnctrl addif isdn0
521 # EAZ 1 -- B1 channel 2 --B2 channel
522 /sbin/isdnctrl eaz isdn0 1
523 /sbin/isdnctrl secure isdn0 on
524 /sbin/isdnctrl huptimeout isdn0 0
525 /sbin/isdnctrl l2_prot isdn0 hdlc
526 # Attention you must not set an outgoing number !!! This won't work !!!
527 # The incomming number is LEASED0 for the first card, LEASED1 for the
529 /sbin/isdnctrl addphone isdn0 in LEASED0
530 # Here is no need to bind the channel.
531 c) in case the remote partner is a CISCO:
532 /sbin/isdnctrl encap isdn0 cisco-h
533 d) configure the interface
534 /sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
536 /sbin/route add -host ${REMOTE_IP} isdn0
537 /sbin/route add default gw ${REMOTE_IP}
538 f) switch the card into leased mode for each used B-channel
539 /sbin/hisaxctrl HiSax 5 1
542 a) Use state of the art isdn4k-utils
544 Here an example script:
546 # Start/Stop ISDN lesaed line connection
549 I4L_REMOTE_IS_CISCO=no
550 I4L_MODULE_PARAMS="type=16 io=0x268 irq=7 "
554 REMOTE_IP=192.168.2.1
558 echo "Starting ISDN ..."
559 if [ ${I4L_AS_MODULE} = "yes" ]; then
560 echo "loading modules..."
561 /sbin/modprobe hisax ${I4L_MODULE_PARAMS}
563 # configure interface
564 /sbin/isdnctrl addif isdn0
565 /sbin/isdnctrl secure isdn0 on
566 if [ ${I4L_DEBUG} = "yes" ]; then
567 /sbin/isdnctrl verbose 7
568 /sbin/hisaxctrl HiSax 1 0xffff
569 /sbin/hisaxctrl HiSax 11 0xff
570 cat /dev/isdnctrl >/tmp/lea.log &
572 if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
573 /sbin/isdnctrl encap isdn0 cisco-h
575 /sbin/isdnctrl huptimeout isdn0 0
577 /sbin/isdnctrl eaz isdn0 1
578 /sbin/isdnctrl l2_prot isdn0 hdlc
580 /sbin/isdnctrl addphone isdn0 in LEASED0
581 if [ ${I4L_LEASED_128K} = "yes" ]; then
582 /sbin/isdnctrl addslave isdn0 isdn0s
583 /sbin/isdnctrl secure isdn0s on
584 /sbin/isdnctrl huptimeout isdn0s 0
586 /sbin/isdnctrl eaz isdn0s 2
587 /sbin/isdnctrl l2_prot isdn0s hdlc
589 /sbin/isdnctrl addphone isdn0s in LEASED0
590 if [ ${I4L_REMOTE_IS_CISCO} = "yes" ]; then
591 /sbin/isdnctrl encap isdn0s cisco-h
594 /sbin/isdnctrl dialmode isdn0 manual
596 /sbin/ifconfig isdn0 ${LOCAL_IP} pointopoint ${REMOTE_IP}
597 /sbin/route add -host ${REMOTE_IP} isdn0
598 /sbin/route add default gw ${REMOTE_IP}
599 # switch to leased mode
601 /sbin/hisaxctrl HiSax 5 1
602 if [ ${I4L_LEASED_128K} = "yes" ]; then
604 sleep 10; /* Wait for master */
605 /sbin/hisaxctrl HiSax 5 2
609 /sbin/ifconfig isdn0 down
610 /sbin/isdnctrl delif isdn0
611 if [ ${I4L_DEBUG} = "yes" ]; then
614 if [ ${I4L_AS_MODULE} = "yes" ]; then
622 echo "Usage: $0 {start|stop}"