<?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 Re: USB host select interface error in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285456#M10936</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry for the late response, I've been a bit busy lately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I finally found the root of the problem. I single stepped through the _usb_hostdev_select_interface() and discovered that the device descriptor isn't received or parsed correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As far as i can tell the device descriptor is saved in the dev variable. dev-&amp;gt;num_of_interfaces contains a value of 1 although the device actually have 4 interfaces.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When obtaining the device descriptor from Linux it turns out that there are some unrecognised fields or commands in the descriptor, see the file attached to the first post. These unrecognised fields appear for the first time right after the description of the first interface. My guess is that the freescale usb stack can't handle these so the function responsible for parsing the device descriptor exits without parsing the rest of the descriptor. This would explain why dev-&amp;gt;num_of_interfaces returns 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good ideas for solving this are welcome. I have yet to find where the function that parses the device descriptor is located.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Feb 2014 20:01:49 GMT</pubDate>
    <dc:creator>rahbek1</dc:creator>
    <dc:date>2014-02-27T20:01:49Z</dc:date>
    <item>
      <title>USB host select interface error</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285452#M10932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;I'm using a frdm-kl25z board. I'm trying to connect the board to a&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;yamaha THR10 amplifier through a USB connection. The USB on&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;the frdm board is running in host mode.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;The goal is to get a pipe handle to endpoint 1 on interface 3. So&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;far I haven't succeded. The attach event is correctly received but&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;everytime i run: _usb_hostdev_select_interface(&lt;/SPAN&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;) I get an error.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;Error nr. 200 / USBERR_NO_DESCRIPTOR.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;Any help as to why this happens is greatly appreciated.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;I have attached the device descriptor (output of lsusb command&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;on linux)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337491"&gt;lsusb_thr.txt.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 09 Feb 2014 18:21:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285452#M10932</guid>
      <dc:creator>rahbek1</dc:creator>
      <dc:date>2014-02-09T18:21:18Z</dc:date>
    </item>
    <item>
      <title>Re: USB host select interface error</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285453#M10933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I personally found the documentation on Endpoints 'lacking' in operational detail, and any examples of endpoints 'nonexistant', for my device transferring data on Endpoint 1.&amp;nbsp; I finally just 'opened' some pipes, and at least in poll mode (NOT my favorite plan) I do manage to get my data.&amp;nbsp; If you will email me, I can certainly send what I have done to you as an 'example' that at least works.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Feb 2014 02:10:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285453#M10933</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2014-02-10T02:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: USB host select interface error</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285454#M10934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-fareast-font-family: Batang; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;Hello Kristian,&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="padding: 0px 0px 1pt;"&gt;The “Freescale MQX USB Host API Reference Manual” document provides guidelines for the Host functions usage. This document is available at the following path, considering MQX default installation paths:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; C:\Freescale\Freescale_MQX_4_0\doc\usb\MQXUSBHOSTAPIRM.pdf&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P style="padding: 0px 0px 1pt;"&gt;Hope this will be useful for you.&lt;/P&gt;&lt;P style="padding: 0px 0px 1pt;"&gt;Best regards!&lt;/P&gt;&lt;P style="padding: 0px 0px 1pt;"&gt;/Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2014 02:00:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285454#M10934</guid>
      <dc:creator>CarlosCasillas</dc:creator>
      <dc:date>2014-02-25T02:00:22Z</dc:date>
    </item>
    <item>
      <title>Re: USB host select interface error</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285455#M10935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yup -- that's the documentation that is a dry list of API calls, with no information on how to use them in sequence to open an endpoint and, by poll or interrupt, transfer some blocks of data (and recover from errors!).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2014 03:37:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285455#M10935</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2014-02-26T03:37:13Z</dc:date>
    </item>
    <item>
      <title>Re: USB host select interface error</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285456#M10936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry for the late response, I've been a bit busy lately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I finally found the root of the problem. I single stepped through the _usb_hostdev_select_interface() and discovered that the device descriptor isn't received or parsed correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As far as i can tell the device descriptor is saved in the dev variable. dev-&amp;gt;num_of_interfaces contains a value of 1 although the device actually have 4 interfaces.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When obtaining the device descriptor from Linux it turns out that there are some unrecognised fields or commands in the descriptor, see the file attached to the first post. These unrecognised fields appear for the first time right after the description of the first interface. My guess is that the freescale usb stack can't handle these so the function responsible for parsing the device descriptor exits without parsing the rest of the descriptor. This would explain why dev-&amp;gt;num_of_interfaces returns 1. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good ideas for solving this are welcome. I have yet to find where the function that parses the device descriptor is located.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2014 20:01:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-host-select-interface-error/m-p/285456#M10936</guid>
      <dc:creator>rahbek1</dc:creator>
      <dc:date>2014-02-27T20:01:49Z</dc:date>
    </item>
  </channel>
</rss>

