|
From: Dan E. <dan...@ne...> - 2007-11-12 15:47:07
|
Graeme Gill wrote: > > Stephan Meyer wrote: > > A configuration value of '0' is invalid (see USB spec > > for details). So the only solution is to fix your device's > > firmware. > > You're absolutely right, but it doesn't solve the users > problem, and they can't solve it either, since they > aren't responsible for creating the device. libusb-win32 looks > bad if the device used to work, and (presumably) still works > with other usb drivers. > > Is there a way of making libusb-win32 more robust in the > face of such (badly behaved) devices, rather than simply > failing ? > Having a configuration descriptor with a value of zero is very broken - there is no way to select it. When the host issues SET_CONFIGURATION with wValue = 0, to select that configuration, the device should enter the low power state, and the host should assume that the device has no active endpoints. The library doesn't have a coherent way of dealing with a device with a configuration with value zero, since it keeps track of which endpoints are valid to send data on. What would be your suggestion for a solution? Dan. |