SuSE GmbH

SuSE Support Database

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

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

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

Applies to

SuSE Linux: Version 5.1

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

----------

See also:

----------

Keywords: ISDN, INIT, SCRIPTS

----------

Categories: Documentation

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

SDB-isdn_netscripts, Copyright SuSE GmbH, Nuremberg, Germany - Version: 19. Mar 1997
SuSE GmbH - Last generated: 07. Oct 1999 16:43:00 by maddin with sdb_gen 1.00.0