#!/bin/sh
# 
 
# $1 interface-name   e.g. ppp0, ppp1 ...etc
# $2 tty-device       e.g. /dev/modem ...
# $3 speed 
# $4 local-IP-address 
# $5 remote-IP-address 
# $6 ipparam          e.g. extra parameters   

. /usr/bin/scriptlib
WANTYPE=`rdcsman 0x00010003 u32`
FAILOVER_WANTYPE=`rdcsman 0x0043000b u32`
#FAILOVER_STATUS=`rdcsman 0x801E1200 u32`
LOADSHARING=`rdcsman 0x004301c0 u32`
AUTOBAK_STATUS=`rdcsman 0x801E1200 u32`
AUTOBAK_MODE=`rdcsman 0x801e4000 u32`


# For debug 
logger -p 8.7 -t "pppd ip-up" "$0 ->  1:$1, 2:$2, 3:$3, 4:$4, 5:$5, 6:$6, 7:$7"

if [ -e /var/run/multiwan_enable ]; then
    # Do nothing under multiwan.
    exit 0
fi

if [ $LOADSHARING -eq 1 ] ; then
    logger -p 8.7 -t "pppd ip-down" "$0 : Don't do ip-down by \"don't update flag !\""
	exit 0
fi

if [ -r /var/run/dont_update_wantype ]; then
    logger -p 8.7 -t "pppd ip-up" "Don't do ip-up by \"don't update flag !\""
    rm -f /var/run/dont_update_wantype  
    exit 0 # may pptp/l2tp/pppoe client -> do nothing
fi

#
# For the case L2TP/PPTP tunnel had been shutdown unexpectedly.
# We don't want them to interrupt the current WAN type by 
# calling ip-up/ip-down !                                                                                 
#
ipparam="$6"
ipparam_="`expr substr $ipparam 1 5`"
if [ ! -z "$ipparam_" ]; then
    if [ "$ipparam_" == "pptpc" ] || [ "$ipparam_" == "pptpd" ] ; then
        logger -p 8.7 -t "pppd ip-up" "Called by PPTP tunnel ! Exit directly "
        exit 0    
    fi

    if [ "$ipparam_" == "l2tpc" ] || [ "$ipparam_" == "l2tpd" ]; then
        logger -p 8.7 -t "pppd ip-up" "Called by L2TP tunnel ! Exit directly "
        exit 0    
    fi
fi

sl_get_IP_NM_GW_in_ifconfig $IFNAME IF_IP IF_NM IF_GW
sl_get_DNS_in_resolv_conf IF_DNS1 IF_DNS2
sl_get_uptime CNTTIME

if [ -e /var/run/check_pppoe_voip ]; then
	echo nameserver $IF_DNS1 > /etc/ppp/voipwan_resolv.conf
	echo nameserver $IF_DNS2 >> /etc/ppp/voipwan_resolv.conf
	rm -rf /var/run/check_pppoe_voip
	exit 0
fi

BACKUP=`rdcsman 0x001e000d u32`	# 3G failover

#BACKUP_STATUS=`rdcsman 0x80430600 u32` #set_fo
#FAILOVER_CNT_STATUS=`rdcsman 0x80430700 u32` #fo_st

AUTOFAILOVER_STATUS=`rdcsman 0x80430600 u32` 		#set_fo	autofailover
ATTOFAILOVER_CNT_STATUS=`rdcsman 0x80430700 u32` 	#fo_st	autofailover

