#!/bin/bash
cd /sys/kernel/config/usb_gadget
mkdir -p VPiN
cd VPiN
echo 0x04e8 > idVendor
echo 0xa50b > idProduct
echo 0x0100 > bcdDevice
echo 0x0200 > bcdUSB
echo 0xEF > bDeviceClass
echo 0x02 > bDeviceSubClass
echo 0x01 > bDeviceProtocol
mkdir -p strings/0x409
cat /sys/firmware/devicetree/base/serial-number > strings/0x409/serialnumber
echo "Raspberry Pi Foundation" > strings/0x409/manufacturer
echo "VPiN (Raspberry Pi 4)" > strings/0x409/product
mkdir -p configs/c.1/strings/0x409
echo 250 > configs/c.1/MaxPower
echo "Config 1: USB Gadget" > configs/c.1/strings/0x409/configuration
mkdir -p functions/ecm.usb0
MAC=$(</sys/class/net/eth0/address)
echo "${MAC:0:1}a${MAC:2}" > functions/ecm.usb0/host_addr
echo "${MAC:0:1}e${MAC:2}" > functions/ecm.usb0/dev_addr
ln -s functions/ecm.usb0 configs/c.1/
udevadm settle -t 5 || :
ls /sys/class/udc > UDC
