Commit graph

5 commits

Author SHA1 Message Date
Chuanhong Guo
b5c90ed1bd usbgadget: bump PKG_RELEASE for os descriptors support
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2025-07-04 17:33:18 +08:00
Linus Walleij
cb650214ba package: usbgadget: Fix subpackage dependencies
Currently if a target wants to use acm or ncm gadget config,
they need to select both usbgadget and the config package
such as usbgadget-acm.

It's better if the target just select usbgadget-acm and get
all dependencies satisfied.

Adding a dependency using +usbgadget fixes this.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-3-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:37:34 +02:00
Linus Walleij
a57bce987a package: usbgadget: Define conffile
The /etc/config/usbgadget file is a conffile, so specify
it as such.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-2-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:36:51 +02:00
Linus Walleij
f0de73f912 package: usbgadget: Require kmod-fs-configfs
The usbgadget package tries to mount and use configfs so it
needs to require the kernel module instead of implying it.

There should be a newline at the end of the file as well.

Link: http://patchwork.ozlabs.org/project/openwrt/patch/20250403-dns313-usb-serial-v2-1-d84de8e86931@linaro.org/
Reviewed-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-04-10 09:36:18 +02:00
Chuanhong Guo
b196a9f6ce package: new package for usb gadget setup
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>
2023-12-28 13:10:32 +08:00