VENDORID=`cat /var/usbserial | /bin/awk '{print $2}'`
# when Backup 3G enabled, local wan type is not 3G and pppd up the pppd_pid=ppp-3g.pid, now this is Backup 3G wan type
if [ $BACKUP -eq 1 ] && [ $WANTYPE -ne 16 ] && [ $WANTYPE -ne 17 ] ; then
	if [ "$VENDORID" != "482" ] ; then 
		PIDFILE_PPPD="/var/run/ppp-3g.pid"
		sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF
		if [ $PPPD_PID -eq $PPP_PID ] ; then
			wrcsman "0x801e0100 $CNTTIME && \
					0x801e0200 {$IF_IP} && \
					0x801e0300 {$IF_NM} && \
					0x801e0400 {$IF_GW} && \
					0x801e0500 {$IF_DNS1} && \
					0x801e0600 {$IF_DNS2} && \
					0x801e0700 0x07 && \
					0x801e1200 0x02 && \
					0x80010002 {$IF_IP} && \
					0x80010003 {$IF_NM} && \
					0x80010004 {$IF_GW} && \
					0x80010005 {$IF_DNS1} && \
					0x80010006 {$IF_DNS2} && \
					0x8001000B \"$IFNAME && \
					0x801E2200 \"$IFNAME && \
					0x801e1100 0x00"

			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf

			if [ $WANTYPE -eq 0 ] || [ $WANTYPE -eq 32 ] ; then
				IF_WAN=`rdcsman 0x8000f361 str`
				wrcsman "0x80010300 \"$IF_WAN"
			else
				if [ $IFNAME == ppp0 ] ; then
					wrcsman "0x80010300 \"ppp1"
				else
					wrcsman "0x80010300 \"ppp0"
				fi
			fi
			exit 0
		fi
	else
		PIDFILE_PPPD="/var/run/ppp-iburst.pid"
		sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF
		if [ $PPPD_PID -eq $PPP_PID ] ; then
			wrcsman "0x80340100 $CNTTIME && \
					0x80340200 {$IF_IP} && \
					0x80340300 {$IF_NM} && \
					0x80340400 {$IF_GW} && \
					0x80340500 {$IF_DNS1} && \
					0x80340600 {$IF_DNS2} && \
					0x80340700 0x07 && \
					0x80010002 {$IF_IP} && \
					0x80010003 {$IF_NM} && \
					0x80010004 {$IF_GW} && \
					0x80010005 {$IF_DNS1} && \
					0x80010006 {$IF_DNS2} && \
					0x8001000B \"$IFNAME && \
					0x801E2200 \"$IFNAME && \
					0x801e1200 0x02"

			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf

			if [ $WANTYPE -eq 0 ] || [ $WANTYPE -eq 32 ] ; then
				IF_WAN=`rdcsman 0x8000f361 str`
				wrcsman "0x80010300 \"$IF_WAN"
			else
				wrcsman "0x80010300 \"ppp0"
			fi
			exit 0
		fi
	fi
fi


if [ "$AUTOFAILOVER_STATUS" -eq "1" ] ; then
	if [ $FAILOVER_WANTYPE -eq 2 ]; then #failover wantype is 3G1/3G2[backup wan]

		PIDFILE_PPPD="/var/run/ppp-3g.pid"
		sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF
		if [ "$PPPD_PID" == "$PPP_PID" ]; then
		 	wrcsman "0x8043000c $CNTTIME && \
					 0x80430002 {$IF_IP} && \
					 0x80430003 {$IF_NM} && \
					 0x80430004 {$IF_GW} && \
					 0x80430005 {$IF_DNS1} && \
					 0x80430006 {$IF_DNS2} && \
					 0x801e0700 0x02 && \
					 0x80430600 0x01 && \
					 0x8043000b \"$PPP_IF"

			wrcsman "0x8001000c $CNTTIME && \
					 0x80010002 {$IF_IP} && \
					 0x80010003 {$IF_NM} && \
					 0x80010004 {$IF_GW} && \
					 0x80010005 {$IF_DNS1} && \
					 0x80010006 {$IF_DNS2} && \
					 0x8001000b \"$PPP_IF" 

            wrcsman "0x801E0100 $CNTTIME && \
                     0x801E0200 {$IF_IP} && \
                     0x801E0300 {$IF_NM} && \
                     0x801E0400 {$IF_GW} && \
                     0x801E0500 {$IF_DNS1} && \
                     0x801E0600 {$IF_DNS2} && \
                     0x801e0700 0x02"

			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf

			if [ "$WANTYPE" == "0" ] || [ "$WANTYPE" == "32" ]; then
				IF_WAN=`rdcsman 0x8000f361 str`
				wrcsman "0x80010300 \"$IF_WAN"
			elif [ "$PPP_IF" == ppp0 ] ; then
				wrcsman "0x80010300 \"ppp1"
			else
				wrcsman "0x80010300 \"ppp0"
			fi

			exit 0
		fi
	elif [ "$FAILOVER_WANTYPE" -eq 6 ]; then #failover wantype is pppoe

		echo "5" > /var/run/gogo_pppoe
		PIDFILE_PPPD="/var/run/ppp-pppoe.pid"		
		sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF
		if [ "$PPPD_PID" == "$PPP_PID" ]; then
			echo "6" >> /var/run/gogo_pppoe
		 	wrcsman "0x8043000c $CNTTIME && \
					 0x80430002 {$IF_IP} && \
					 0x80430003 {$IF_NM} && \
					 0x80430004 {$IF_GW} && \
					 0x80430005 {$IF_DNS1} && \
					 0x80430006 {$IF_DNS2} && \
					 0x8043000b \"$PPP_IF"
					 
			wrcsman "0x8001000c $CNTTIME && \
					 0x80010002 {$IF_IP} && \
					 0x80010003 {$IF_NM} && \
					 0x80010004 {$IF_GW} && \
					 0x80010005 {$IF_DNS1} && \
					 0x80010006 {$IF_DNS2} && \
					 0x8001000b \"$PPP_IF" 
			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf
			if [ "$WANTYPE" == "0" ] || [ "$WANTYPE" == "32" ]; then
				IF_WAN=`rdcsman 0x8000f361 str`
				wrcsman "0x80010300 \"$IF_WAN"
			elif [ "$PPP_IF" == ppp0 ] ; then
				wrcsman "0x80010300 \"ppp1"
		    else
				wrcsman "0x80010300 \"ppp0"
		    fi
		    exit 0
														
		fi
	fi
