#!/bin/busybox sh

echo "@@@ rcS started" > /dev/kmsg


mount -t proc proc /proc
mount -t tmpfs tmpfs /var
mount -t tmpfs tmpfs /tmp
mount -t tmpfs tmpfs /etc/tmp
mkdir -p /var/run /var/log /var/tmp /var/zte_socket

if [ -f "/dev/needmdlogger" ]; then
	/sbin/mdlogger > /dev/null &
	rm /dev/needmdlogger
fi

MTD_MAJOR=`grep mtd$ /proc/devices | awk '{print $1}'`
#add by lucuiling for MF65+
FB_MAJOR=`grep fb$ /proc/devices | awk '{print $1}'`
mknod /dev/fb0 c $FB_MAJOR 0
#sncfg set lcm.display.mode 0
#insmod /lib/modules/kernel/drivers/lcm/lcm.ko
#dev=$(cat /proc/devices | grep lcm | cut -f0 -d ' ')
#rm -f /dev/lcm
#mknod /dev/lcm c $dev 0
#mifiui &
#add by lucuiling for MF65+ end
if [ `cat /sys/devices/virtual/BOOT/BOOT/boot/modem` == "1" ]; then #RNDIS MODEM
	#ATOK=""
	#AT_RETRY_CNT=0
	#while [ "$ATOK" = "" ] && [ $AT_RETRY_CNT -lt 4 ]
	#do
		#ATOK=`echo AT+CFUN=1 | microcom /dev/pttycmd1 -t 500 | grep OK`
		#AT_RETRY_CNT=$(($AT_RETRY_CNT+1))
		#usleep 200000
	#done
	ifconfig ccmni0 up >/dev/null 2>/dev/null & 	#DO NOT remove this!! it's for ccmni0 buffer allocation
fi
#create necessary files
touch /var/run/wtmp
touch /var/run/lastlog

/etc/init.d/sncfgd start

if [ `cat /sys/devices/virtual/BOOT/BOOT/boot/modem` == "1" ]; then #RNDIS MODEM
	sync
	mount -o remount,ro /
	mount -o remount,ro /mnt/zte/zte_data
	#if ! [ -f /mnt/noautowan ] ; then
		#chrt -f 99 /sbin/mini_modemd &
	#fi
fi

#start syslogd
#/sbin/syslogd -s 64 -b 1 -l 4 && /sbin/klogd

hostname MT6280
	
