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>
13 lines
354 B
Plaintext
13 lines
354 B
Plaintext
# apply a preset under /usr/share/usbgadget
|
|
config preset
|
|
option name 'ncm'
|
|
# specify a UDC to enable this gadget:
|
|
# option UDC 'musb-hdrc.2.auto'
|
|
|
|
# or create a custom gadget here following the content of presets:
|
|
#config gadget 'g1'
|
|
# option idVendor ...
|
|
# ...
|
|
# and add an UDC under the gadget section to enable it:
|
|
# option UDC 'musb-hdrc.2.auto'
|