Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 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.

...