#!/bin/sh
# DESCRIPTION: RNDIS + Mass Storage:ECM + Mass Storage(User Mode)

export DEFAULT_MANUFACTURER_NAME="TP-Link Technologies Co., Ltd."
export DEFAULT_PRODUCT_NAME="M7350v5"
export DEFAULT_VENDOR_ID="2357"
export DEFAULT_PRODUCT_ID="0005"
export DEFAULT_MUL_CONF_PRODUCT_ID="000A"

export MANUFACTURER_NAME="`uci get product.info.vendor_name`"
export PRODUCT_NAME="`uci get product.info.product_series`"
export VENDOR_ID="`uci get product.usb.vid`"
export PRODUCT_ID="`uci get product.usb.pid`"

if [ "$1" = "y" ]; then
	num="1"
else
	num="0"
fi

if [ "$#" -ge 2 ]; then
	delay=$2
else
	delay="0"
fi

if [ "$#" -ge 3 ]; then
	from_adb=$3
else
	from_adb="n"
fi

if [ ! -n "$MANUFACTURER_NAME" ]
then
	MANUFACTURER_NAME=$DEFAULT_MANUFACTURER_NAME
fi

if [ ! -n "$PRODUCT_NAME" ]
then
	PRODUCT_NAME=$DEFAULT_PRODUCT_NAME
fi

if [ ! -n "$VENDOR_ID" ]
then
	VENDOR_ID=$DEFAULT_VENDOR_ID
fi

if [ ! -n "$PRODUCT_ID" ]
then
	PRODUCT_ID=$DEFAULT_PRODUCT_ID
fi

run_9607() {
	if [ $from_adb = "n" ]
	then
		pkill adbd
	fi
	echo 0 > /sys/class/android_usb/android$num/enable
	echo $PRODUCT_ID > /sys/class/android_usb/android$num/idProduct
	echo $VENDOR_ID > /sys/class/android_usb/android$num/idVendor
	echo $MANUFACTURER_NAME > /sys/class/android_usb/android$num/iManufacturer
	echo $PRODUCT_NAME > /sys/class/android_usb/android$num/iProduct
	echo rndis,mass_storage > /sys/class/android_usb/android$num/functions
	echo 1 > /sys/class/android_usb/android$num/remote_wakeup
	echo 1 > /sys/class/android_usb/android0/f_rndis/wceis
	sleep $delay
	echo 1 > /sys/class/android_usb/android$num/enable
	if [ $from_adb = "n" ]
	then
		/etc/init.d/adbd start
	fi
}

run_9607 &