fi
	
# RS232 Modem Backup
RS232_BACKUP=`rdcsman 0x00420012 u32`
RS232_FAILOVER_STATUS=`rdcsman 0x80420500 u32`

if [ $RS232_BACKUP -eq 1 -a $WANTYPE -ne 144 ] ; then
	 
    PIDFILE_PPPD="/var/run/ppp-rs232.pid"
    sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF

    if [ $PPPD_PID -eq $PPP_PID ] ; then
	   wrcsman "0x80420100 $CNTTIME && \
			 0x80420101 {$IF_IP} && \
			 0x80420102 {$IF_NM} && \
			 0x80420103 {$IF_GW} && \
			 0x80420104 {$IF_DNS1} && \
			 0x80420105 {$IF_DNS2} && \
			 0x80420200 0x07 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
       		 0x80422200 \"$IFNAME && \
             0x80420500 0x02"

		echo "nameserver $IF_DNS1" > /etc/resolv.conf
		echo "nameserver $IF_DNS2" >> /etc/resolv.conf
    
		if [ $WANTYPE -eq 0 ] || [ $WANTYPE -eq 32 ] ; then
				IF_WAN=`rdcsman 0x8000f361 str`
				 wrcsman "0x80422200 \"$IF_WAN"
			else
			   wrcsman "0x80422200 \"ppp0"
		fi
	fi 

fi


S3G_FAILOVER_ENABLE=`rdcsman 0x001e0810 u16`
S3G_FAILOVER_STATUS=`rdcsman 0x801E1201 u16`
S3G_FAILOVER_MODE=`rdcsman 0x001e0820 u32`

if [ $S3G_FAILOVER_ENABLE -eq 1 -a $WANTYPE -eq 16 -a $S3G_FAILOVER_STATUS -eq 1 ]  ; then
	
		PIDFILE_PPPD="/var/run/ppp-bk3g.pid"
		sl_get_ppp_PID_IFname $PIDFILE_PPPD PPP_PID PPP_IF
	
		if [ $PPPD_PID -eq $PPP_PID ] ; then
			wrcsman "0x801e0101 $CNTTIME && \
					0x801e0201 {$IF_IP} && \
					0x801e0301 {$IF_NM} && \
					0x801e0401 {$IF_GW} && \
					0x801e0501 {$IF_DNS1} && \
					0x801e0601 {$IF_DNS2} && \
					0x801E2201 \"$IFNAME"

			if [ $S3G_FAILOVER_MODE -eq 0 -o $S3G_FAILOVER_MODE -eq 2 ] ; then		
			wrcsman "0x801e0701 0x07 && \
					0x801e1201 0x02 && \
					0x80010002 {$IF_IP} && \
					0x80010003 {$IF_NM} && \
					0x80010004 {$IF_GW} && \
					0x80010005 {$IF_DNS1} && \
					0x80010006 {$IF_DNS2} && \
					0x8001000B \"$IFNAME && \
					0x801e1101 0x00"

			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf

			elif [ $S3G_FAILOVER_MODE -eq 1 -o $S3G_FAILOVER_MODE -eq 3 ] ; then
				wrcsman "0x801e0701 0x02 && \
						0x801e1201 0x02 "	
			fi
			
			exit 0

	fi
