S.u.S.E. ISDN init-scripts

Support knowledgebase (isdn_netscripts)
Applies to

SuSE Linux: Version 5.1
This article refers to an older version of SuSE Linux. Therefore some of the informations given in this article may be outdated or the article may contain stale links.

The following scripts are used in S.u.S.E. Linux 5.1 in /sbin/init.d:

i4l_hardware

#!/bin/sh # Copyright (c) 1996, 1997 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. # # /sbin/init.d/i4l_hardware # # (c) Klaus Franken, S.u.S.E. GmbH, Fuerth # # Version: 5.1 26.10.97 (kfr) # Maintainer: kfr@suse.de # # Dont't forget to edit /etc/rc.config! # For more informatione see: # /usr/doc/packages/i4l/* (especially README.SuSE) # /usr/src/linux/Documentation/isdn/* # # This script is loading the needed ISDN-modules # The net-confguration is done by /sbin/init.d/i4l . /etc/rc.config test "$I4L_START" = yes || exit 0 SBIN=/sbin FIRMPATH=/usr/lib/isdn case "$1" in start) echo "Loading ISDN drivers ..." ######################################################### # HiSax ######################################################### if test ! -z "$I4L_TELES_TYPE"; then echo "Loading HiSax driver ..." # default values test -z "$I4L_HISAXDEBUG" && I4L_HISAXDEBUG="4" test -z "$I4L_TELES_ID" && I4L_TELES_ID="Tel0" if test -z "$I4L_TELES_MODUL_OPTIONS"; then HISAX_PAR1="id=$I4L_TELES_ID type=$I4L_TELES_TYPE protocol=$I4L_PROTOCOL" case "$I4L_TELES_TYPE" in 1) # Teles 16.0 HISAX_PAR2="irq=$I4L_TELES_IRQ mem=$I4L_TELES_MEMBASE io=$I4L_TELES_PORT" ;; 2) # Teles 8.0 HISAX_PAR2="irq=$I4L_TELES_IRQ mem=$I4L_TELES_MEMBASE" ;; 3) # Teles 16.3 HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 4) # Creatix/Teles PnP HISAX_PAR2="irq=$I4L_TELES_IRQ io0=$I4L_TELES_IO0 io1=$I4L_TELES_IO1" ;; 5) # AVM A1 (Fritz) HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 6) # ELSA PCC/PCF if test -z "$I4L_TELES_PORT"; then # Autoprobing HISAX_PAR2="" else HISAX_PAR2="io=$I4L_TELES_PORT" fi ;; 7) # ELSA Quickstep 1000 (PnP) HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 8) # Teles 16.3 PCMCIA HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 9) # ITK ix1-micro Rev.2 HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 10) # ELSA PCMCIA HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 11) # Eicon.Diehl Diva ISA PnP / Eicon.Diehl Diva PCI if test -z "$I4L_TELES_PORT"; then # PCI HISAX_PAR2="" else HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" fi ;; 12) # ASUS COM ISDNLink PnP HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 13) # HFC-2BS0 based cards HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 15) # Sedlbauer Speed Card HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 16) # USR Sportster internal HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 17) # MIC card HISAX_PAR2="irq=$I4L_TELES_IRQ io=$I4L_TELES_PORT" ;; 18) # ELSA Quickstep 1000PCI HISAX_PAR2="" ;; *) echo "$0: unknown I4L_TELES_TYPE: $I4L_TELES_TYPE" echo "$0: exiting!" exit 1 ;; esac HISAX_PAR="${HISAX_PAR1} ${HISAX_PAR2}" else HISAX_PAR=$I4L_TELES_MODUL_OPTIONS fi /sbin/modprobe -v hisax $HISAX_PAR if test $? -ne 0; then echo "" echo "Initialization of HiSax failed!" echo "Check /var/log/messages and /var/log/warn." echo "Check that the values in '/etc/rc.config' are correct:" echo "I4L_TELES_TYPE: ${I4L_TELES_TYPE}" echo "I4L_TELES_MEMBASE: ${I4L_TELES_MEMBASE}" echo "I4L_TELES_IRQ: ${I4L_TELES_IRQ}" echo "I4L_TELES_PORT: ${I4L_TELES_PORT}" echo "I4L_TELES_IO0: ${I4L_TELES_IO0}" echo "I4L_TELES_IO1: ${I4L_TELES_IO1}" echo "I4L_PROTOCOL: ${I4L_PROTOCOL}" echo "I4L_TELES_MODUL_OPTIONS: ${I4L_TELES_MODUL_OPTIONS}" echo "" modprobe -r hisax exit 1 fi # enable debugging test -z "$I4L_TELES_ID" || $SBIN/hisaxctrl ${I4L_TELES_ID} 1 4 test -z "$I4L_LEASED" || $SBIN/hisaxctrl ${I4L_TELES_ID} 5 0 test -z "$I4L_VERBOSE" || $SBIN/isdnctrl verbose 3 # start isdnlog for optionfile in /etc/isdn/isdnlog.*.options; do if test -f $optionfile; then device=${optionfile#*.} device=${device%.*} echo "Starting isdnlog with $optionfile for $device..." $SBIN/isdnlog -f$optionfile /dev/$device & else echo "Starting isdnlog with defaults for /dev/isdnctrl0..." $SBIN/isdnlog -D -l1015 -x4087 -M -n -W80 /dev/isdnctrl0 & fi done # start iprofd test "$I4L_IPROFD" = "yes" && ($SBIN/iprofd /etc/isdn/modemsettings &) fi ######################################################### # ICN ######################################################### if test ! -z "$I4l_ICN_PORT"; then echo "Loading ICN driver ..." ICN_PAR="portbase=$I4l_ICN_PORT membase=$I4l_ICN_MEMBASE \ icn_id=$I4l_ICN_ID" test -z "$I4l_ICN_ID2" || ICN_PAR="$ICN_PAR icn_id2=$I4l_ICN_ID2" /sbin/modprobe -v icn "$ICN_PAR" if test $? -ne 0; then echo "" echo "Initialization of the ICN-modul failed!" echo "Check that the values in '/etc/rc.config' are correct:" echo " and see /usr/doc/packages/i4l/kernel/README.icn" echo "I4L_ICN_ID: ${I4L_ICN_ID}" echo "I4L_ICN_ID2: ${I4L_ICN_ID2}" echo "I4L_ICN_PORT: ${I4L_ICN_PORT}" echo "I4L_ICN_MEMBASE: ${I4L_ICN_MEMBASE}" echo "" modprobe -r icn exit 1 fi case "$I4L_ICN_PROTOCOLL" in 1) ICN_FIRM="$FIRMPATH/pc_1t_ca.bin" ;; 2) ICN_FIRM="$FIRMPATH/pc_eu_ca.bin" ;; *) echo "ERROR: unknown ISDN-Protocoll: $I4L_ICN_PROTOCOLL" exit 1 ;; esac case "$I4L_ICN_PROTOCOLL2" in 1) ICN_FIRM2="$FIRMPATH/pc_1t_ca.bin" ;; 2) ICN_FIRM2="$FIRMPATH/pc_eu_ca.bin" ;; "") ;; *) echo "ERROR: unknown ISDN-Protocoll: $I4L_ICN_PROTOCOLL" exit 1 ;; esac echo "Loading ICN firmware ..." ICN_FIRM="$FIRMPATH/loadpg.bin $ICN_FIRM $ICN_FIRM2" $SBIN/icnctrl load $ICN_FIRM if test $? -ne 0; then echo "" echo "Loading of Firmware $ICN_FIRM failed!" echo "Check that the values in '/etc/rc.config' are correct:" echo " and see /usr/doc/packages/i4l/kernel/README.icn" echo "I4L_ICN_ID: ${I4L_ICN_ID}" echo "I4L_ICN_ID2: ${I4L_ICN_ID2}" echo "I4L_ICN_PORT: ${I4L_ICN_PORT}" echo "I4L_ICN_MEMBASE: ${I4L_ICN_MEMBASE}" echo "I4L_ICN_PROTOCOLL: ${I4L_ICN_PROTOCOLL}" echo "I4L_ICN_PROTOCOLL2: ${I4L_ICN_PROTOCOLL}" echo "" modprobe -r icn exit 1 fi fi ######################################################### # AVM-B1 ######################################################### if test "$I4L_USE_B1" = "yes" ; then if test "$I4L_USE_B1_AS_MODULE" = "yes" ; then echo "Loading AVM-B1 driver ..." modprobe -v kernelcapi portbase=0 if test $? -ne 0; then echo "Initialization of the AVM-B1-CAPI2.0-modul failed!" exit 1 fi modprobe -v capi if test $? -ne 0; then echo "Initialization of the AVM-B1-CAPI2.0-Interface failed!" modprobe -r kernelcapi exit 1 fi modprobe -v capidrv if test $? -ne 0; then echo "Initialization of the AVM-B1-I4L-Interface failed!" modprobe -r capi exit 1 fi if test $I4L_USE_B1_PCI = yes ; then modprobe -v b1pci if test $? -ne 0; then echo "Initialization of the AVM-B1-PCI-module failed!" exit 1 fi fi fi for CONTR in 1 2 3 4 ; do eval IRQ=\$I4L_B1_IRQ_$CONTR eval IO=\$I4L_B1_IO_$CONTR eval PROTO=\$I4L_B1_PROTOCOLL_$CONTR if test ! -z "$IRQ" -a ! -z "$IO" ; then echo "Adding AVM-B1 Controller $CONTR (IO: $IO, IRQ: $IRQ)..." avmcapictrl add $IO $IRQ if test $? -ne 0; then echo "" echo "Adding AVM-B1-Controller $CONTR failed!" echo "" exit 1 fi fi if test -z $PROTO ; then continue; fi case "$PROTO" in 1) B1_FIRM="$FIRMPATH/b1-1tr6.t4" ;; 2) B1_FIRM="$FIRMPATH/b1.t4" ;; *) echo "ERROR: unknown ISDN-Protocoll: $PROTO" exit 1 ;; esac echo "Loading AVM-B1 firmware to Controller $CONTR ..." $SBIN/avmcapictrl load $B1_FIRM $CONTR if test $? -ne 0; then echo "" echo "Loading of Firmware $B1_FIRM on Controller $CONTR failed!" echo "" exit 1 fi done fi ;; stop) # kill iprofd test "$I4L_IPROFD" = "yes" && killall iprofd # kill isdnlog for pidfile in /var/run/isdnlog.*.pid; do test -r $pidfile || continue /bin/kill `cat $pidfile` rm -f $pidfile done echo "Unloading ISDN drivers ..." # unload modules if test ! -z "$I4L_TELES_TYPE"; then /sbin/modprobe -r hisax fi if test ! -z "$I4l_ICN_PORT"; then /sbin/modprobe -r icn fi if test ! -z "$I4L_USE_B1"; then /sbin/modprobe -r capi capidrv kernelcapi capiutil fi /sbin/modprobe -r slhc ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0

