device filtering support
Pete Batard
pete at akeo.ie
Mon Feb 6 06:20:18 EST 2012
On 2012.02.06 08:52, Xiaofan Chen wrote:
> The firmware is buggy since after it transfers some endpoint data
> and then all subsequent device descriptor request will fail and then
> the device goes to an unstable state.
>
> We changed libusb-win32 driver in 1.2.5.0 to cache the
> device descriptor to solve the issue.
Is compensating for buggy firmwares something we really want to consider
doing with libusbx?
> The current libusb-1.0 implementation will cause big problems
> for this kind of buggy device since libusb-1.0/libusbx program may
> request descriptor even though it is not the device of interests.
But couldn't the OS request the descriptor at any time as well? There's
nothing in the Windows specs that says device descriptors will be read
only once.
The issue I see is that someone wrote a firmware that seems to expect
only one descriptor request per session, and will set the device in an
unusable state otherwise. That's pretty bad. The minute someone uses an
USB diagnostic tool on Windows, your device is cooked, and it will still
be the case no matter the workarounds we apply to libusbx.
Or are people on Windows forbidden to run diagnostics tools ever?
Compensating for bad assumptions from device firmware writers seems a
little bit outside of our mandate.
Regards,
/Pete
More information about the libusbx
mailing list