#!/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

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

MTD_MAJOR=`grep mtd$ /proc/devices | awk '{print $1}'`

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 /
	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 /sbin/mdev > /proc/sys/kernel/hotplug
		insmod /lib/modules/evt.ko
		insmod /lib/modules/gpiomap.ko
		/etc/init.d/mmchost start

		insmod /lib/modules/*/kernel/drivers/usb/gadget/g_serial.ko
		sleep 3
		mdev -s
		/sbin/tst_main &
	else
		#insert usb
		USB_COMPOSITE=0
		USB_PRODUCT_TYPE=0
		LanIf=br0
		LAN_IP="192.168.0.254"
		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 
	
		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
	
		echo /sbin/mdev > /proc/sys/kernel/hotplug
		
		#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

		#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

		#telnet
		mknod /dev/ppp c 108 0
		/usr/sbin/telnetd -p 23
	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
	/usr/bin/zte_fota verify
	zte_fota_vd&
	#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

