FX2 driver doesn't work with USB 3.0 port

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
dabi_291011
Level 1
Level 1
0 Likes
4 Replies
dabi_291011
Level 1
Level 1

Windows 7 x64, FX2LP drivers version 3.4.7, all works fine on the machine's USB 2.0 ports,but when the device is plugged into the USB 3.0 port, device does not work, device manager reports "This device cannot start. (code 10)." The is a signed driver, production device, USB 3.0 port should be backward compatible with USB 2.0 device/driver.
 

0 Likes
Anonymous
Not applicable

Do you have a CATC trace of what is happening on the bus by any chance?

   

Regards,

   

Anand

0 Likes
dabi_291011
Level 1
Level 1

I do not have a CATC trace. However, I believe I have figured out what the problem is. I reverted back to the CypressSuiteUSB standard bulk loop example, and this worked OK on the USB 3.0 port. Our device, in order to maximize transfer speed, specifies 1024 byte bulk transfer size in it's descriptor, whereas the bulkloop example specifies 512. The USB spec states maximum bulk transfer size (for high speed) to be 512. So although 1024 byte bulk transfers work OK in every USB 2.0 scenario we have encountered, they are illegal according to spec, and it looks like the USB 3.0 port driver in fact will NOT accept such a descriptor. When I changed our firmware to specify max 512 byte bulk tranfers, the driver loaded OK. I believe the issue is resolved.

0 Likes
Anonymous
Not applicable

Sending 1024 byte through Bulk endpoint might have worked but there are host controller that crash when you violate the maxpacketsize specification.

   

Regards,

   

Anand

0 Likes