[zaptel-commits] tzafrir: branch tzafrir/zaphelper r2033 - in
/team/tzafrir/zaphelper: ./ exam...
zaptel-commits at lists.digium.com
zaptel-commits at lists.digium.com
Tue Jan 30 17:52:04 MST 2007
Author: tzafrir
Date: Tue Jan 30 18:52:03 2007
New Revision: 2033
URL: http://svn.digium.com/view/zaptel?view=rev&rev=2033
Log:
* Fixed some syntax and such errors:
- Call "unload" instead of unload_modules" that did not exist.
- Don't check for $system = 'redhat' if you're in a distro-specific
script anyway.
* Added a few other helpers:
- kill_zaptel_users: kill all the processes that have a zaptel file open.
Otherwise they would have prevented Zaptel modules from shutting down.
- run_fxotune: run fxotune without completely shutting down Asterisk.
This one is over-aggressive and thus potentially dangerous.
- xpp_blink: Identify Astrianks by blinking their leds.
- run_adj_clock: for xpp/utils/adj_clock
Modified:
team/tzafrir/zaphelper/examples/zaptel.rh.init
team/tzafrir/zaphelper/examples/zaptel.suse.init
team/tzafrir/zaphelper/zaptel-helper
Modified: team/tzafrir/zaphelper/examples/zaptel.rh.init
URL: http://svn.digium.com/view/zaptel/team/tzafrir/zaphelper/examples/zaptel.rh.init?view=diff&rev=2033&r1=2032&r2=2033
==============================================================================
--- team/tzafrir/zaphelper/examples/zaptel.rh.init (original)
+++ team/tzafrir/zaphelper/examples/zaptel.rh.init Tue Jan 30 18:52:03 2007
@@ -41,11 +41,9 @@
case "$1" in
start)
echo -n "Loading zaptel hardware modules:"
- if [ "$system" = redhat ]; then
- for mod in ${MODULES}; do
- modprobe $mod
- done
- fi
+ for mod in ${MODULES}; do
+ modprobe $mod
+ done
# Get the Astribank module loaded properly:
init_astribank
@@ -67,10 +65,8 @@
[ $RETVAL -eq 0 ] && touch $LOCKFILE
;;
stop)
- # Unload drivers
- # FIXME: Not for Debian?
echo -n "Unloading zaptel hardware drivers:"
- unload_modules
+ unload
echo .
RETVAL=$?
Modified: team/tzafrir/zaphelper/examples/zaptel.suse.init
URL: http://svn.digium.com/view/zaptel/team/tzafrir/zaphelper/examples/zaptel.suse.init?view=diff&rev=2033&r1=2032&r2=2033
==============================================================================
--- team/tzafrir/zaphelper/examples/zaptel.suse.init (original)
+++ team/tzafrir/zaphelper/examples/zaptel.suse.init Tue Jan 30 18:52:03 2007
@@ -50,11 +50,9 @@
case "$1" in
start)
echo -n "Loading zaptel hardware modules:"
- if [ "$system" = redhat ]; then
- for mod in ${MODULES}; do
- modprobe $mod
- done
- fi
+ for mod in ${MODULES}; do
+ modprobe $mod
+ done
# Get the Astribank module loaded properly:
init_astribank
@@ -79,7 +77,7 @@
# Unload drivers
# FIXME: Not for Debian?
echo -n "Unloading zaptel hardware drivers:"
- unload_modules
+ unload
echo .
$ZTCFG || rc_failed 1 ; rc_status -v
Modified: team/tzafrir/zaphelper/zaptel-helper
URL: http://svn.digium.com/view/zaptel/team/tzafrir/zaphelper/zaptel-helper?view=diff&rev=2033&r1=2032&r2=2033
==============================================================================
--- team/tzafrir/zaphelper/zaptel-helper (original)
+++ team/tzafrir/zaphelper/zaptel-helper Tue Jan 30 18:52:03 2007
@@ -86,6 +86,10 @@
fi
}
+kill_zaptel_users() {
+ fuser -k /dev/zap/*
+}
+
# recursively unload a module and its dependencies, if possible.
# where's modprobe -r when you need it?
# inputs: module to unload.
@@ -165,10 +169,55 @@
fi
}
+run_adj_clock() {
+ if [ "$XPP_RUN_ADJ_CLOCK" = '' ]; then return; fi
+
+ # daemonize adj_clock:
+ (adj_clock </dev/null >/dev/null 2>&1 &)&
+}
+
init_astribank() {
- wait_fox_xpp
+ wait_for_xpp
zap_reg_xpp
fix_asterisbank_sync
+ run_adj_clock
+}
+
+xpp_do_blink() {
+ val="$1"
+ shift
+ for xbus in $*
+ do
+ for xpd in /proc/xpp/XBUS-"$xbus"/XPD-*
+ do
+ echo "$val" > "$xpd/blink"
+ done
+ done
+}
+
+xpp_blink() {
+ xbuses=`grep STATUS=connected /proc/xpp/xbuses | sed -e 's/^XBUS-//' -e 's/:.*$//'`
+ num=`echo $1 | tr -c -d 0-9`
+ case "$num" in
+ [0-9]*)
+ shift
+ xpp_do_blink 1 $xbuses
+ sleep 2
+ xpp_do_blink 0 $xbuses
+ ;;
+ *)
+ shift
+ echo 1>&2 Enumerating $xbuses
+ xpp_do_blink 0 $xbuses
+ for i in $xbuses
+ do
+ echo "BLINKING: $i"
+ xpp_do_blink 1 "$i"
+ sleep 2
+ xpp_do_blink 0 "$i"
+ done
+ ;;
+ esac
}
# The current Debian start function.
@@ -189,6 +238,23 @@
}
+# run_fxotune: destroy all FXO channels and run fxotune.
+# This allows running fxotune without completly shutting down Asterisk.
+#
+# A simplistic assumption: every zaptel channel in the context from-pstn
+# is a FXO ones.
+# or rather: all tunable FXO channels are in the context from-pstn are
+# not defined by zaptel.
+run_fxotune() {
+ xpp_fxo_chans=`cat /proc/zaptel/* | awk '/XPP_FXO/{print $1}'`
+ for chan in $xpp_fxo_chans; do
+ asterisk -rx "zap destroy channel $chan"
+ done
+ $FXOTUNE
+ asterisk -rx "zap restart"
+}
+
+
# recursively unload a module and its dependencies, if possible.
# where's modprobe -r when you need it?
# inputs: module to unload.
@@ -209,6 +275,10 @@
done
rmmod $module || true
set -e
+}
+
+unload() {
+ unload_module zaptel
}
# sleep a while until the xpp modules fully register
@@ -302,6 +372,6 @@
# unless we wanted to use this as a set of functions, run
# the given function with its parameters:
-if [ "$ZAPHELPER_ONLY_INCLUDE" != '' ]; then
+if [ "$ZAPHELPER_ONLY_INCLUDE" = '' ]; then
"$@"
fi
More information about the zaptel-commits
mailing list