usblinux-device-driverembedded-linuxkernel-modulenetwork-driver

How to enable usb gadget mode from menuconfig


I am trying to enable a usb0 interface in my kernel using the rndis module. This resides under the gadget driver category in menuconfig. I am unable to figure out the correct and complete set of configurations in menuconfig to enable the rndis support. Since the gadget driver config is incomplete, I am currently facing an error when I try to modprobe g_ether on my target (linux 4.19.55 armv7l):

udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers

How to fix this error so that usb0 comes up on my target


Solution

  • The UDC device issue was resolved by changing the mode of musb controller to dual from kernel menuconfig. After this the g_ether gets loaded successfully asn usb0 shows up on the target. Basically a UDC device like below needs to show up on the target before g-ether can be loaded.

    root@:/sys/class/udc# ls

    musb-hdrc.0.auto