fi

if [ $WANTYPE -eq 64 ] ; then
#PPPoE interface up

	# avoid error IF inform in STATUS
	PIDFILE_PPPD="/var/run/ppp-pppoe.pid"
    if [ -r $PIDFILE_PPPD ] ; then
    	cat $PIDFILE_PPPD
        POE_IF=`awk "{if(NR==2) print}" $PIDFILE_PPPD`
		if [ -n $POE_IF ] ; then
			if [ -n $IFNAME ] ; then
				if [ $POE_IF != $IFNAME ] ; then
    				echo "DIFF: POE_IF= $POE_IF, IFNAME=$IFNAME, exit " > /var/run/pppoe_test_diff
					exit 0
				fi
			fi
		fi
	fi

	wrcsman "0x80040100 $CNTTIME && \
			 0x80040200 {$IF_IP} && \
			 0x80040300 {$IF_NM} && \
			 0x80040400 {$IF_GW} && \
			 0x80040500 {$IF_DNS1} && \
			 0x80040600 {$IF_DNS2} && \
			 0x80040C00  \"$IFNAME && \
			 0x80040700 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			fconfig 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"
	#for failover status, do not set dns info and do not set default gw
	if [ $AUTOFAILOVER_STATUS -eq 0 -a $AUTOBAK_MODE -eq 0 ] ; then
	        echo "nameserver $IF_DNS1" > /etc/resolv.conf
	        echo "nameserver $IF_DNS2" >> /etc/resolv.conf
	else
		route delete default gw $IF_GW dev $IFNAME
	fi

elif [ $WANTYPE -eq 80 ] ; then
#PPPoA interface up
	wrcsman "0x80040100 $CNTTIME && \
			 0x80040200 {$IF_IP} && \
			 0x80040300 {$IF_NM} && \
			 0x80040400 {$IF_GW} && \
			 0x80040500 {$IF_DNS1} && \
			 0x80040600 {$IF_DNS2} && \
			 0x80040700 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"
	#for failover status, do not set dns info and do not set default gw
	if [ $AUTOFAILOVER_STATUS -eq 0 -a $AUTOBAK_MODE -eq 0 ] ; then
	        echo "nameserver $IF_DNS1" > /etc/resolv.conf
	        echo "nameserver $IF_DNS2" >> /etc/resolv.conf
	else
		route delete default gw $IF_GW dev $IFNAME
	fi
	
elif [ $WANTYPE -eq 65 ] ; then
#MPPPoE interface up	
	sl_get_MPPP_PID_session $PPPD_PID S_NO
		
	wrcsman "0x8004020$S_NO {$IF_IP} && \
		 	 0x8004030$S_NO {$IF_NM} && \
			 0x8004040$S_NO {$IF_GW} && \
			 0x8004050$S_NO {$DNS1} && \
			 0x8004060$S_NO {$DNS2} && \
			 0x8004070$S_NO 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$DNS1} && \
			 0x80010006 {$DNS2} && \
			 0x80010007 0x02"

	RT_DNS1=`rdcsman 0x8004050$S_NO ipv4` 
	if [ $RT_DNS1 != 0.0.0.0 ] ; then
		route add -host $RT_DNS1 dev $IFNAME 
	fi
		
	RT_DNS2=`rdcsman 0x8004060$S_NO ipv4` 
	if [ $RT_DNS2 != 0.0.0.0 ] ; then
		route add -host $RT_DNS2 dev $IFNAME 
	fi

	DEF_DNS1=`rdcsman 0x0004070$S_NO ipv4` 
	if [ $DEF_DNS1 != 0.0.0.0 ] ; then
		wrcsman "0x8004050$S_NO {$DEF_DNS1}"
		route add -host $DEF_DNS1 dev $IFNAME 
	fi

	DEF_DNS2=`rdcsman 0x0004080$S_NO ipv4` 
	if [ $DEF_DNS2 != 0.0.0.0 ] ; then
		wrcsman "0x8004060$S_NO {$DEF_DNS2}"
		route add -host $DEF_DNS2 dev $IFNAME 
	fi

	/usr/bin/uvm -m 740 -o /etc/ppp/ip-up.mpppoe /usr/uo/ip-up.mpppoe.uo
	/etc/ppp/ip-up.mpppoe

