<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Isochronous iMX6 USB gadget example in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607088#M91488</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm looking to implement a USB gadget using Linux on iMX6, that implements an isochronous IN endpoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've started with the usb.c example from &lt;A class="link-titled" href="http://www.linux-usb.org/gadget/usb.c" title="http://www.linux-usb.org/gadget/usb.c"&gt;http://www.linux-usb.org/gadget/usb.c&lt;/A&gt; and modifying it for the iMX6.&lt;/P&gt;&lt;P&gt;I'm using Linux 4.1.15 at the moment. I'm mounting the gadgetfs framework using:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;modprobe gadgetfs&lt;/P&gt;&lt;P&gt;mkdir /dev/gadget&lt;/P&gt;&lt;P&gt;mount -t gadgetfs none /dev/gadget&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;This results in a 2184000.usb file in the /dev/gadget directory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've modified the usb.c example to look for this 2184000.usb file and fill a set of USB descriptors. This results in the host computer indeed recognizing the iMX6 as a USB device with the USB descriptors I configured. However I'm getting a bit stuck, the gadget application on the iMX6 seems to hang, eventually resulting in a reboot of my iMX6 Linux platform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone done something similar and have source code I could use as inspiration/example?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Mar 2017 15:07:26 GMT</pubDate>
    <dc:creator>bertriksikken</dc:creator>
    <dc:date>2017-03-22T15:07:26Z</dc:date>
    <item>
      <title>Isochronous iMX6 USB gadget example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607088#M91488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm looking to implement a USB gadget using Linux on iMX6, that implements an isochronous IN endpoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've started with the usb.c example from &lt;A class="link-titled" href="http://www.linux-usb.org/gadget/usb.c" title="http://www.linux-usb.org/gadget/usb.c"&gt;http://www.linux-usb.org/gadget/usb.c&lt;/A&gt; and modifying it for the iMX6.&lt;/P&gt;&lt;P&gt;I'm using Linux 4.1.15 at the moment. I'm mounting the gadgetfs framework using:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;modprobe gadgetfs&lt;/P&gt;&lt;P&gt;mkdir /dev/gadget&lt;/P&gt;&lt;P&gt;mount -t gadgetfs none /dev/gadget&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;This results in a 2184000.usb file in the /dev/gadget directory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've modified the usb.c example to look for this 2184000.usb file and fill a set of USB descriptors. This results in the host computer indeed recognizing the iMX6 as a USB device with the USB descriptors I configured. However I'm getting a bit stuck, the gadget application on the iMX6 seems to hang, eventually resulting in a reboot of my iMX6 Linux platform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Has anyone done something similar and have source code I could use as inspiration/example?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Mar 2017 15:07:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607088#M91488</guid>
      <dc:creator>bertriksikken</dc:creator>
      <dc:date>2017-03-22T15:07:26Z</dc:date>
    </item>
    <item>
      <title>Re: Isochronous iMX6 USB gadget example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607089#M91489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bertrik&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;supported usb gadgets may be found in attached Linux Manual sect.39.2 Introduction,&lt;BR /&gt;for isochronous USB gadget it may be useful to check examples on&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fdeveloper.ridgerun.com%2Fwiki%2Findex.php%3Ftitle%3DUSB_Video_Class_Gadget_Library_-_libguvc" rel="nofollow" target="_blank"&gt;https://developer.ridgerun.com/wiki/index.php?title=USB_Video_Class_Gadget_Library_-_libguvc&lt;/A&gt;&lt;BR /&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fsourceforge.net%2Fp%2Flinux-uvc%2Fmailman%2Flinux-uvc-devel%2Fthread%2F9D96EB5F79FA2E4A8F813B1A57DE31068F1CA5%40039-SN2MPN1-013.039d.mgd.msft.net%2F" rel="nofollow" target="_blank"&gt;https://sourceforge.net/p/linux-uvc/mailman/linux-uvc-devel/thread/9D96EB5F79FA2E4A8F813B1A57DE31068F1CA5@039-SN2MPN1-013.039d.mgd.msft.net/&lt;/A&gt;&lt;A class="jive-link-email-small" href="mailto:man/linux-uvc-devel/thread/9D96EB5F79FA2E4A8F813B1A57DE31068F1CA5@039-SN2MPN1-013.039d.mgd.msft.net"&gt;man/linux-uvc-devel/thread/9D96EB5F79FA2E4A8F813B1A57DE31068F1CA5@039-SN2MPN1-013.039d.mgd.msft.net&lt;/A&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Mar 2017 03:28:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607089#M91489</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-03-23T03:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Isochronous iMX6 USB gadget example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607090#M91490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Igor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure if the links contain source code that I can use to diagnose my problem. I'd like to write my own USB function, not try to use one of the existing ones. Still trying to modify the &lt;A href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.linux-usb.org%2Fgadget%2Fusb.c" rel="nofollow" target="_blank"&gt;http://www.linux-usb.org/gadget/usb.c&lt;/A&gt; source code example, but I'm almost ready to give up and may need to reconsider my approach.&lt;/P&gt;&lt;P&gt;I found one thing that makes a difference: whether I specify only full-speed endpoint descriptors (I get a couple of complaints from the kernel about missing HS configuration), or both full-speed and high-speed endpoint descriptors (in which case the iMX6 Linux platform hangs and eventually reboots). I haven't gotten to the point that the host OS selects a USB configuration yet.&lt;/P&gt;&lt;P&gt;I'm a bit surprised that&amp;nbsp;apparently I can make the Linux kernel hang/reboot from a user-space application so easily.&lt;/P&gt;&lt;P&gt;I'm starting to suspect bugs in either the UDC driver, gadget usb.c example (which is full of FIXMEs ...) or both. Perhaps my next step is to try a more modern kernel (currently at 4.1.15)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Mar 2017 18:06:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607090#M91490</guid>
      <dc:creator>bertriksikken</dc:creator>
      <dc:date>2017-03-24T18:06:58Z</dc:date>
    </item>
    <item>
      <title>Re: Isochronous iMX6 USB gadget example</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607091#M91491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Betrik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Were you able to find a solution for this. We are stuck with the same issue in our board. any leads would be helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Arun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Dec 2017 11:55:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Isochronous-iMX6-USB-gadget-example/m-p/607091#M91491</guid>
      <dc:creator>arunkumarsn</dc:creator>
      <dc:date>2017-12-21T11:55:23Z</dc:date>
    </item>
  </channel>
</rss>

