1#!/bin/sh /etc/rc.common
2# Copyright (C) 2006 OpenWrt.org
3
4START=95
5boot() {
6	# process user commands
7	[ -f /etc/rc.local ] && {
8		sh /etc/rc.local
9	}
10
11	# after DUT boot done, enable GRO
12	/usr/sbin/ethtool -K eth1 gro on
13	if [ "x$(/bin/config get factory_mode)" = "x1" ]; then
14		utelnetd_p=`pidof utelnetd`
15		if [ "x${utelnetd_p}" = "x" ]; then
16			/usr/sbin/utelnetd -d -i br0
17		fi
18		if [ "x$(/bin/config get factory_tt3)" = "x1" ]; then
19			ledcontrol -n usb1 -c amber -s on
20		fi
21	fi
22	# set leds to normal state
23	if [ "x$(/bin/config get factory_mode)" = "x1" ]; then
24		/sbin/power_led.sh &
25	else
26		/sbin/ledcontrol -n power -c green -s on
27	fi
28
29	led_option="$($CONFIG get led_blinking_setting)"
30	if [ "$led_option" = "0" ]; then
31		/sbin/ledcontrol -n option_blink -c green -s on
32	elif [ "$led_option" = "1" ]; then
33		/sbin/ledcontrol -n option_on -c green -s on
34	elif [ "$led_option" = "2" ]; then
35		/sbin/ledcontrol -n option_off -c green -s on
36	fi
37
38	telnetenable_pid=`pidof telnetenable`
39	utelnetd_pid=`pidof utelnetd`
40	if [ "x${telnetenable_pid}" != "x" -a "x${utelnetd_pid}" = "x" ]; then
41		echo "restart the daemon telnetenable for Thin client !!!"
42		/bin/kill -9 $telnetenable_pid
43		/usr/sbin/telnetenable
44	fi
45
46	/sbin/cmdftp restart &
47
48	# Start ipmac binding
49	/sbin/ip_mac start
50
51	/sbin/check_status.sh &
52
53	#tmply fixed pppd can not get ip after upgrade FW.
54        local ipv4_pppd=`ps | grep "pppd call dial-provider updetach" | grep -v "grep" |awk '{print $1}'`
55        local pppip=`ifconfig ppp0 |grep "inet addr" |cut -f2 -d: |cut -f1 -d' '`
56        if [ "x$ipv4_pppd" != "x" ] && [ "x$pppip" = "x" ]; then
57                /bin/kill -SIGHUP $ipv4_pppd
58                /bin/kill $ipv4_pppd; pppd call dial-provider updetach
59        fi
60
61	rm -f /tmp/boot_status
62	echo "[R7800]***boot done***" > /dev/console
63}
64