elif [ $WANTYPE -eq 96 ] ; then
#PPTP interface up
	wrcsman "0x80050100 $CNTTIME && \
		 	 0x80050200 {$IF_IP} && \
			 0x80050300 {$IF_NM} && \
			 0x80050400 {$IF_GW} && \
			 0x80050500 {$IF_DNS1} && \
             0x80050600 {$IF_DNS2} && \
			 0x80050C00  \"$IFNAME && \
			 0x80050700 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
             0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"
			
	#for failover status, do not set dns info and do not set default gw
	if [ $AUTOFAILOVER_STATUS -eq 0 -a $AUTOBAK_MODE -eq 0 ] ; then
		ifconfig $IFNAME txqueuelen 1000
        phy_gw="`route | grep default | awk '{print $2}'`"
        rm -f /var/run/wan-pptp-phygw
        if [ "$phy_gw" != "" ]; then
            echo "$phy_gw" > /var/run/wan-pptp-phygw
        fi     
        route del default 
        route add default gw $IF_GW # Set WAN PPTP as default gateway !

		CSID_DNS1=`rdcsman 0x00053100 ipv4`
		CSID_DNS2=`rdcsman 0x00053200 ipv4`
		if [ "$CSID_DNS1" = "0.0.0.0" -a "$CSID_DNS2" = "0.0.0.0" ] ; then
			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf
			wrcsman "0x80050500 {$IF_DNS1} && \
					 0x80050600 {$IF_DNS2} && \
					 0x80010005 {$IF_DNS1} && \
					 0x80010006 {$IF_DNS2}"
		else
			if [ "$CSID_DNS1" = "0.0.0.0" ] ; then
				echo "nameserver $CSID_DNS2" > /etc/resolv.conf
				wrcsman "0x80050500 {$CSID_DNS2} && 
						 0x80010005 {$CSID_DNS2}"
			else
				echo "nameserver $CSID_DNS1" > /etc/resolv.conf
				echo "nameserver $CSID_DNS2" >> /etc/resolv.conf
				wrcsman "0x80050500 {$CSID_DNS1} && 
						 0x80010005 {$CSID_DNS1} &&
						 0x80050600 {$CSID_DNS2} &&
						 0x80010006 {$CSID_DNS2}"			
			fi
		fi
	else
		route delete default gw $IF_GW dev $IFNAME
	fi
  
elif [ $WANTYPE -eq 128 ] ; then
#L2TP interface up
	wrcsman "0x80060100 $CNTTIME && \
		 	 0x80060200 {$IF_IP} && \
			 0x80060300 {$IF_NM} && \
			 0x80060400 {$IF_GW} && \
			 0x80060500 {$IF_DNS1} && \
			 0x80060600 {$IF_DNS2} && \
			 0x80063000  \"$IFNAME && \
			 0x80060700 0x02 && \
		 	 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"

	#for failover status, do not set dns info and do not set default gw
	if [ $AUTOFAILOVER_STATUS -eq 0 -a $AUTOBAK_MODE -eq 0 ] ; then			
        phy_gw="`route | grep default | awk '{print $2}'`"
        rm -f /var/run/wan-l2tp-phygw
        if [ "$phy_gw" != "" ]; then
            echo "$phy_gw" > /var/run/wan-l2tp-phygw
        fi
        route add default gw $IF_GW # Set WAN L2TP as default gateway !

		CSID_DNS1=`rdcsman 0x00064100 ipv4`
		CSID_DNS2=`rdcsman 0x00064200 ipv4`
		if [ "$CSID_DNS1" = "0.0.0.0" -a "$CSID_DNS2" = "0.0.0.0" ] ; then
			echo "nameserver $IF_DNS1" > /etc/resolv.conf
			echo "nameserver $IF_DNS2" >> /etc/resolv.conf
			wrcsman "0x80060500 {$IF_DNS1} && \
					 0x80060600 {$IF_DNS2} && \
					 0x80010005 {$IF_DNS1} && \
					 0x80010006 {$IF_DNS2}"
		else
			if [ "$CSID_DNS1" = "0.0.0.0" ] ; then
				echo "nameserver $CSID_DNS2" > /etc/resolv.conf
				wrcsman "0x80060500 {$CSID_DNS2} && 
						 0x80010005 {$CSID_DNS2}"
			else
				echo "nameserver $CSID_DNS1" > /etc/resolv.conf
				echo "nameserver $CSID_DNS2" >> /etc/resolv.conf
				wrcsman "0x80060500 {$CSID_DNS1} && 
						 0x80010005 {$CSID_DNS1} &&
						 0x80060600 {$CSID_DNS2} &&
						 0x80010006 {$CSID_DNS2}"			
			fi
		fi
	else
		route delete default gw $IF_GW dev $IFNAME
	fi		

