Update: I thought this fixed it, but it didn't, see post #2 for the continuing story.
Just attempted to debug this USB issue & will post the solution here for others.
The problem was with a Lenovo Yoga 2 Pro Ultrabook, whose USB3 port wasn't working with a Corsair Voyager GT 32GB USB3.0 flash drive in Win8.1.
The same USB port work with other USB devices. So the port was working OK, except for with the Voyager flash drive.
The same Corsair Voyager flash drive worked on other machines. So the flash drive was also OK.
The error message displayed in Windows device manager was,
"Device descriptor request failed" and
"A request for the USB device device descriptor failed" and
"(Code 43)"
The USB3.0 port in device manager was running the new Microsoft "eXtensible Host Controller". This is new to Win8. In older Windows releases the USB3.0 device driver was supplied by the manufacturer of the host controller (Intel, NEC, etc..).
After some investigation it seems that the Corsair Voyager GT flash drive is missing the Binary Device Object Store (BOS) in its setup data. The BOS descriptor returns a set of device-level capability descriptors for the USB device. If the USB version field, bcdUSB, is set to be greater than 2.0 then the BOS is mandatory. But despite being mandatory it seems to be missing in the Corsair Voyager.
This lack of BOS causes the Device descriptor request failed message.
There is a work around however. You need to add a key to the registry to stop Win8 enforcing this BOS requirement.
To apply the workaround for a specific device, add a REG_DWORD value named SkipBOSDescriptorQuery that has a value of 1 to the following registry subkey:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\usbflags\vvvvpppprrrr
(where vvvv is the device's Vendor ID, pppp is the device's Product ID, and rrrr is the device's Revision number)
My Corsair Voyager GT 32GB had a VID of 1B1C and PID of 1A01. So the required entry for me was,
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\usbflags\1B1C1A010000
Additional details can be found here,
http://blogs.msdn.com/b/usbcoreblog/...h-code-43.aspx
Just attempted to debug this USB issue & will post the solution here for others.
The problem was with a Lenovo Yoga 2 Pro Ultrabook, whose USB3 port wasn't working with a Corsair Voyager GT 32GB USB3.0 flash drive in Win8.1.
The same USB port work with other USB devices. So the port was working OK, except for with the Voyager flash drive.
The same Corsair Voyager flash drive worked on other machines. So the flash drive was also OK.
The error message displayed in Windows device manager was,
"Device descriptor request failed" and
"A request for the USB device device descriptor failed" and
"(Code 43)"
The USB3.0 port in device manager was running the new Microsoft "eXtensible Host Controller". This is new to Win8. In older Windows releases the USB3.0 device driver was supplied by the manufacturer of the host controller (Intel, NEC, etc..).
After some investigation it seems that the Corsair Voyager GT flash drive is missing the Binary Device Object Store (BOS) in its setup data. The BOS descriptor returns a set of device-level capability descriptors for the USB device. If the USB version field, bcdUSB, is set to be greater than 2.0 then the BOS is mandatory. But despite being mandatory it seems to be missing in the Corsair Voyager.
This lack of BOS causes the Device descriptor request failed message.
There is a work around however. You need to add a key to the registry to stop Win8 enforcing this BOS requirement.
To apply the workaround for a specific device, add a REG_DWORD value named SkipBOSDescriptorQuery that has a value of 1 to the following registry subkey:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\usbflags\vvvvpppprrrr
(where vvvv is the device's Vendor ID, pppp is the device's Product ID, and rrrr is the device's Revision number)
My Corsair Voyager GT 32GB had a VID of 1B1C and PID of 1A01. So the required entry for me was,
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\usbflags\1B1C1A010000
Additional details can be found here,
http://blogs.msdn.com/b/usbcoreblog/...h-code-43.aspx
Comment