90 lines
1.8 KiB
Bash
90 lines
1.8 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
# (C) 2008 openwrt.org
|
|
|
|
START=96
|
|
|
|
[ ! -f /dev/vmmc10 ] && {
|
|
mknod /dev/vmmc10 c 122 10
|
|
mknod /dev/vmmc11 c 122 11
|
|
mknod /dev/vmmc12 c 122 12
|
|
mknod /dev/vmmc13 c 122 13
|
|
mknod /dev/vmmc14 c 122 14
|
|
mknod /dev/vmmc15 c 122 15
|
|
mknod /dev/vmmc16 c 122 16
|
|
mknod /dev/vmmc17 c 122 17
|
|
mknod /dev/vmmc18 c 122 18
|
|
}
|
|
|
|
TD_EXTRA_FLAGS_FXO=
|
|
TD_EXTRA_FLAGS_KPI2UDP=
|
|
TD_DOWNLOAD_PATH=/lib/firmware/
|
|
DEV_NODE_TERIDIAN=ter10
|
|
|
|
# Show help
|
|
help()
|
|
{
|
|
echo "Usage:"
|
|
echo " - $0 WAN-IF-NAME - start TAPIDEMO without FXO support"
|
|
echo " - $0 WAN-IF-NAME fxo - start TAPIDEMO with FXO support."
|
|
echo " - $0 stop - stop TAPIDEMO"
|
|
}
|
|
|
|
# Check if device node for Teridian exists
|
|
checkFxoSupport()
|
|
{
|
|
if [ ! -e /dev/$DEV_NODE_TERIDIAN ];then
|
|
echo "FXO support is disabled. Can not find required driver's device node."
|
|
else
|
|
TD_EXTRA_FLAGS_FXO="-x"
|
|
fi
|
|
}
|
|
|
|
# Check if module drv_kpi2udp is loaded
|
|
checkKpi2UdpSupport()
|
|
{
|
|
tmp=`cat /proc/modules | grep 'drv_kpi2udp '`
|
|
if [ "$tmp" != "" ]; then
|
|
TD_EXTRA_FLAGS_KPI2UDP="-q"
|
|
fi
|
|
}
|
|
|
|
start()
|
|
{
|
|
TD_WANIF=$1
|
|
|
|
TD_WANIF_IP=`ifconfig $TD_WANIF | grep 'inet addr:' | cut -f2 -d: | cut -f1 -d' '`
|
|
if [ "$TD_WANIF_IP" = "" ]; then
|
|
echo "Error, getting IP address for network device $TD_WANIF failed."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$2" = "" ];then
|
|
# FXO support is disabled.
|
|
continue
|
|
elif [ "$2" = "fxo" ];then
|
|
checkFxoSupport
|
|
else
|
|
echo "Error, unknown second parameter."
|
|
help
|
|
exit 1
|
|
fi
|
|
|
|
checkKpi2UdpSupport
|
|
|
|
if [ -r /etc/rc.conf ]; then
|
|
. /etc/rc.conf
|
|
fi
|
|
|
|
TD_DEBUG_LEVEL=$tapiDebugLevel
|
|
if [ "$TD_DEBUG_LEVEL" = "" ]; then
|
|
TD_DEBUG_LEVEL=3
|
|
fi
|
|
|
|
/usr/sbin/tapidemo -d $TD_DEBUG_LEVEL $TD_EXTRA_FLAGS_FXO $TD_EXTRA_FLAGS_KPI2UDP -i $TD_WANIF_IP -l $TD_DOWNLOAD_PATH &
|
|
}
|
|
|
|
stop()
|
|
{
|
|
killall tapidemo > /dev/null 2> /dev/null
|
|
}
|