...
Execute the make command to build the Linux image.
ConfigFS (CDC ACM)
Configure serial gadget through configfs saved as a file named setup_serial.
Code Block |
---|
#!/bin/sh KERNEL_PATH=/lib/modules/`uname -r`/kernel GADGET_PATH=$KERNEL_PATH/drivers/usb/gadget FUNCTION_PATH=$GADGET_PATH/function COMPOSITE=$GADGET_PATH/libcomposite.ko U_SERIAL=$FUNCTION_PATH/u_serial.ko insmod $COMPOSITE insmod $U_SERIAL # disable debug message echo 0 > /sys/module/sunplus_udc/parameters/dmsg mkdir -p /sys/kernel/config mount -t configfs none /sys/kernel/config # USB2.0 configurations cd /sys/kernel/config/usb_gadget # create gadget folder mkdir g1 cd g1 # setup gadget 1 echo 64 > bMaxPacketSize0 echo 0x200 > bcdUSB # composite class echo 0x02 > bDeviceClass mkdir -p configs/c.1 mkdir -p configs/c.1/strings/0x409 echo "USB2.0 Serial Console" > configs/c.1/strings/0x409/configuration mkdir strings/0x409 echo "1234" > strings/0x409/serialnumber echo "Sunplus" > strings/0x409/manufacturer echo "SP7350" > strings/0x409/product mkdir functions/acm.gs0 ln -s functions/acm.gs0 configs/c.1 # bind UDC echo "f8102800.usb" > UDC # USB3.0 configurations cd /sys/kernel/config/usb_gadget # create gadget folder mkdir g2 cd g2 # setup gadget 2 echo 64 > bMaxPacketSize0 echo 0x300 > bcdUSB # composite class echo 0x02 > bDeviceClass mkdir -p configs/c.1 mkdir -p configs/c.1/strings/0x409 echo "USB3.0 Serial Console" > configs/c.1/strings/0x409/configuration mkdir strings/0x409 echo "5678" > strings/0x409/serialnumber echo "Sunplus" > strings/0x409/manufacturer echo "SP7350" > strings/0x409/product mkdir functions/acm.gs1 ln -s functions/acm.gs1 configs/c.1 # bind UDC echo "f80a1000.dwc3" > UDC |
Test (CDC ACM) Configuartions
Use sh setup_serial command to configure USB 2.0 and USB3.0 device controllers as serial gadgets.
...