1
votes

The Transfer Descriptors contain an error limit for which each transfer persists. However, is there a cumulative CRC error count on the host controller for every endpoint transfer on a USB 2.0 device?

1

1 Answers

1
votes

As no one has answered this question as of yet (for 2 months), I will state my solution here.

The USB 3.0 specification (page 10-63) documented here:

http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf

lists a property defined on the GET_PORT_ERROR_COUNT.

As this property is USB 3.0 exclusive, it is not backwards-compatible with USB 2.0 as of yet. Due to lack of Windows USB 3.0 support (Windows 8 supported) and incomplete libusb support for the 3.0 standard on POSIX-compliant machines, I am unable to test if this property complies to my project.

Driver Reference: http://lxr.free-electrons.com/source/include/linux/usb/hcd.h#L517

521   /* class requests from USB 3.0 hub spec, table 10-5 */
522   #define SetHubDepth             (0x3000 | HUB_SET_DEPTH)
523   #define GetPortErrorCount       (0x8000 | HUB_GET_PORT_ERR_COUNT)