#!/bin/sh
PREREQS=""
case $1 in
        prereqs) echo "${PREREQS}"; exit 0;;
esac

ID=252

. /scripts/functions

ID=$( sed "s#.*:p\(.*\):usb0.10.*#\1#" /proc/cmdline )
HEXID=$( echo $ID | awk '{printf("%02x\n",$1)}' )

modprobe dwc2
modprobe libcomposite
mount -t configfs none /sys/kernel/config/
cd /sys/kernel/config/usb_gadget/
mkdir ClusterCTRL && cd ClusterCTRL
echo "0x3171" > idVendor
echo "0x0020" > idProduct 
echo "0x0100" > bcdDevice
echo "0x0200" > bcdUSB
echo "0xEF" > bDeviceClass
echo "0x02" > bDeviceSubClass
echo "0x01" > bDeviceProtocol
mkdir -p strings/0x409
echo "$ID" > strings/0x409/serialnumber
echo "8086 Consultancy" > strings/0x409/manufacturer
echo "ClusterCTRL-usbboot" > strings/0x409/product
mkdir -p functions/acm.usb0
mkdir -p functions/acm.usb1
mkdir -p functions/rndis.usb0
echo "00:22:82:ff:fe:$HEXID" > functions/rndis.usb0/host_addr
echo "00:22:82:ff:ff:$HEXID" > functions/rndis.usb0/dev_addr
mkdir -p configs/c.1
echo "250" > configs/c.1/MaxPower
ln -s functions/rndis.usb0 configs/c.1/
ln -s functions/acm.usb0   configs/c.1/
ln -s functions/acm.usb1   configs/c.1/
echo "1"       > os_desc/use
echo "0xcd"    > os_desc/b_vendor_code
echo "MSFT100" > os_desc/qw_sign
echo "RNDIS"   > functions/rndis.usb0/os_desc/interface.rndis/compatible_id
echo "5162001" > functions/rndis.usb0/os_desc/interface.rndis/sub_compatible_id
ln -s configs/c.1 os_desc
udevadm settle -t 5 || :
ls /sys/class/udc/ > UDC

# Create the VLAN interface for NFSROOT
ip link add link usb0 name usb0.10 type vlan id 10
ip link set dev usb0.10 mtu 1496
ip link set dev usb0 up
ip link set dev usb0.10 up
if [ -f /bin/ifmetric ]; then
	ifmetric usb0.10 1100
fi

exit 0
