diff options
Diffstat (limited to 'package/ltq-tapidemo/files')
| -rw-r--r-- | package/ltq-tapidemo/files/bringup_tapidemo | 89 | 
1 files changed, 89 insertions, 0 deletions
| diff --git a/package/ltq-tapidemo/files/bringup_tapidemo b/package/ltq-tapidemo/files/bringup_tapidemo new file mode 100644 index 000000000..6eb13d25f --- /dev/null +++ b/package/ltq-tapidemo/files/bringup_tapidemo @@ -0,0 +1,89 @@ +#!/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 +} | 
