On Fri, Mar 1, 2013 at 5:42 AM, Pete Batard <p...@akeo.ie> wrote: > On 2013.02.28 03:07, Xiaofan Chen wrote: >> The extended properties OS feature descriptor failed because it must be >> directed to the WinUSB interface (LIBUSB_RECIPIENT_INTERFACE), >> not the device (LIBUSB_RECIPIENT_DEVICE). The first byte of the >> Setup packet should be C1h, not C0h. (I didn't try to fix it, just observed >> what the application sent.) > > What the heck? > > We used to have C1 for the Extended Properties, and I removed it after > seeing an MS doc that said we device rather than interface should be used. > > Actually, here's me, on 2012.05.02 [1], stating the following: > > I could have sworn I saw some documentation indicating that > > bmRequestType was supposed to be set to 0xC1 (=> recipient = > > interface) > > when attempting to retrieve the Extended Properties OS Feature > > Descriptor from a device. As a matter of fact, this is the info I > > currently provide on the WCID page [1]. However, checking on the > > latest > > MS documentation [2], it seems that Microsoft do state that it should > > be set to 0xC0 (=> recipient = device), in which case the WinUSB > > override does not occur. > > > > I guess I'll have to update the xusb sample as well as the WCID page. > > And prompto, switching to 0xC0 is what I did [2]. > > I see the latest version of the MS doc is dated 2012.11.19, so either I > wasn't reading straight in May, or Microsoft altered their doc in November. > > Sigh... I guess I'll revert back to interface. > > [1] http://sourceforge.net/mailarchive/message.php?msg_id=29208842 > [2] See > https://github.com/libusbx/libusbx/commit/939a4782b28c36dfddb68585c4b027a4d5494a5b
Indeed it works better when going back to older version. Still that older version failed to get the Extended Properties OS Feature Descriptor. C:\work\libusbx\libusb_2012.01.08\examples\bin32>xusb 04d8:0053 Using libusb v1.0.8.10348 Opening device... bus: 1, port path from HCD: 2 speed: 12 Mbit/s (USB 1.0 FullSpeed) Reading device descriptor: length: 18 device class: 0 S/N: 0 VID:PID: 04D8:0053 bcdDevice: 0000 iMan:iProd:iSer: 1:2:0 nb confs: 1 Reading configuration descriptors: nb interfaces: 1 interface[0]: id = 0 interface[0].altsetting[0]: num endpoints = 2 Class.SubClass.Protocol: FF.FF.FF endpoint[0].address: 01 max packet size: 0040 polling interval: 01 endpoint[1].address: 81 max packet size: 0040 polling interval: 01 Claiming interface 0... Reading string descriptors: String (0x01): "Microchip Technology Inc." String (0x02): "Microchip WinUSB Example Device" String (0xEE): "MSFT100ε" Reading Extended Compat ID OS Feature Descriptor (wIndex = 0x0004): 00000000 28 00 00 00 00 01 04 00 01 00 00 00 00 00 00 00 (............... 00000010 00 01 57 49 4e 55 53 42 00 00 00 00 00 00 00 00 ..WINUSB........ 00000020 00 00 00 00 00 00 00 00 ........ Reading Extended Properties OS Feature Descriptor (wIndex = 0x0005): Failed: Pipe error Releasing interface 0... Closing device... -- Xiaofan ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel