forked from Openwrt/openwrt
b196a9f6ce
Setting up usb gadgets using g_* kernel modules are considered a legacy approach, but the usb_gadget configfs is a bit annoying to use directly. The usb_gadget configfs works by creating magic directories and writing to magic files under /sys/kernel/config/usbgadget. This new package is an init script to setup usb_gadget configfs using uci. In the config file, gadget/configuration/function sections create corresponding directories. UCI options are magic files available in the configfs and strings/0x409 directories, grabbed with a 'find' command. UDC option in gadget writes the UDC file under the 'gadget' directory to attach the generated gadget config. It's also possible to apply pre-made config templates under /usr/share/usbgadget. The templates use the same UCI config format, with the 'gadget' entry named 'g1'. Currently, there are templates for CDC-ACM and CDC-NCM gadgets written based on existing g_*.ko module code. Certain SBCs come with only a USB device port (e.g. Raspberry Pi Zero). With this script, it's now possible to perform initial setup on them by adding a default NCM gadget. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
14 lines
279 B
Plaintext
14 lines
279 B
Plaintext
config gadget 'g1'
|
|
option idVendor '0x0525'
|
|
option idProduct '0xa4a1'
|
|
option bDeviceClass '2'
|
|
option product 'NCM Gadget'
|
|
|
|
config configuration 'cfg1'
|
|
option configuration 'NCM'
|
|
option gadget 'g1'
|
|
|
|
config function 'ncm1'
|
|
option function 'ncm'
|
|
option configuration 'cfg1'
|