Make udev run dahdi_cfg on each device:
* New script: dahdi_cfg_device_args: - Just like span_assignments, span_types: may be given one or more sysfs devpath's - Output the required options for dahdi_cfg. E.g: "-S 8 -C 15-28" - This may be passed (with any other wanted options) to the new dahdi_cfg (which supports '-S' and '-C') * Use dahdi_cfg_device_args in handle_device so we configure each span from udev. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
This commit is contained in:
parent
79fff3e278
commit
ba3289ac9a
|
@ -0,0 +1,32 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
devbase='/sys/bus/dahdi_devices/devices'
|
||||||
|
|
||||||
|
# Use given devices or otherwise, all existing devices
|
||||||
|
if [ "$#" -gt 0 ]; then
|
||||||
|
DEVICES="$@"
|
||||||
|
else
|
||||||
|
DEVICES=`echo $devbase/*`
|
||||||
|
fi
|
||||||
|
|
||||||
|
run_action_spans() {
|
||||||
|
device="$1"
|
||||||
|
for span in $device/span-*
|
||||||
|
do
|
||||||
|
spanno=`echo "$span" | sed 's,.*/span-,,'`
|
||||||
|
spantype=`cat "$span/spantype"`
|
||||||
|
basechan=`cat "$span/basechan"`
|
||||||
|
channels=`cat "$span/channels"`
|
||||||
|
endchan=`expr "$basechan" + "$channels" - 1`
|
||||||
|
echo "-S $spanno -C $basechan-$endchan"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
run_action() {
|
||||||
|
for device in $DEVICES
|
||||||
|
do
|
||||||
|
run_action_spans "$device"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
run_action
|
|
@ -22,6 +22,12 @@ PATH="$dir:/usr/sbin:/sbin:/usr/bin:/bin"
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
run_dahdi_cfg() {
|
||||||
|
args="-c $DAHDICONFDIR/system.conf $@"
|
||||||
|
echo "Running dahdi_cfg $args"
|
||||||
|
dahdi_cfg $args
|
||||||
|
}
|
||||||
|
|
||||||
echo >&2 "$0($ACTION): DEBUG($# args): '$*'"
|
echo >&2 "$0($ACTION): DEBUG($# args): '$*'"
|
||||||
|
|
||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
|
@ -31,6 +37,9 @@ add)
|
||||||
#export DAHDICONFDIR="/tmp/xortel/dahdi"
|
#export DAHDICONFDIR="/tmp/xortel/dahdi"
|
||||||
span_types set "/sys/$DEVPATH" 2>&1 | $LOGGER
|
span_types set "/sys/$DEVPATH" 2>&1 | $LOGGER
|
||||||
span_assignments add "/sys/$DEVPATH" 2>&1 | $LOGGER
|
span_assignments add "/sys/$DEVPATH" 2>&1 | $LOGGER
|
||||||
|
dahdi_cfg_device_args | while read args; do
|
||||||
|
run_dahdi_cfg $args 2>&1 | $LOGGER
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
remove)
|
remove)
|
||||||
echo "$ACTION: $DEVPATH" | $LOGGER
|
echo "$ACTION: $DEVPATH" | $LOGGER
|
||||||
|
|
Loading…
Reference in New Issue