On 2013.03.03 14:45, Xiaofan Chen wrote: > Indeed it works better when going back to older version. Still that > older version failed to get the Extended Properties OS Feature Descriptor.
Have you tried using os_fd[i].recipient for both requests? Simply reverting the patch will not do, as there is still an extra fix needed. If you just revert, then the first request (header) for Ext Props will still be forced as LIBUSB_RECIPIENT_DEVICE, and is therefore expected to fail with the Microchip stack, as only the second full request is set to LIBUSB_RECIPIENT_INTERFACE (We have 4 requests in all, with one for header, and one for full data for each of Compat ID and Ext Props). For Extended Compat ID, this isn't an issue as os_fd[i] is set to LIBUSB_RECIPIENT_DEVICE, so the first and second request match regardless. In other words, you want to have: r = libusb_control_transfer(handle, (uint8_t)(LIBUSB_ENDPOINT_IN|LIBUSB_REQUEST_TYPE_VENDOR|os_fd[i].recipient), for both requests. If you confirm that this works, I'll revert the patch, with this extra change applied, and push it. Regards, /Pete ------------------------------------------------------------------------------ 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