<?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 MX28 WinCE6 USB enumeration issue in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/MX28-WinCE6-USB-enumeration-issue/m-p/276717#M31008</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;Dear Support,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customer have a device that is not enumerating properly on the TX28 from &lt;SPAN class="SpellE"&gt;Karo&lt;/SPAN&gt; (SOM manufacturer) units with Windows CE 6.0.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It contains an interface that lists zero as the number of endpoints.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;As far I know, this is a valid interface that uses only the control endpoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, the enumeration fails when determining the number of interfaces.&lt;/P&gt;&lt;P&gt;Specifically, in BSP/common/&lt;SPAN class="SpellE"&gt;src&lt;/SPAN&gt;/soc/COMMON_FSL_V3/MS/USBH/USB2COM/cdevice.cpp, the &lt;SPAN class="SpellE"&gt;CreateUsbConfigurationStructure&lt;/SPAN&gt;() call fails in the "second step".&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The buffer contains 18 bytes, which correspond to a configuration descriptor and an interface descriptor.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The interface descriptor specifies &lt;SPAN class="SpellE"&gt;bNumEndpoints&lt;/SPAN&gt; == 0, and there are also no additional interfaces.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Therefore, 18 is the complete length of the data for the two descriptors.&lt;/P&gt;&lt;P&gt;The code has a test:&lt;/P&gt;&lt;P&gt;while (offset + x + &lt;SPAN class="SpellE"&gt;sizeof&lt;/SPAN&gt;(USB_INTERFACE_DESCRIPTOR) &amp;lt; &lt;SPAN class="SpellE"&gt;dataBufferLen&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where offset=9, x=0, and &lt;SPAN class="SpellE"&gt;dataBufferLen&lt;/SPAN&gt;=18.&lt;/P&gt;&lt;P&gt;Therefore, the test fails, preventing the number of interfaces from being incremented, and resulting in a failure of the entire enumeration.&lt;/P&gt;&lt;P&gt;Changing the '&amp;lt;' to '&amp;lt;=' seems to resolve the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we confirm this is an issue?&lt;/P&gt;&lt;P&gt;It seems that both WinCE 6.0 &amp;amp; WinCE 7.0 use the same conditional statement, so presumably both will fail, but only WinCE6 was tested.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Br,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rod&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Feb 2014 15:54:31 GMT</pubDate>
    <dc:creator>Rodrigue</dc:creator>
    <dc:date>2014-02-04T15:54:31Z</dc:date>
    <item>
      <title>MX28 WinCE6 USB enumeration issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX28-WinCE6-USB-enumeration-issue/m-p/276717#M31008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;Dear Support,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customer have a device that is not enumerating properly on the TX28 from &lt;SPAN class="SpellE"&gt;Karo&lt;/SPAN&gt; (SOM manufacturer) units with Windows CE 6.0.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It contains an interface that lists zero as the number of endpoints.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;As far I know, this is a valid interface that uses only the control endpoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, the enumeration fails when determining the number of interfaces.&lt;/P&gt;&lt;P&gt;Specifically, in BSP/common/&lt;SPAN class="SpellE"&gt;src&lt;/SPAN&gt;/soc/COMMON_FSL_V3/MS/USBH/USB2COM/cdevice.cpp, the &lt;SPAN class="SpellE"&gt;CreateUsbConfigurationStructure&lt;/SPAN&gt;() call fails in the "second step".&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The buffer contains 18 bytes, which correspond to a configuration descriptor and an interface descriptor.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The interface descriptor specifies &lt;SPAN class="SpellE"&gt;bNumEndpoints&lt;/SPAN&gt; == 0, and there are also no additional interfaces.&lt;SPAN style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Therefore, 18 is the complete length of the data for the two descriptors.&lt;/P&gt;&lt;P&gt;The code has a test:&lt;/P&gt;&lt;P&gt;while (offset + x + &lt;SPAN class="SpellE"&gt;sizeof&lt;/SPAN&gt;(USB_INTERFACE_DESCRIPTOR) &amp;lt; &lt;SPAN class="SpellE"&gt;dataBufferLen&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where offset=9, x=0, and &lt;SPAN class="SpellE"&gt;dataBufferLen&lt;/SPAN&gt;=18.&lt;/P&gt;&lt;P&gt;Therefore, the test fails, preventing the number of interfaces from being incremented, and resulting in a failure of the entire enumeration.&lt;/P&gt;&lt;P&gt;Changing the '&amp;lt;' to '&amp;lt;=' seems to resolve the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we confirm this is an issue?&lt;/P&gt;&lt;P&gt;It seems that both WinCE 6.0 &amp;amp; WinCE 7.0 use the same conditional statement, so presumably both will fail, but only WinCE6 was tested.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Br,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rod&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Feb 2014 15:54:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX28-WinCE6-USB-enumeration-issue/m-p/276717#M31008</guid>
      <dc:creator>Rodrigue</dc:creator>
      <dc:date>2014-02-04T15:54:31Z</dc:date>
    </item>
    <item>
      <title>Re: MX28 WinCE6 USB enumeration issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX28-WinCE6-USB-enumeration-issue/m-p/276718#M31009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Deactivated user can you help on this case?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Feb 2014 17:54:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX28-WinCE6-USB-enumeration-issue/m-p/276718#M31009</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2014-02-04T17:54:53Z</dc:date>
    </item>
  </channel>
</rss>

