AnsweredAssumed Answered

Isochronous iMX6 USB gadget Implementation Issue

Question asked by William Ho on Oct 3, 2019
Latest reply on Oct 4, 2019 by igorpadykov

Got the same question as this previous post https://community.nxp.com/thread/447496 back in 2017 but there is no answer to the problem. Just wondering if someone has solution already?

I'm trying to implement a USB gadget using Linux on NXP iMX6 which implements an isochronous IN endpoint but got stuck as the gadget application on the iMX6 seems to hang, and eventually resulting a reboot of my i.MX6 platform.

Started with the usb.c example from http://www.linux-usb.org/gadget/usb.c and modifying it for the iMX6.

The Linux Kernel used for this development is Ver. 4.1.15.

Then, mounting the gadgetfs framework using: modprobe gadgetfs mkdir /dev/gadget mount -t gadgetfs none /dev/gadget

This results in a 2184000.usb file in the /dev/gadget directory.

Modified the usb.c example to look for this 2184000.usb file and fill a set of USB descriptors. The host computer did recognizing the iMX6 as a USB device with the USB descriptors which I configured. But then, the gadget application on the i.MX6 seems to just hang and then reboot my Linux platform eventually.

Has anyone experience the same situation and got a solution? Please can you share source code or suggestion? Thanks!

Outcomes