![tilghman](/assets/img/avatar_default.png)
(Closes issue #13221) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135485 f38db490-d61c-443f-a65b-d21fe96a405b
109 lines
1.9 KiB
Bash
Executable file
109 lines
1.9 KiB
Bash
Executable file
#!/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
|
|
|