Currently, when performing repeated USB read transfers from an isochronous pipe (“listening” to the pipe) on Windows XP, the OS may eventually crash (resulting in the Blue Screen of Death — BSOD).
This happens when using a high-speed USB device that is not configured as a high-bandwidth device, and setting the device’s
bInterval descriptor field to 0x1 or 0x2 (an interval of 1 or 2 microframes) and its
wMaxPacketSize descriptor field to 0x0400 (maximum packet siz e of 1KB). When listening to an isochronous pipe of a device with this configuration, on Windows XP, the DMA operation performed by Microsoft’susbport.sys driver, as part of handling the isochronous read transfers, may cause the OS to crash.
A possible work-around for this problem is to set the value of the device’s
bInterval descriptor field to 0x4, instead of 0x1 or 0x2.