summaryrefslogtreecommitdiff
path: root/misc/zaptel/rc.zaptel
diff options
context:
space:
mode:
Diffstat (limited to 'misc/zaptel/rc.zaptel')
-rw-r--r--misc/zaptel/rc.zaptel209
1 files changed, 0 insertions, 209 deletions
diff --git a/misc/zaptel/rc.zaptel b/misc/zaptel/rc.zaptel
deleted file mode 100644
index 1ab703e7ab..0000000000
--- a/misc/zaptel/rc.zaptel
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/bin/sh
-#
-# This shell script takes care of loading and unloading
-# Zapata Telephony interfaces
-#
-# This script is a heavily modified version of zaptel.init found
-# in the zaptel source archive and thus is covered under the GNU
-# General Public License version 2.
-#
-# Some parts Copyright 2007, Alan Hicks, Lizella, GA
-#
-
-# What modules should we try to load on 'start'? By default, we'll
-# attempt to load the driver for the popular Digium WildCat cards. If
-# this fails or no modules are specified, the ztdummy module will be
-# automatically loaded to provide a timing mechanism in the kernel.
-# If you need some other modules loaded, seperate them with spaces.
-# MODULES="foo bar"
-MODULES="wctdm"
-
-ZTCFG_CMD=/sbin/ztcfg
-FXOTUNE=/sbin/fxotune
-LOCKFILE=/var/lock/subsys/zaptel
-
-# The default syncer Astribank. Usually set automatically to a sane
-# value by xpp_sync(1) if you have an Astribank. You can set this to an
-# explicit Astribank (e.g: 01).
-XPP_SYNC=auto
-
-# The maximal timeout (seconds) to wait for udevd to finish generating
-# device nodes after the modules have loaded and before running ztcfg.
-ZAP_DEV_TIMEOUT=20
-
-#####################################################################
-## ##
-## NOTHING BELOW HERE SHOULD NEED TO BE CHANGED ##
-## ##
-#####################################################################
-
-# recursively unload a module and its dependencies, if possible.
-# For some reason, modprobe can't seem to remove these modules
-# on its own, so we kludge this here.
-# inputs: module to unload.
-# returns: the result from
-unload_module() {
- module="$1"
- line=$(lsmod 2>/dev/null | grep "^$1 ")
- if [ "$line" = '' ]; then return; fi # module was not loaded
-
- set -- $line
- # $1: the original module, $2: size, $3: refcount, $4: deps list
- mods=$(echo $4 | tr , ' ')
- # xpp_usb keeps the xpds below busy if an xpp hardware is
- # connected. Hence must be removed before them:
- case "$module" in xpd_*) mods="xpp_usb $mods";; esac
- for mod in $mods; do
- # run in a subshell, so it won't step over our vars:
- (unload_module $mod)
- # TODO: the following is probably the error handling we want:
- # if [ $? != 0 ]; then return 1; fi
- done
- rmmod $module
-}
-
-# I have not tested this function in the least, so I cannot say if it
-# works properly with Slackware or not. If you can, please test this
-# and report back any problems or successes you may have so we can fix
-# this in the SlackBuild script. With that said, I don't see any reason
-# why this function would not work.
-# -- Alan Hicks
-hpec_start() {
- # HPEC license found
- if ! echo /var/lib/digium/licenses/HPEC-*.lic | grep -v '\*' | grep -q .; then
- return
- fi
-
- # zaphpec_enable not installed in /usr/sbin
- if [ ! -f /usr/sbin/zaphpec_enable ]; then
- echo -n "Running zaphpec_enable: Failed"
- echo -n "."
- echo " The zaphpec_enable binary is not installed in /usr/sbin."
- return
- fi
-
- # zaphpec_enable not set executable
- if [ ! -x /usr/sbin/zaphpec_enable ]; then
- echo -n "Running zaphpec_enable: Failed"
- echo -n "."
- echo " /usr/sbin/zaphpec_enable is not set as executable."
- return
- fi
-
- # zaphpec_enable properly installed
- action "Running zaphpec_enable: " /usr/sbin/zaphpec_enable
- if [ $? = 0 ]; then
- echo -n "done"
- echo "."
- else
- echo -n "Failed"
- echo -n "."
- echo " This can be caused if you had already run zaphpec_enable, or if your HPEC license is no longer valid."
- fi
-}
-
-
-# Check that telephony is up.
-#[ "${TELEPHONY}" = "yes" ] || exit 0
-
-if [ ! -f /etc/zaptel.conf ]; then
- echo "Could not find /etc/zaptel.conf! Abandon ship!"
- exit 1
-fi
-
-if [ "${DEBUG}" = "yes" ]; then
- ARGS="debug=1"
-fi
-
-RETVAL=0
-
-# See how we were called.
-case "$1" in
- start)
- # Load drivers
- rmmod wcusb 2> /dev/null
- rmmod wcfxsusb 2> /dev/null
- rmmod audio 2> /dev/null
-
- echo "Loading zaptel framework: "
- modprobe zaptel ${ARGS}
-
- echo -n "Waiting for zap to come online..."
- TMOUT=$ZAP_DEV_TIMEOUT # max secs to wait
- while [ ! -d /dev/zap ] ; do
- echo -n "$TMOUT "
- sleep 1
- TMOUT=$(expr $TMOUT - 1)
- if [ $TMOUT -eq 0 ] ; then
- echo " " # line break
- echo "Error: missing /dev/zap!"
- exit 1
- fi
- done
- echo "OK"
- echo -n "Loading zaptel hardware modules:"
- for x in $MODULES; do
- if modprobe ${x} ${ARGS} 2> /dev/null; then
- echo "Loaded module: ${x}."
- fi
- done
- sleep 3 # TODO: remove it
-
- if [ ! -e /proc/zaptel/1 ]; then
- echo "No functioning zap hardware found in /proc/zaptel, loading ztdummy"
- modprobe ztdummy 2> /dev/null
- fi
-
- echo "Running ztcfg: "
- $ZTCFG_CMD 2> /dev/null
- RETVAL=$?
-
- if [ $RETVAL -eq 0 ]; then
- touch $LOCKFILE
- else
- echo "Something went wrong. Try running ztcfg -vvv."
- fi
-
- # This is allowed to fail (or not even run). These files may not
- # be present, and aren't required for Asterisk.
- if [ -x "$FXOTUNE" ] && [ -r /etc/fxotune.conf ]; then
- $FXOTUNE -s || :
- fi
-
- hpec_start
- ;;
- stop)
- # Unload drivers
- echo -n "Unloading zaptel hardware drivers:"
- unload_module zaptel
- RETVAL=$?
- echo "."
-
- [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
- ;;
- unload)
- # We don't have zaptel helper, so let's not replicate too much code:
- # allow others to use the unload command.
- unload_module zaptel
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo "Reloading ztcfg: "
- if $ZTCFG_CMD 2> /dev/null; then
- echo -n "done"
- RETVAL=0
- else
- echo "ztcfg failed. Are your modules loaded?"
- RETVAL=1
- fi
- ;;
- *)
- echo "Usage: zaptel {start|stop|restart|reload}"
- exit 1
-esac
-
-exit $RETVAL
-