Dear all,
I'm having problems configuring an USB gadget on an OMAP4460 with Android 4.0.3 (GIT revision for kernel: 4efe9994e0731a113b19bf42003ccb8f672e5ccb).
- My goal is to use Ethernet over USB between the above system and an embedded Linux device (which acts as the host). However, if I configure any other USB gadget than the default Android Composite Gadget, there is no communication whatsoever with the host (checked with usbmon on the host system).
This is the case when using gadget drivers for RNDIS and ECM (g_ether.ko), NCM (ncm.ko) and mass storage (g_mass_storage.ko).
- For the kernel compilation & system configuration I followed the instructions from the TI wiki to the letter:
http://processors.wiki.ti.com/index.php/TI-Android-ICS-4.0.3-DevKit-3.0.0_DevelopersGuide#adb_over_USB_Ethernet_.28Ethernet_over_USB.29
- The result is that after IP configuration and plugging in the USB device, only the message 'PC detected' is shown on the android device. This is a message from the twl6030 power management code indicating that a type of charging device has been seen.
Further debugging showed that there is activity in the omap2430 glue code and the musb layer, but for some reason not a single USB gadget configuration (other than the Android Composite Gadget) works.
- I got the impression that Ethernet over USB has not recently been tested/used, because in the file kernel/drivers/usb/gadget/ether.c on line 250 the call to rndis_bind_config() has too few arguments, which prevents compilation for that kernel module.
I've fixed the call, but you can imagine it raises doubts about the related code.
- My question:how to get a working Ethernet over USB gadget on the Android/OMAP44 system? The NCM interface is our goal, but EEM or ECM are also valid options.
Any help will be greatly appreciated..