summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2008-06-19 17:23:15 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2008-06-19 17:23:15 +0000
commitc1ae88873823bdc2d884f72cc2b06eab017b97b1 (patch)
tree07db658e30eb6837646bb5ced9d82e9372b5bd11
parente78c863ec69587ffb55e44abc0641f5c392a08f3 (diff)
XPP utilities rename: first moves.
git-svn-id: http://svn.asterisk.org/svn/dahdi/tools/trunk@4415 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rwxr-xr-xxpp/dahdi_drivers (renamed from xpp/zaptel_drivers)0
-rwxr-xr-xxpp/dahdi_genconf (renamed from xpp/zapconf)0
-rwxr-xr-xxpp/dahdi_hardware (renamed from xpp/zaptel_hardware)0
-rwxr-xr-xxpp/lsdahdi (renamed from xpp/lszaptel)0
-rw-r--r--xpp/perl_modules/Zaptel.pm (renamed from xpp/zconf/Zaptel.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Chans.pm (renamed from xpp/zconf/Zaptel/Chans.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Config/Defaults.pm (renamed from xpp/zconf/Zaptel/Config/Defaults.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Hardware.pm (renamed from xpp/zconf/Zaptel/Hardware.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Hardware/PCI.pm (renamed from xpp/zconf/Zaptel/Hardware/PCI.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Hardware/USB.pm (renamed from xpp/zconf/Zaptel/Hardware/USB.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Span.pm (renamed from xpp/zconf/Zaptel/Span.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Utils.pm (renamed from xpp/zconf/Zaptel/Utils.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Xpp.pm (renamed from xpp/zconf/Zaptel/Xpp.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Xpp/Line.pm (renamed from xpp/zconf/Zaptel/Xpp/Line.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Xpp/Xbus.pm (renamed from xpp/zconf/Zaptel/Xpp/Xbus.pm)0
-rw-r--r--xpp/perl_modules/Zaptel/Xpp/Xpd.pm (renamed from xpp/zconf/Zaptel/Xpp/Xpd.pm)0
-rw-r--r--xpp/zaptel-helper401
17 files changed, 0 insertions, 401 deletions
diff --git a/xpp/zaptel_drivers b/xpp/dahdi_drivers
index d7904c0..d7904c0 100755
--- a/xpp/zaptel_drivers
+++ b/xpp/dahdi_drivers
diff --git a/xpp/zapconf b/xpp/dahdi_genconf
index 7f94f6b..7f94f6b 100755
--- a/xpp/zapconf
+++ b/xpp/dahdi_genconf
diff --git a/xpp/zaptel_hardware b/xpp/dahdi_hardware
index 004a44b..004a44b 100755
--- a/xpp/zaptel_hardware
+++ b/xpp/dahdi_hardware
diff --git a/xpp/lszaptel b/xpp/lsdahdi
index a836d98..a836d98 100755
--- a/xpp/lszaptel
+++ b/xpp/lsdahdi
diff --git a/xpp/zconf/Zaptel.pm b/xpp/perl_modules/Zaptel.pm
index ef36bae..ef36bae 100644
--- a/xpp/zconf/Zaptel.pm
+++ b/xpp/perl_modules/Zaptel.pm
diff --git a/xpp/zconf/Zaptel/Chans.pm b/xpp/perl_modules/Zaptel/Chans.pm
index 6f83f77..6f83f77 100644
--- a/xpp/zconf/Zaptel/Chans.pm
+++ b/xpp/perl_modules/Zaptel/Chans.pm
diff --git a/xpp/zconf/Zaptel/Config/Defaults.pm b/xpp/perl_modules/Zaptel/Config/Defaults.pm
index 360ca0a..360ca0a 100644
--- a/xpp/zconf/Zaptel/Config/Defaults.pm
+++ b/xpp/perl_modules/Zaptel/Config/Defaults.pm
diff --git a/xpp/zconf/Zaptel/Hardware.pm b/xpp/perl_modules/Zaptel/Hardware.pm
index ff7aeea..ff7aeea 100644
--- a/xpp/zconf/Zaptel/Hardware.pm
+++ b/xpp/perl_modules/Zaptel/Hardware.pm
diff --git a/xpp/zconf/Zaptel/Hardware/PCI.pm b/xpp/perl_modules/Zaptel/Hardware/PCI.pm
index a63b09f..a63b09f 100644
--- a/xpp/zconf/Zaptel/Hardware/PCI.pm
+++ b/xpp/perl_modules/Zaptel/Hardware/PCI.pm
diff --git a/xpp/zconf/Zaptel/Hardware/USB.pm b/xpp/perl_modules/Zaptel/Hardware/USB.pm
index a2dc08f..a2dc08f 100644
--- a/xpp/zconf/Zaptel/Hardware/USB.pm
+++ b/xpp/perl_modules/Zaptel/Hardware/USB.pm
diff --git a/xpp/zconf/Zaptel/Span.pm b/xpp/perl_modules/Zaptel/Span.pm
index 9aceb78..9aceb78 100644
--- a/xpp/zconf/Zaptel/Span.pm
+++ b/xpp/perl_modules/Zaptel/Span.pm
diff --git a/xpp/zconf/Zaptel/Utils.pm b/xpp/perl_modules/Zaptel/Utils.pm
index 8d13ad7..8d13ad7 100644
--- a/xpp/zconf/Zaptel/Utils.pm
+++ b/xpp/perl_modules/Zaptel/Utils.pm
diff --git a/xpp/zconf/Zaptel/Xpp.pm b/xpp/perl_modules/Zaptel/Xpp.pm
index 8b7458f..8b7458f 100644
--- a/xpp/zconf/Zaptel/Xpp.pm
+++ b/xpp/perl_modules/Zaptel/Xpp.pm
diff --git a/xpp/zconf/Zaptel/Xpp/Line.pm b/xpp/perl_modules/Zaptel/Xpp/Line.pm
index 2472c3b..2472c3b 100644
--- a/xpp/zconf/Zaptel/Xpp/Line.pm
+++ b/xpp/perl_modules/Zaptel/Xpp/Line.pm
diff --git a/xpp/zconf/Zaptel/Xpp/Xbus.pm b/xpp/perl_modules/Zaptel/Xpp/Xbus.pm
index e840f14..e840f14 100644
--- a/xpp/zconf/Zaptel/Xpp/Xbus.pm
+++ b/xpp/perl_modules/Zaptel/Xpp/Xbus.pm
diff --git a/xpp/zconf/Zaptel/Xpp/Xpd.pm b/xpp/perl_modules/Zaptel/Xpp/Xpd.pm
index 5087f1f..5087f1f 100644
--- a/xpp/zconf/Zaptel/Xpp/Xpd.pm
+++ b/xpp/perl_modules/Zaptel/Xpp/Xpd.pm
diff --git a/xpp/zaptel-helper b/xpp/zaptel-helper
deleted file mode 100644
index 1b2ca45..0000000
--- a/xpp/zaptel-helper
+++ /dev/null
@@ -1,401 +0,0 @@
-#!/bin/sh
-
-# zaptel-helper: helper script/functions for Zaptel
-
-# Wrriten by Tzafrir Cohen <tzafrir.cohen@xorcom.com>
-# Copyright (C) 2006-2007, Xorcom
-#
-# All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Should be possible to run with -e set. This is also recommended.
-
-# Constants:
-# maximal time (in seconds) to wait for /dev/zap/dtl to appear after
-# loading zaptel
-DEVZAP_TIMEOUT=${DEVZAP_TIMEOUT:-20}
-
-# Zaptel modules we'll try when detecting zaptel hardware:
-ALL_MODULES="${ALL_MODULES:-zaphfc qozap ztgsm wctdm wctdm24xxp wcfxo wcfxs pciradio tor2 torisa wct1xxp wct4xxp wcte11xp wanpipe wcusb xpp_usb}"
-
-# Where do we write the list of modules we detected (if at all):
-MODLIST_FILE_DEBIAN=${MODLIST_FILE_DEBIAN:-/etc/modules}
-MODLIST_FILE_REDHAT=${MODLIST_FILE_REDHAT:-/etc/sysconfig/zaptel}
-
-# The location of of the fxotune binary
-FXOTUNE="${FXOTUNE:-/usr/sbin/fxotune}"
-FXOTUNE_CONF="${FXOTUNE_CONF:-/etc/fxotune.conf}"
-
-# this is the context FXO zaptel channels are in.
-# See run_fxotune.
-FXO_CONTEXT=${FXO_CONTEXT:-from-pstn}
-
-ZTCFG="${ZTCFG:-/sbin/ztcfg}"
-
-# TODO: this may not be appropriate for a general-purpose script.
-# However you should not use a direct 'echo' to write output to the user
-#, to make it simple to override.
-say() {
- echo "$@"
-}
-
-error() {
- echo >&2 "$@"
-}
-
-die() {
- error "$@"
- exit 1
-}
-
-
-#############################################################################
-#####
-##### Init helper functions
-#####
-
-
-# Wait for udev to generate /dev/zap/ctl, if needed:
-wait_for_zapctl() {
- # if device file already exists, or if zaptel has failed to load:
- # no point waiting.
- if [ -c /dev/zap/ctl ] || ! grep -q zaptel /proc/modules ; then
- return
- fi
-
- say "Waiting for /dev/zap/ctl to be generated"
- devzap_found=0
- for i in `seq $DEVZAP_TIMEOUT`; do
- sleep 1
- if [ -c /dev/zap/ctl ]; then
- devzap_found=1
- break
- fi
- done
- if [ "$devzap_found" != 1 ]; then
- say "Still no /dev/zap/ctl after $devzap_timeout seconds."
- error "No /dev/zap/ctl: cannot run ztcfg. Aborting."
- fi
-}
-
-# load the fxotune parameters
-# FIXME: /etc/fxotune.conf is a bad location for that file .
-# /etc/zaptel/fxotune.conf?
-fxotune_load() {
- if [ -x "$FXOTUNE" ] && [ -r "FXOTUNE_CONF" ]; then
- $FROTUNE -s
- fi
-}
-
-# If there is no zaptel timing source, load
-# ztdummy. Other modules should have been loaded by
-# now.
-guarantee_timing_source() {
- if ! head -c 0 /dev/zap/pseudo 2>/dev/null
- then modprobe ztdummy || true # will fail if there is no module package
- 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.
-# 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 , ' '`
- 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
-}
-
-# sleep a while until the xpp modules fully register
-wait_for_xpp() {
- if [ -d /proc/xpp ]
- then
- # wait for the XPDs to register:
- # TODO: improve error reporting and produce a messagee here
- cat /proc/xpp/XBUS-*/waitfor_xpds 2>/dev/null >/dev/null || true
- fi
-}
-
-zap_reg_xpp() {
- if [ ! -d /proc/xpp ]; then return; fi
-
- # Get a list of connected Astribank devices, sorted by the name of
- # the USB connector. That order is rather arbitrary, but will not
- # change without changes to the cabling.
- xbusses=`sort -k 2 /proc/xpp/xbuses | awk -F: '/STATUS=connected/ {print $1}'`
-
- # get a list of XPDs that were not yet registered as zaptel spans.
- # this will be the case if you set the parameter zap_autoreg=0 to
- # the module xpp
- # Append /dev/null to provide a valid file name in case of an empty pattern.
- xbusses_pattern=`echo $xbusses| sed -e 's|XBUS-[0-9]*|/proc/xpp/&/XPD-*/zt_registration|g'`' /dev/null'
- xpds_to_register=`grep -l 0 $xbusses_pattern 2>/dev/null` || true
- for file in $xpds_to_register; do
- echo 1 >$file
- done
-}
-
-# Set the sync source of the Astribank to the right value
-fix_asterisbank_sync() {
- # do nothing if module not present
- if [ ! -d /proc/xpp ]; then return; fi
-
- #if ! grep -q '^HOST' /proc/xpp/sync 2>/dev/null; then return; fi
-
- case "$XPP_SYNC" in
- n*|N*) return;;
- host|HOST) sync_value="HOST";;
- [0-9]*)sync_value="$XPP_SYNC";;
- *)
- # find the number of the first bus, and sync from it:
- fxo_pat=`awk -F: '/STATUS=connected/{print $1}' /proc/xpp/xbuses | sed -e 's|.*|/proc/xpp/&/*/fxo_info|'`
- # find the first FXO unit, and set it as the sync master
- bus=`ls -1 $fxo_pat 2> /dev/null | head -n1 | cut -d- -f2 | cut -d/ -f1`
-
- # do nothing if there is no bus:
- case "$bus" in [0-9]*):;; *) return;; esac
- sync_value="$bus 0"
- ;;
- esac
- # the built-in echo of bash fails to print a proper error on failure
- if ! /bin/echo "$sync_value" >/proc/xpp/sync
- then
- error "Updating XPP sync source failed (used XPP_SYNC='$XPP_SYNC')"
- 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_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.
-# The function is not responsible for loading the zaptel modules:
-# they will be loaded beforehand.
-debian_start() {
- wait_for_xpp
- zap_reg_xpp
- fix_asterisbank_sync
- wait_for_zapctl
-
- if [ -r /etc/fxotune.conf ] && [ -x $FXOTUNE ]; then
- $FXOTUNE -s
- fi
-
- # configure existing modules:
- $ZTCFG
-}
-
-
-# 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() {
- zap_fxo_chans=`asterisk -rx "zap show channels" | awk "/$FXO_CONTEXT/{print \$1}"`
- xpp_fxo_chans=`cat /proc/zaptel/* | awk '/XPP_FXO/{print $1}'`
- for chan in $xpp_fxo_chans $zap_fxo_chans; do
- asterisk -rx "zap destroy channel $chan"
- done
- $FXOTUNE -i
- 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.
-unload_module() {
- set +e
- module="$1"
- line=`lsmod 2>/dev/null | grep "^$module "`
- 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 , ' '`
- # xpd_fxs actually sort of depends on xpp:
- 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)
- done
- rmmod $module || true
- set -e
-}
-
-unload() {
- unload_module zaptel
-}
-
-# sleep a while until the xpp modules fully register
-wait_for_xpp() {
- if [ -d /proc/xpp ] && \
- [ "`cat /sys/module/xpp/parameters/zap_autoreg`" = 'Y' ]
- then
- # wait for the XPDs to register:
- # TODO: improve error reporting and produce a messagee here
- cat /proc/xpp/XBUS-*/waitfor_xpds 2>/dev/null >/dev/null || true
- fi
-}
-
-#############################################################################
-#####
-##### Hardware detection functions
-#####
-
-load_modules() {
- say "Test Loading modules:"
- for i in $ALL_MODULES
- do
- lines_before=`count_proc_zap_lines`
- args="${i}_args"
- eval "args=\$$args"
- # a module is worth listing if it:
- # a. loaded successfully, and
- # b. added channels lines under /proc/zaptel/*
- if /sbin/modprobe $i $args 2> /dev/null
- then
- check=0
- case "$i" in
- xpp_usb) check=`grep 'STATUS=connected' 2>/dev/null /proc/xpp/xbuses | wc -l` ;;
- # FIXME: zttranscode will always load, and will never
- # add a span. Maybe try to read from /dev/zap/transcode .
- zttranscode) : ;;
- *) if [ $lines_before -lt `count_proc_zap_lines` ]; then check=1; fi ;;
- esac
- if [ "$check" != 0 ]
- then
- probed_modules="$probed_modules $i"
- say " ok $i $args"
- else
- say " - $i $args"
- rmmod $i
- fi
- else
- say " - $i $args"
- fi
- done
-}
-
-update_module_list_debian() {
- say "Updating Debian modules list $MODLIST_FILE_DEBIAN."
- del_args=`for i in $ALL_MODULES ztdummy
- do
- echo "$i" | sed s:.\*:-e\ '/^&/d':
- done`
- add_args=`for i in $*
- do
- echo "$i" | sed s:.\*:-e\ '\$a&':
- done`
-
- sed -i.bak $del_args "$MODLIST_FILE_DEBIAN"
- for i in $*
- do
- echo "$i"
- done >> "$MODLIST_FILE_DEBIAN"
-}
-
-update_module_list_redhat() {
- say "Updating modules list in zaptel init config $MODLIST_FILE_REDHAT."
- sed -i.bak -e '/^MODULES=/d' "$MODLIST_FILE_REDHAT"
- echo "MODULES=\"$*\"" >> "$MODLIST_FILE_REDHAT"
-}
-
-update_module_list() {
- if [ -f "$MODLIST_FILE_DEBIAN" ]; then
- update_module_list_debian "$@"
- elif [ -f "$MODLIST_FILE_REDHAT" ]; then
- update_module_list_redhat "$@"
- else
- die "Can't find a modules list to update. Tried: $MODLIST_FILE_DEBIAN, $MODLIST_FILE_REDHAT. Aborting"
- fi
-}
-
-
-
-
-
-
-# unless we wanted to use this as a set of functions, run
-# the given function with its parameters:
-if [ "$ZAPHELPER_ONLY_INCLUDE" = '' ]; then
- "$@"
-fi