if [ `cat /sys/devices/virtual/BOOT/BOOT/boot/modem` == "1" ]; then #RNDIS MODEM
	if [ `cat /sys/class/BOOT/BOOT/boot/boot_mode` == "1" ]; then

		#start MMC host for meta tool
		echo meta_mode > /sys/power/main_wake_lock #add by zuoshu for debug 10130712
		echo /sbin/mdev > /proc/sys/kernel/hotplug
		insmod /lib/modules/evt.ko
		/sbin/evtd.elf deamon
		#gpio
                /etc/init.d/gpiomap start    #add by zuoshu for charge
		/etc/init.d/pmic start   #add by zuoshu for charge
		/etc/init.d/mmchost start
		#add by liuyong for change the preloader and meta to same vid pid 20130719 begin
		insmod /lib/modules/*/kernel/drivers/usb/gadget/g_serial.ko idVendor=0x0e8d idProduct=0x2000
		#add by liuyong for change the preloader and meta to same vid pid 20130719 end
		sleep 3
		mdev -s
		/sbin/tst_main &
		
		/etc/init.d/pwm start #add by zuoshu for pwm charge
		
		#add the zte app for meta 
		
		#mknod nvram add by qiuzhh 20130718
		mknod /dev/flash0 c 200 0
		mknod /dev/flash1 c 200 1
		insmod  /lib/modules/2.6.35.7/mediatek/platform/mt6280/kernel/drivers/cfg/cfg.ko
		nvram
		
		zte_topsw_cfg -meta&
		at-server &
		zte_topsw_lan &
		zte_topsw_sleep -m &
		zte_topsw_led &
		
	else
		#insert usb
 #maweiwei modify the USB_COMPOSITE=3(MULTI FUNC).begin
		#USB_COMPOSITE=0
		USB_COMPOSITE=3
 #maweiwei modify the USB_COMPOSITE=3(MULTI FUNC).end
		USB_PRODUCT_TYPE=0
		LanIf=br0
#add by liuyong for change MS to APCOM 20130628 begin
		eval `sncfg get USB_COMPOSITE`
#add by liuyong for change MS to APCOM 20130628 end
 #maweiwei modify the DEFAULT DNS ADDRESS.begin
		LAN_IP="192.168.0.1"
 #maweiwei modify the DEFAULT DNS ADDRESS.end
		eval `sncfg get PRODUCT_TYPE`
		if [ "$PRODUCT_TYPE" == "DONGLE" ] ; then
			USB_PRODUCT_TYPE=1
		fi
		LanMac="00:0C:E7:0B:01:02"
		UsbHostMac=$(echo "$LanMac" | sed -n 's/00:/02:/p')
	
		ifconfig lo 127.0.0.1 up
		brctl addbr $LanIf
		brctl setfd $LanIf 0
		ifconfig $LanIf hw ether $LanMac
		ifconfig dummy0 hw ether $LanMac
		brctl addif $LanIf dummy0

		ifconfig $LanIf $LAN_IP netmask 255.255.255.0
		#/etc/init.d/dhcpd  it will be insteaded by dnsmasq
	
		insmod /lib/modules/evt.ko
		/sbin/evtd.elf deamon
		insmod /lib/modules/g_ctrl.ko dev_addr="$LanMac" host_addr="$UsbHostMac" use_multi=$USB_COMPOSITE product_type=$USB_PRODUCT_TYPE
		#add by tianjun for usb netlink app begin
		zte_usb_cfg &
		#add by tianjun for usb netlink app end
	
		echo /sbin/mdev > /proc/sys/kernel/hotplug
		
		echo $USB_COMPOSITE > /sys/class/BOOT/BOOT/boot/zte_boot_mode  #add by zuoshu for get usb module use_multi
                /etc/init.d/gpiomap start    #add by zuoshu for charge
		/etc/init.d/pmic start   #add by zuoshu for charge
		#WAN	
		WanIf="ccmni0"
		ifconfig $WanIf down

		#gauge
		eval `sncfg get PRODUCT_TYPE`
		pw_product=0
		if [ $PRODUCT_TYPE = "HOTSPOT" ];then
			pw_product=0
		elif [ $PRODUCT_TYPE = "DONGLE" ];then
			pw_product=1
		fi
		#if [ $pw_product = "0" ];then
		#	insmod /lib/modules/i2c-gpio.ko scl_gpio_pin=100 sda_gpio_pin=51
		#	insmod /lib/modules/bq275xx-battery.ko
		#fi
                /etc/init.d/pwm start #add by zuoshu for pwm charge
		#mmchost
		insmod /lib/modules/mmc-host.ko
		if [ $PRODUCT_TYPE = "MIFI" ] ; then
			echo "-w=1:3 0 0 0 0 1 0" > /sys/devices/virtual/misc/mtgpio/pin
		fi

		#/etc/init.d/wifi_init #add by zuoshu for wifi
		#brctl addif $LanIf ap0 #add by zuoshu for wifi
		
		#telnet
		mknod /dev/ppp c 108 0
		
		#Disable the telnetd for security modify by qiuzhh 20131015 begin
		#/usr/sbin/telnetd -p 23
		#Disable the telnetd for security modify by qiuzhh 20131015 end
		
		#mknod nvram add by qiuzhh 20130110
		mknod /dev/flash0 c 200 0
		mknod /dev/flash1 c 200 1
		insmod  /lib/modules/2.6.35.7/mediatek/platform/mt6280/kernel/drivers/cfg/cfg.ko

		#run zte apps add by qiuzhh 
		nvram
		
		#add by qiuzhh for zte syslog 20131118 begin
		
		syslog_to_local=`cfg get syslog_to_local`
		
		if [ "$syslog_to_local" == "1" ];then
		syslog_path=`cfg get syslog_path`
		syslog_level=`cfg get syslog_level`
		syslog_size=`cfg get syslog_size`
		/sbin/syslogd -O $syslog_path/syslog  -l $syslog_level -s $syslog_size
		elif [ "$syslog_to_local" == "0" ];then
		syslog_host_ip=`cfg get syslog_host_ip`
		/sbin/syslogd -R $syslog_host_ip
		else
		/sbin/syslogd -s 64 -b 1 -l 4 && /sbin/klogd
		fi
		#add by qiuzhh for zte syslog 20131118 end
		
		#add by liuyong for change MS to APCOM 20130628 begin
		if [ "$USB_COMPOSITE" != 4 ] ; then
		at-server &
		zte_topsw_wms &
		#cfg will start zte_topsw_daemon
		zte_topsw_cfg &
		
		#added by gaofei10139719 for speed up dnsmasq @20131218 begin
		sh /usr/zte/zte_conf/scripts/speedup_dnsmasq.sh
		#added by gaofei10139719 for speed up dnsmasq @20131218 end
		
		#add by lucuiling begin
		zte_fota_vd&
		zte_dm&
		#zte_topsw_ota &
		#add by lucuiling end
		fi
		if [ "$USB_COMPOSITE" == 4 ] ; then
		sncfg set USB_COMPOSITE 3
		sncfg commit
		fi
		#add by liuyong for change MS to APCOM 20130628 end

	fi
	echo 1 > /proc/sys/vm/drop_caches
	echo w > /sys/devices/virtual/BOOT/BOOT/boot/usbdl
	echo 0 > /sys/devices/virtual/BOOT/BOOT/boot/usbdl
	echo 2048 > /proc/sys/vm/min_free_kbytes
	echo 4 > /proc/sys/vm/min_free_order_shift
else
	#start modem
	mdev -s
	#CDROM_MTD=`cat /proc/dumchar_info | grep cdrom | awk '{print $5}'`
	#rm -f /mnt/nvram/md/CDROM.ISO
	#ln -s $CDROM_MTD /mnt/nvram/md/CDROM.ISO
	insmod /lib/modules/2.6.35.7/mediatek/source/kernel/drivers/ccci/ccci.ko
	insmod /lib/modules/2.6.35.7/mediatek/source/kernel/drivers/ccmni/ccmni.ko
	mknod /dev/ccci_sys_rx c 184 2
	mknod /dev/ccci_fs c 178 0
	mknod /dev/ccci_ipc_dhcp c 183 1
	/sbin/ccci_fsd >/dev/null 2>/dev/null &
	/sbin/ccci_mdinit >/dev/null 2>/dev/null &
	ifconfig ccmni1 up >/dev/null 2>/dev/null &   #DO NOT remove this!! it's for ccmni1 buffer allocation
	/sbin/ccci_ipc_dhcp &
	echo w > /sys/devices/virtual/BOOT/BOOT/boot/usbdl
	if [ `cat /sys/class/BOOT/BOOT/boot/boot_mode` == "1" ]; then
		echo meta_mode > /sys/power/main_wake_lock
		#start MMC host for meta tool
		while [ `cat /proc/driver/md_boot` != 2 ]
		do
			sleep 1
		done
		echo /sbin/mdev > /proc/sys/kernel/hotplug
		insmod /lib/modules/evt.ko
		insmod /lib/modules/gpiomap.ko
		/etc/init.d/mmchost start

	fi
fi
#add by lucuiling for sleep while fota upgrade
echo boot_lock > /sys/power/main_wake_unlock