i4l

#!/bin/sh # Copyright (c) 1996, 1997 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. # # /sbin/init.d/i4l # # (c) Klaus Franken, S.u.S.E. GmbH, Fuerth # # Version: 5.1 26.10.97 (kfr) # Maintainer: kfr@suse.de # # Dont't forget to edit /etc/rc.config! # For more informatione see: # /usr/doc/packages/i4l/* (especially README.SuSE) # /usr/src/linux/Documentation/isdn/* # # This script is configuring the ISDN net devices # The ISDN hardware configuration is done by /sbin/init.d/i4l_hardware . /etc/rc.config test "$I4L_START" = yes -o ! -z "$2" || exit 0 SBIN=/sbin case "$1" in start) # # configure interfaces # for I in $NETCONFIG; do eval NETDEV=\$NETDEV$I eval IFCONFIG=\$IFCONFIG$I eval I4L_IDLETIME=\$I4L_IDLETIME$I eval I4L_DIALMAX=\$I4L_DIALMAX$I eval I4L_REMOTE_OUT=\$I4L_REMOTE_OUT$I eval I4L_REMOTE_OUT1=\$I4L_REMOTE_OUT1$I eval I4L_REMOTE_OUT2=\$I4L_REMOTE_OUT2$I eval I4L_REMOTE_IN=\$I4L_REMOTE_IN$I eval I4L_REMOTE_IN1=\$I4L_REMOTE_IN1$I eval I4L_REMOTE_IN2=\$I4L_REMOTE_IN2$I eval I4L_LOCALMSN=\$I4L_LOCALMSN$I eval I4L_PROTOCOL=\$I4L_PROTOCOL$I eval I4L_ENCAP=\$I4L_ENCAP$I eval I4L_SECURE=\$I4L_SECURE$I eval I4L_BIND=\$I4L_BIND$I # additional/default features eval I4L_PPPBIND=\$I4L_PPPBIND$I test -z "$I4L_PPPBIND" && I4L_PPPBIND="yes" eval I4L_CHARGEHUP=\$I4L_CHARGEHUP$I test -z "$I4L_CHARGEHUP" && I4L_CHARGEHUP="off" eval I4L_IHUP=\$I4L_IHUP$I test -z "$I4L_IHUP" && I4L_IHUP="off" eval I4L_L2=\$I4L_L2$I test -z "$I4L_L2" && I4L_L2="hdlc" eval I4L_L3=\$I4L_L3$I test -z "$I4L_L3" && I4L_L3="trans" eval I4L_CALLBACK=\$I4L_CALLBACK$I test -z "$I4L_CALLBACK" && I4L_CALLBACK="off" eval I4L_CBDELAY=\$I4L_CBDELAY$I test -z "$I4L_CBDELAY" && I4L_CBDELAY="2" eval I4L_CBHUP=\$I4L_CBHUP$I test -z "$I4L_CBHUP" && I4L_CBHUP="on" if test ! -z "$2" -a "$2" != "$NETDEV"; then continue fi case $NETDEV in ippp*|isdn*) echo "Starting isdn4linux on device $NETDEV" $SBIN/isdnctrl addif $NETDEV cat /proc/net/dev | grep $NETDEV > /dev/null 2>&1 if test $? -ne 0; then echo "$0: $NETDEV doesn't exist in /proc/net/dev" echo "Check ISDN hardware configuration and activate" echo "" exit 1 fi if test -z "$I4L_LOCALMSN"; then echo "You must set a MSN/EAZ for $NETDEV" echo "edit /etc/rc.config and define 'I4L_LOCALMSN$I'" continue fi # define local MSN (phone number): $SBIN/isdnctrl eaz $NETDEV ${I4L_LOCALMSN} # compability: test -z "${I4L_REMOTE_OUT1}" || I4L_REMOTE_OUT="${I4L_REMOTE_OUT1} $I4L_REMOTE_OUT" test -z "${I4L_REMOTE_OUT2}" || I4L_REMOTE_OUT="${I4L_REMOTE_OUT2} $I4L_REMOTE_OUT" # add numbers(s) to call out: test -z "${I4L_REMOTE_OUT}" || for number in ${I4L_REMOTE_OUT}; do $SBIN/isdnctrl addphone $NETDEV out $number done # compability: test -z "${I4L_REMOTE_IN1}" || I4L_REMOTE_IN="${I4L_REMOTE_IN1} $I4L_REMOTE_IN" test -z "${I4L_REMOTE_IN2}" || I4L_REMOTE_IN="${I4L_REMOTE_IN2} $I4L_REMOTE_IN" # add numbers(s) allowed to call in: test -z "${I4L_REMOTE_IN}" || for number in ${I4L_REMOTE_IN}; do $SBIN/isdnctrl addphone $NETDEV in $number done # the layer-2 protocol: $SBIN/isdnctrl l2_prot $NETDEV $I4L_L2 # the layer-3 protocol: $SBIN/isdnctrl l3_prot $NETDEV $I4L_L3 # encapsulation $SBIN/isdnctrl encap $NETDEV $I4L_ENCAP # secure?, on = only defined numbers are allowed to call in $SBIN/isdnctrl secure $NETDEV $I4L_SECURE # automatic hangup if idle: $SBIN/isdnctrl huptimeout $NETDEV ${I4L_IDLETIME} # hangup before next charge info? $SBIN/isdnctrl chargehup $NETDEV $I4L_CHARGEHUP # hangup incomming calls too? $SBIN/isdnctrl ihup $NETDEV $I4L_IHUP # set the number of dial atempts for each number test -z "$I4L_DIALMAX" || $SBIN/isdnctrl dialmax $NETDEV $I4L_DIALMAX # callback features $SBIN/isdnctrl callback $NETDEV $I4L_CALLBACK $SBIN/isdnctrl cbdelay $NETDEV $I4L_CBDELAY $SBIN/isdnctrl cbhup $NETDEV $I4L_CBHUP # bind features test -z "${I4L_BIND}" || $SBIN/isdnctrl bind $NETDEV ${I4L_BIND} ;; *) ;; esac # # configure net device # case $NETDEV in isdn*) echo "Setting up network device $NETDEV" ifconfig $NETDEV $IFCONFIG ;; ippp*) echo "Setting up network device $NETDEV" ifconfig $NETDEV $IFCONFIG # start ppp-daemon OPTIONFILE=/etc/ppp/options.$NETDEV PIDFILE=/var/run/ipppd.$NETDEV.pid # is there running an old ipppd? if test -s $PIDFILE; then echo "Warning: $PIDFILE exists" echo " is there an old ipppd running?" if test ps -h --format args `cat $PIDFILE` | grep $SBIN/ipppd \ > /dev/null; then echo "Warning: kill `cat $PIDFILE`" ps -p `cat $PIDFILE` kill `cat $PIDFILE` sleep 2 if test -s $PIDFILE; then # ganz schoen hartnaeckig :-( echo "Warning: kill -9 `cat $PIDFILE`" kill -9 `cat $PIDFILE` fi fi fi # start if test -r $OPTIONFILE; then echo "Starting ippp-daemon for ISDN device $NETDEV with $OPTIONFILE" $SBIN/ipppd pidfile $PIDFILE file $OPTIONFILE & else echo "Start ippp-daemon for ISDN device $NETDEV" $SBIN/ipppd pidfile $PIDFILE $NETDEV & fi if test ! "$I4L_PPPBIND" = "no"; then binddev=`echo $NETDEV | sed -n "s/ippp\([0-9]*\)$/\1/p"` $SBIN/isdnctrl pppbind $NETDEV $binddev echo "" fi ;; *) ;; esac done ;; stop) for I in $NETCONFIG; do eval NETDEV=\$NETDEV$I eval IFCONFIG=\$IFCONFIG$I if test ! -z "$2" -a "$2" != "$NETDEV"; then continue fi case "$NETDEV" in isdn*) echo "Shutting down network device $NETDEV." ifconfig $NETDEV down $SBIN/isdnctrl delif $NETDEV ;; ippp*) echo "Shutting down network device and ipppd for $NETDEV." PIDFILE=/var/run/ipppd.$NETDEV.pid test -s $PIDFILE && kill `cat $PIDFILE` ifconfig $NETDEV down $SBIN/isdnctrl delif $NETDEV ;; *) ;; esac done ;; *) echo "Usage: $0 {start|stop} [NETDEV]" exit 1 ;; esac
Keywords: ISDN, INIT, SCRIPTS

Categories: Documentation

SDB-isdn_netscripts, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 19. Mär 1997
SuSE Linux AG - Last generated: 23. Jul 2002 13:27:39 by kfr (sdb_gen 1.40.0)