<?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 keyboard cannot be enumerated by KSDK2.0 in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/USB-keyboard-cannot-be-enumerated-by-KSDK2-0/m-p/663535#M7273</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Derek,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This issue can be fixed with the following code in bold added in usb_host_devices.c file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static usb_status_t USB_HostProcessCallback(usb_host_device_instance_t *deviceInstance)&lt;BR /&gt;{&lt;BR /&gt; usb_host_pipe_t *pipe = (usb_host_pipe_t *)deviceInstance-&amp;gt;controlPipe;&lt;BR /&gt; usb_status_t status = kStatus_USB_Success;&lt;BR /&gt; usb_descriptor_configuration_t *configureDesc;&lt;BR /&gt; &lt;STRONG&gt;volatile uint32_t i = 0xffffU;&lt;/STRONG&gt;&lt;BR /&gt; usb_host_instance_t *hostInstance = (usb_host_instance_t *)deviceInstance-&amp;gt;hostHandle;&lt;/P&gt;&lt;P&gt;switch (deviceInstance-&amp;gt;state)&lt;BR /&gt; {&lt;BR /&gt; case kStatus_DEV_GetDes8: /* process get 8 bytes descriptor result */&lt;BR /&gt; pipe-&amp;gt;maxPacketSize = deviceInstance-&amp;gt;deviceDescriptor.bMaxPacketSize0;&lt;BR /&gt; hostInstance-&amp;gt;controllerTable-&amp;gt;controllerIoctl(&lt;BR /&gt; hostInstance-&amp;gt;controllerHandle, kUSB_HostUpdateControlPacketSize, deviceInstance-&amp;gt;controlPipe);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case kStatus_DEV_SetAddress: /* process set address result */&lt;BR /&gt; &lt;STRONG&gt;while(i--)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; }&lt;/STRONG&gt;&lt;BR /&gt; deviceInstance-&amp;gt;setAddress = deviceInstance-&amp;gt;allocatedAddress;&lt;BR /&gt; hostInstance-&amp;gt;controllerTable-&amp;gt;controllerIoctl(&lt;BR /&gt; hostInstance-&amp;gt;controllerHandle, kUSB_HostUpdateControlEndpointAddress, deviceInstance-&amp;gt;controlPipe);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The enumeration failure is caused by USB host sending set address request too fast to USB device. It needs to wait for some time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hao&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Oct 2016 12:42:24 GMT</pubDate>
    <dc:creator>cutworth</dc:creator>
    <dc:date>2016-10-24T12:42:24Z</dc:date>
    <item>
      <title>USB keyboard cannot be enumerated by KSDK2.0</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/USB-keyboard-cannot-be-enumerated-by-KSDK2-0/m-p/663534#M7272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, Wanghao&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer have a&amp;nbsp; 1D/2D scanner (USB keyboard device)&amp;nbsp;which can be enumerated with KSDK1.3, but cannot by KSDK2.0.&amp;nbsp; Could you please help to check ? Thanks !&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Derek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Oct 2016 09:12:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/USB-keyboard-cannot-be-enumerated-by-KSDK2-0/m-p/663534#M7272</guid>
      <dc:creator>hiwave</dc:creator>
      <dc:date>2016-10-24T09:12:18Z</dc:date>
    </item>
    <item>
      <title>Re: USB keyboard cannot be enumerated by KSDK2.0</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/USB-keyboard-cannot-be-enumerated-by-KSDK2-0/m-p/663535#M7273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Derek,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This issue can be fixed with the following code in bold added in usb_host_devices.c file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static usb_status_t USB_HostProcessCallback(usb_host_device_instance_t *deviceInstance)&lt;BR /&gt;{&lt;BR /&gt; usb_host_pipe_t *pipe = (usb_host_pipe_t *)deviceInstance-&amp;gt;controlPipe;&lt;BR /&gt; usb_status_t status = kStatus_USB_Success;&lt;BR /&gt; usb_descriptor_configuration_t *configureDesc;&lt;BR /&gt; &lt;STRONG&gt;volatile uint32_t i = 0xffffU;&lt;/STRONG&gt;&lt;BR /&gt; usb_host_instance_t *hostInstance = (usb_host_instance_t *)deviceInstance-&amp;gt;hostHandle;&lt;/P&gt;&lt;P&gt;switch (deviceInstance-&amp;gt;state)&lt;BR /&gt; {&lt;BR /&gt; case kStatus_DEV_GetDes8: /* process get 8 bytes descriptor result */&lt;BR /&gt; pipe-&amp;gt;maxPacketSize = deviceInstance-&amp;gt;deviceDescriptor.bMaxPacketSize0;&lt;BR /&gt; hostInstance-&amp;gt;controllerTable-&amp;gt;controllerIoctl(&lt;BR /&gt; hostInstance-&amp;gt;controllerHandle, kUSB_HostUpdateControlPacketSize, deviceInstance-&amp;gt;controlPipe);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case kStatus_DEV_SetAddress: /* process set address result */&lt;BR /&gt; &lt;STRONG&gt;while(i--)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; {&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; ;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; }&lt;/STRONG&gt;&lt;BR /&gt; deviceInstance-&amp;gt;setAddress = deviceInstance-&amp;gt;allocatedAddress;&lt;BR /&gt; hostInstance-&amp;gt;controllerTable-&amp;gt;controllerIoctl(&lt;BR /&gt; hostInstance-&amp;gt;controllerHandle, kUSB_HostUpdateControlEndpointAddress, deviceInstance-&amp;gt;controlPipe);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The enumeration failure is caused by USB host sending set address request too fast to USB device. It needs to wait for some time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hao&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Oct 2016 12:42:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/USB-keyboard-cannot-be-enumerated-by-KSDK2-0/m-p/663535#M7273</guid>
      <dc:creator>cutworth</dc:creator>
      <dc:date>2016-10-24T12:42:24Z</dc:date>
    </item>
  </channel>
</rss>

