123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #!/bin/sh
- #
- # DAHDI: Loads Asterisk modules
- #
- # Version: @(#) /etc/rc.d/init.d/dahdi 1.0
- #
- # chkconfig: 2345 90 10
- # description: Loads and unloads DAHDI modules at boot time and shutdown.
- #
- # hide: true
- # $Id$
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Default modules - override in /etc/sysconfig/dahdi
- ######################################
- MODULES="usb-uhci dahdi wcfxo wcusb"
- ######################################
- # Resolve back to the basename (i.e. dahdi, not S90dahdi)
- if [ 0`readlink $0` = "0" ]; then
- CONFIGFILE=/etc/sysconfig/`basename $0`
- else
- CONFIG0=`readlink $0`
- CONFIGFILE=/etc/sysconfig/`basename $CONFIG0`
- fi
- [ -f $CONFIGFILE ] && . $CONFIGFILE
- function probe() {
- gprintf " $1"
- modprobe -i $1
- # It has to be in the module list, otherwise something is wrong
- if lsmod | grep -c ^$1 >/dev/null; then
- success
- else
- failure
- fi
- echo
- }
- function unprobe() {
- gprintf " $1"
- rmmod $1 >/dev/null 2>&1
- # If it's still in the module list after removing it, there's something wrong.
- if lsmod | grep -c ^$1 >/dev/null; then
- failure
- else
- success
- fi
- echo
- }
- function reverse_modules() {
- tmp=$MODULES
- MODULES=''
- for i in $tmp; do
- MODULES="$i $MODULES" ;
- done
- }
- # See how we were called.
- case "$1" in
- start)
- gprintf "Loading Asterisk modules:\n"
- for i in $MODULES; do
- probe $i
- usleep 100000 ;
- done
- ztcfg
- ;;
- stop)
- gprintf "Unloading Asterisk modules:\n"
- reverse_modules
- for i in $MODULES; do
- unprobe $i
- usleep 100000 ;
- done
- ;;
- status)
- #ztcfg -vv
- OK=1
- gprintf "Checking Asterisk modules"
- for i in $MODULES; do
- if [ `lsmod | grep -c $i` -eq 0 ]; then
- OK=0
- fi
- done
- if [ $OK -gt 0 ]; then
- success
- else
- failure
- fi
- echo
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- gprintf "*** Usage: $0 {start|stop|status|restart}\n"
- exit 1
- esac
- exit 0
|