| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | #!/bin/sh[ "$METHOD" == "ppp" ] || exit 0[ "$IF_USE_TEMPLATE" ] || exit 0[ -d /var/lock ] || mkdir /var/lock[ -f "/etc/ppp/templates/$IF_USE_TEMPLATE" ] || {	logger "$0: requested template '/etc/ppp/templates/$IF_USE_TEMPLATE' not found."	exit 1}IDLEOPTIONS="persist\nmaxfail 0"if [ "$IF_PPP_IDLETIME" -gt 0 ]; then	IDLEOTPIONS="idletime $IF_PPP_IDLETIME"fiif [ "$IF_PPP_MTU" -gt 0 ] ; then 	NETWORKOPTIONS="mtu $IF_PPP_MTU\nmru $IF_PPP_MTU"fiREPLACE="	s,#IDLEOPTIONS#,$IDLEOPTIONS,	s,#ENCAPS#,$IF_PPP_ENCAPS,	s,#VPI#,$IF_PPP_VPI,	s,#VCI#,$IF_PPP_VCI,	s,#USERNAME#,$IF_PPP_USERNAME,	s,#PASSWORD#,$IF_PPP_PASSWORD,	s,#DEVICE#,$IF_PPP_DEVICE,	s,#MODEMIP#,$IF_PPP_MODEMIP,	s,#NETWORKOPTIONS#,$NETWORKOPTIONS,"sed "$REPLACE" < /etc/ppp/templates/$IF_USE_TEMPLATE > /etc/ppp/peers/$IF_PROVIDER[ "$IF_PPP_ENCAPS" ] || encap=0[ "$IF_PPP_PAYLOAD" ] || payload=1[ "$IF_PPP_VPI" ] || $IF_PPP_VPI=1[ "$IF_PPP_PAYLOAD" ] || $IF_PPP_VCI=32case "$IF_PPP_PAYLOAD" inbridged)	payload=1	;;routed)	payload=0	;;*)	echo "Wrong payload, use either bridged or routed"	exit 1	;;esaccase "$IF_PPP_ENCAPS" inllc)	encap=0	;;vc)	encap=1	;;*)	echo "Wrong Encapsulation use either llc or vc"	exit 1	;;esaccase "$IF_PPP_DEVICE" innas*)	count=$(echo $IF_PPP_DEVICE|sed -e "s/nas//")	br2684ctl -b -c $count -e $encap -p $payload -a $IF_PPP_VPI.$IF_PPP_VCI	ip link set up dev $IF_PPP_DEVICE	;;esaccase "$IF_USE_TEMPLATE" inumts)	# set UMTS-LED to green (bit 3)	LED=$(cat /proc/sys/diag)	echo $((LED | 8)) > /proc/sys/diag	# wait for card to initialize	COUNT=0	while [ $((COUNT++)) -lt 20 ]; do		[ -c "$IF_PPP_DEVICE" ] && break		[ $COUNT -eq 20 ] && {			logger "$0: '$IF_PPP_DEVICE' not found"			exit 1		}		sleep 1	done	# wait till the SIM is ready	comgt -s /etc/comgt/waitready.comgt -d $IF_PPP_DEVICE || exit 1	# set pincode	if [ "$IF_UMTS_PINCODE" ]; then		COMGTPIN="$IF_UMTS_PINCODE" comgt PIN -d $IF_PPP_DEVICE || ERROR=1	fi	# set APN	COMGTAPN="$IF_UMTS_APN" comgt APN -d $IF_PPP_DEVICE || ERROR=1	# set umts/gprs mode if available (Option cards only)	case "$IF_UMTS_MODE" in		gprs_only)	comgt 2G -d $IF_PPP_DEVICE ;;		umts_only)	comgt 3G -d $IF_PPP_DEVICE ;;		umts_first)	comgt 3G2G -d $IF_PPP_DEVICE ;;		"")		;;		*)		echo "unknown umts-mode, exiting"				ERROR=1				;;	esac	if [ "$ERROR" == "1" ]; then		echo "$LED" > /proc/sys/diag		exit 1	fi	;;esac
 |