<?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>LPCXpresso IDE中的主题 Re: USB HID Composite device won't enumerate on Windows 7</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542331#M7794</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ECamino on Thu Sep 26 06:24:45 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Tsuneo!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ouch!&amp;nbsp; That's going to create some headaches for us and our customers.&amp;nbsp; Simply changing the ep type to bulk didn't work either, and then our interface software on the XP PCs couldn't com with the device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the 64-byte max a requirement for FS bulk endpoints too?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this information in the USB spec somewhere?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EC&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:30:40 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:30:40Z</dc:date>
    <item>
      <title>USB HID Composite device won't enumerate on Windows 7</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542329#M7792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ECamino on Wed Sep 25 06:15:28 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The device enumerates on XP and Linux, but not on Windows 7.&amp;nbsp; USBlyzer shows 'URB Select Configuration failed'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've deleted all regestry keys for the device in XP and re-enumerated it and there are no errors.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In W7, all the descriptors show in the USBlyzer properties window except the HID report descriptors. I can see that when URB Select Configuation 1 happens, there is a URBD_STATUS_INVAlID_PARAMETER error.&amp;nbsp; Sorry about the formatting, but here are the descriptors as captured on XP when the device successfully enumerates:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;[color=#03f]
 Connection StatusDevice connected
Current Configuration1
SpeedFull
Device Address1
Number Of Open Pipes3
Device Descriptor&amp;nbsp; “”
OffsetFieldSizeValueDescription
0bLength112h
1bDescriptorType101hDevice
2bcdUSB20200hUSB Spec 2.0
4bDeviceClass100hClass info in Ifc Descriptors
5bDeviceSubClass100h
6bDeviceProtocol100h
7bMaxPacketSize0140h64 bytes
8idVendor2“”
10idProduct2“”
12bcdDevice2"”"”
14iManufacturer101h"”
15iProduct102h“”
16iSerialNumber103h“”
17bNumConfigurations101h
Configuration Descriptor 1 Bus Powered, 200 mA
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType102hConfiguration
2wTotalLength20042h
4bNumInterfaces102h
5bConfigurationValue101h
6iConfiguration100h
7bmAttributes1A0hBus Powered, Remote Wakeup
4..0: Reserved...00000 
5: Remote Wakeup..1..... Yes
6: Self Powered.0...... No, Bus Powered
7: Reserved (set to one)
(bus-powered for 1.0)1....... 
8bMaxPower164h200 mA
Interface Descriptor 0/0 HID, 2 Endpoints
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType104hInterface
2bInterfaceNumber100h
3bAlternateSetting100h
4bNumEndpoints102h
5bInterfaceClass103hHID
6bInterfaceSubClass100h
7bInterfaceProtocol100h
8iInterface104h“”
HID Descriptor 
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType121hHID
2bcdHID20111h1.11
4bCountryCode100h
5bNumDescriptors101h
6bDescriptorType122hReport
7wDescriptorLength20021h33 bytes
Endpoint Descriptor 81 1 In, Interrupt, 32 ms
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress181h1 In
3bmAttributes103hInterrupt
1..0: Transfer Type......11 Interrupt
7..2: Reserved000000.. 
4wMaxPacketSize20020h32 bytes
6bInterval120h32 ms
Endpoint Descriptor 01 1 Out, Interrupt, 32 ms
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress101h1 Out
3bmAttributes103hInterrupt
1..0: Transfer Type......11 Interrupt
7..2: Reserved000000.. 
4wMaxPacketSize200FFh255 bytes
6bInterval120h32 ms
Interface Descriptor 1/0 HID, 1 Endpoint
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType104hInterface
2bInterfaceNumber101h
3bAlternateSetting100h
4bNumEndpoints101h
5bInterfaceClass103hHID
6bInterfaceSubClass101hBoot Interface
7bInterfaceProtocol101hKeyboard
8iInterface100h
HID Descriptor 
OffsetFieldSizeValueDescription
0bLength109h
1bDescriptorType121hHID
2bcdHID20111h1.11
4bCountryCode100h
5bNumDescriptors101h
6bDescriptorType122hReport
7wDescriptorLength2003Fh63 bytes
Endpoint Descriptor 82 2 In, Interrupt, 32 ms
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress182h2 In
3bmAttributes103hInterrupt
1..0: Transfer Type......11 Interrupt
7..2: Reserved000000.. 
4wMaxPacketSize20008h8 bytes
6bInterval120h32 ms
Interface 0 HID Report Descriptor Vendor-Defined 1
Item Tag (Value)Raw Data
Usage Page (Vendor-Defined 1)06 00 FF 
Usage (Vendor-Defined 1)09 01 
Collection (Application)A1 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Minimum (0)15 00 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Maximum (255)26 FF 00 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (8)75 08 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (32)95 20 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage (Vendor-Defined 1)09 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)81 02 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (255)95 FF 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage (Vendor-Defined 1)09 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)91 02 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (32)95 20 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage (Vendor-Defined 1)09 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)B1 02 
End CollectionC0 
Interface 1 HID Report Descriptor Keyboard
Item Tag (Value)Raw Data
Usage Page (Generic Desktop)05 01 
Usage (Keyboard)09 06 
Collection (Application)A1 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Page (Keyboard/Keypad)05 07 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Minimum (Keyboard Left Control)19 E0 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Maximum (Keyboard Right GUI)29 E7 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Minimum (0)15 00 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Maximum (1)25 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (1)75 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (8)95 08 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit)81 02 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (1)95 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (8)75 08 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit)81 03 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (5)95 05 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (1)75 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Page (LEDs)05 08 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Minimum (Num Lock)19 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Maximum (Kana)29 05 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)91 02 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (1)95 01 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (3)75 03 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Output (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit)91 03 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Count (6)95 06 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report Size (8)75 08 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Minimum (0)15 00 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logical Maximum (115)25 73 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Page (Keyboard/Keypad)05 07 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Minimum (Undefined)19 00 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage Maximum (Keyboard Right GUI)29 E7 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Input (Data,Ary,Abs)81 00 
End CollectionC0 
[/color]&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why won't W7 enumerate my composite device?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EC&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:30:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542329#M7792</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: USB HID Composite device won't enumerate on Windows 7</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542330#M7793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Wed Sep 25 17:05:24 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The wMaxPacketSize of the interrupt OUT EP takes 255 bytes&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It must be 64 bytes or less, for full-speed device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
Endpoint Descriptor 01 1 Out, Interrupt, 32 ms
OffsetFieldSizeValueDescription
0bLength107h
1bDescriptorType105hEndpoint
2bEndpointAddress101h1 Out
3bmAttributes103hInterrupt
1..0: Transfer Type......11 Interrupt
7..2: Reserved000000.. 
4wMaxPacketSize200FFh255 bytes&amp;nbsp;&amp;nbsp; &amp;lt;---- 64 or less
6bInterval120h32 ms
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The criteria of descriptor check at SelectConfiguration (Set_Configuration) gets stricter on Win7 than WinXP.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:30:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542330#M7793</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:30:39Z</dc:date>
    </item>
    <item>
      <title>Re: USB HID Composite device won't enumerate on Windows 7</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542331#M7794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ECamino on Thu Sep 26 06:24:45 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Tsuneo!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ouch!&amp;nbsp; That's going to create some headaches for us and our customers.&amp;nbsp; Simply changing the ep type to bulk didn't work either, and then our interface software on the XP PCs couldn't com with the device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the 64-byte max a requirement for FS bulk endpoints too?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this information in the USB spec somewhere?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EC&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:30:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542331#M7794</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:30:40Z</dc:date>
    </item>
    <item>
      <title>Re: USB HID Composite device won't enumerate on Windows 7</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542332#M7795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Tsuneo on Thu Sep 26 08:14:36 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Is the 64-byte max a requirement for FS bulk endpoints too?&lt;BR /&gt;Is this information in the USB spec somewhere?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;USB2.0 spec (usb_20.pdf, &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.usb.org%2Fdevelopers%2Fdocs%2Fusb_20_070113.zip" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.usb.org/developers/docs/usb_20_070113.zip&lt;/A&gt;&lt;SPAN&gt; )&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;I&gt;5.7.3 Interrupt Transfer Packet Size Constraints&lt;BR /&gt;An endpoint for an interrupt pipe specifies the maximum size data payload that it will transmit or receive. The maximum allowable interrupt data payload size is &lt;STRONG&gt;64 bytes or less for full-speed.&lt;/STRONG&gt;&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt;5.8.3 Bulk Transfer Packet Size Constraints&lt;BR /&gt;The USB defines the allowable maximum bulk data payload sizes to be &lt;STRONG&gt;only 8, 16, 32, or 64 bytes for full-speed endpoints&lt;/STRONG&gt;&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, HID doesn't accept bulk endpoint.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You have 255 bytes output report on the report descriptor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It's OK. Such a large output report is split into four packets (64, 64, 64, 63) on the firmware, over 64-bytes wMaxPacketSize endpoint.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no need to change your PC application at all. PC host controller (hardware) chains split packets into single one by 255 bytes read-out request.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just the firmware routine, which sends the output report, is fixed for this trouble. Don't worry so much &lt;SPAN class="lia-unicode-emoji" title=":winking_face:"&gt;&lt;LI-EMOJI id="lia_winking-face" title=":winking_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PS.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ah, to get better response, set the bInterval of the interrupt OUT EP to 1 ms.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
6bInterval120h32 ms&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;--- 1 ms
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tsuneo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:30:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/USB-HID-Composite-device-won-t-enumerate-on-Windows-7/m-p/542332#M7795</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:30:40Z</dc:date>
    </item>
  </channel>
</rss>