elif [ $WANTYPE -eq 16 ] ; then
    echo "IFNAME $IFNAME IF_IP $IF_IP IF_NM $IF_NM IF_GW $IF_GW IF_DNS1 $IF_DNS1 IF_DNS2 $IF_DNS2 CNTTIME $CNTTIME" >> /var/run/3g
	# avoid error IF inform in STATUS
    PIDFILE2_PPPD="/var/run/ppp-3g.pid"
    if [ -r $PIDFILE2_PPPD ] ; then
        cat $PIDFILE2_PPPD
        O3G_IF=`awk "{if(NR==2) print}" $PIDFILE2_PPPD`
		echo "DIFF: O3G_IF= $O3G_IF, IFNAME=$IFNAME " > /var/run/3g_interface
        if [ -n $O3G_IF ] ; then
            if [ -n $IFNAME ] ; then
                if [ $O3G_IF != $IFNAME ] ; then
                    echo "DIFF: O3G_IF= $O3G_IF, IFNAME=$IFNAME, exit " > /var/run/o3g_test_diff
                    exit 0
                fi
            fi
        fi
    fi

    echo "IFNAME $IFNAME IF_IP $IF_IP IF_NM $IF_NM IF_GW $IF_GW IF_DNS1 $IF_DNS1 IF_DNS2 $IF_DNS2 CNTTIME $CNTTIME" >> /var/run/3g_ok
	
	wrcsman "0x801e0100 $CNTTIME && \
			0x801e0200 {$IF_IP} && \
			0x801e0300 {$IF_NM} && \
			0x801e0400 {$IF_GW} && \
			0x801e0500 {$IF_DNS1} && \
			0x801e0600 {$IF_DNS2} && \
			0x801e0700 0x02 && \
			0x801e2200 \"$IFNAME && \
			0x80010002 {$IF_IP} && \
			0x80010003 {$IF_NM} && \
			0x80010004 {$IF_GW} && \
			0x80010005 {$IF_DNS1} && \
			0x80010006 {$IF_DNS2} && \
			0x8001000B \"$IFNAME && \
			0x80010007 0x02 && \
			0x801e1100 0x00"

	echo "normal 3G" > /var/run/normal_3g
	echo "nameserver $IF_DNS1" > /etc/resolv.conf
	echo "nameserver $IF_DNS2" >> /etc/resolv.conf
			 
elif [ $WANTYPE -eq 17 ] ; then
#iBurst interface up
	wrcsman "0x80340100 $CNTTIME && \
			 0x80340200 {$IF_IP} && \
			 0x80340300 {$IF_NM} && \
			 0x80340400 {$IF_GW} && \
			 0x80340500 {$IF_DNS1} && \
			 0x80340600 {$IF_DNS2} && \
			 0x80340700 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"

	echo "nameserver $IF_DNS1" > /etc/resolv.conf
	echo "nameserver $IF_DNS2" >> /etc/resolv.conf

elif [ $WANTYPE -eq 144 ] ; then
#RS232 interface up
	wrcsman "0x80420100 $CNTTIME && \
			 0x80420101 {$IF_IP} && \
			 0x80420102 {$IF_NM} && \
			 0x80420103 {$IF_GW} && \
			 0x80420104 {$IF_DNS1} && \
			 0x80420105 {$IF_DNS2} && \
			 0x80420200 0x02 && \
			 0x80010002 {$IF_IP} && \
			 0x80010003 {$IF_NM} && \
			 0x80010004 {$IF_GW} && \
			 0x80010005 {$IF_DNS1} && \
			 0x80010006 {$IF_DNS2} && \
			 0x8001000B \"$IFNAME && \
			 0x80010007 0x02"

	echo "nameserver $IF_DNS1" > /etc/resolv.conf
	echo "nameserver $IF_DNS2" >> /etc/resolv.conf

fi

