Invalid LPC-LINK2 USB interface descriptor number sequence

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Invalid LPC-LINK2 USB interface descriptor number sequence

1,378 Views
IvoBCD
Contributor III

The USB 2.0 standard specifies bInterfaceNumber as "Number of this interface. Zero-based value identifying the index in the array of concurrent interfaces supported by this configuration." in section 9.6.5 (page 268)

However, the LPC-LINK2 CMSIS-DAP V5.224 firmware declares interface descriptors with the following sequence of bInterfaceNumber values: 0, 4, 1, 2, 3.

This causes Google's gousb library (https://github.com/google/gousb) to fail when an LPC Link 2 device is present on any USB bus, with:

config 1 interface at index 1 has number 4, USB standard states they should be identical

Also see https://github.com/google/gousb/issues/65

Can this behavior of the LPC-LINK2 CMSIS-DAP firmware be corrected ?

Thanks,

Ivo.

Labels (1)
0 Kudos
Reply
2 Replies

1,316 Views
jeremyzhou
NXP Employee
NXP Employee

Hi  Ivo Clarysse

Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
1) Can this behavior of the LPC-LINK2 CMSIS-DAP firmware be corrected?
-- No, I'm afraid not, and the composite USB device is able to be enumerated with the following sequence of bInterfaceNumber values: 0, 4, 1, 2, 3.

Have a great day,
Ping

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,155 Views
IvoBCD
Contributor III

The fact that the device enumerates is only because most USB host platforms gracefully support devices that violate the USB standard with respect to interface enumeration.

gousb library has since also been updated to deal with broken USB implementations such as NXP's LPC-Link2.

0 Kudos
Reply