Hi folks,
this is a followup to my earlier query about USB 3 ports failing on Windows
7. I've confirmed that the failures I see are due to bugs in the USB 3 port
drivers, which don't support the IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
or IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION ioctls.

I believe it's possible to work around these bugs for WinUsb-backed devices
by reading the info from WinUsb instead of these ioctls. A couple hiccups:
1. It's possible to read the device descriptor for a device, but this
doesn't provide all the information in USB_NODE_CONNECTION_INFORMATION_EX.
I didn't find any use being made of a lot of the info that's in there, e.g.
the pipe info. The bus-relative device address produces a warning for me if
I leave it unset, but I don't know whether apps will break if it's left
uninitialized. Thoughts?
2. Determining when to call WinUsb is a little bit of a challenge. The
ioctls are currently done in init_device, during GEN_PASS, but the driver
isn't read until DEV_PASS, so we don't know yet whether a device is a
WinUsb device. Is it reasonable to postpone reading the device and config
descriptors until DEV_PASS, when we know the device is a WinUsb device?

Thanks,
--Juan
------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to