sgjava Posted 4 hours ago Posted 4 hours ago I built an unofficial Armbian 6.12.51 (Noble) image using the build tool: Armbian-unofficial_25.11.0-trunk_Nanopiduo_noble_current_6.12.51.img I am trying to get the micro-USB port to work as a USB serial gadget (g_serial / libcomposite). What I have done / observed: g_serial and libcomposite modules are loaded: lsmod | grep g_serial g_serial 12288 0 libcomposite 49152 2 g_serial,usb_f_acm ConfigFS is mounted: mount | grep configfs configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) UDC exists: ls /sys/class/udc/ musb-hdrc.2.auto Gadget folder does not exist: ls /sys/kernel/config/usb_gadget/ # output: empty Trying to manually bind a gadget fails: echo musb-hdrc.2.auto | sudo tee /sys/kernel/config/usb_gadget/g1/UDC # Output: tee: UDC: Device or resource busy Current UDC mode: cat /sys/class/udc/musb-hdrc.2.auto/device/mode b_idle There is no /sys/class/usb_role/usb0/role available to force device mode. This setup works fine on Jammy kernel, same cable, same SD card rootfs. Problem: The OTG controller comes up in b_idle mode, preventing the USB gadget from binding. /dev/ttyACM0 never appears on the host PC. It seems like the device tree / overlay for Noble 6.12.51 is not configuring the OTG port for peripheral mode. What I want: USB serial gadget (g_serial) working over the micro-USB port on Noble 6.12.51 build. Any advice on the correct overlay or device tree modification needed to bring the OTG port into device mode at boot. Extra info: CONFIG_USB_CONFIGFS_SERIAL=y in kernel CONFIG_USB_LIBCOMPOSITE compiled as module Micro-USB cable confirmed working with Jammy kernel Modules: libcomposite, g_serial, usb_f_acm present Thanks in advance for guidance! 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.