diff options
Diffstat (limited to 'misc/zaptel/rc.zaptel')
-rw-r--r-- | misc/zaptel/rc.zaptel | 209 |
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 - |