On Sun, 26 Oct 2003, Alan Stern wrote:
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 129
> bNumInterfaces 1
> bConfigurationValue 0
> iConfiguration 0
> bmAttributes 0x80
> MaxPower 190mA
>
> I won't bother with the rest. That bConfigurationValue = 0 is illegal;
> your camera is not compliant with the USB 2.0 spec.
>
> However, that doesn't explain what the problem is. 2.6.0-test8 should
> work okay even with that illegal value there. Maybe it's indicative of
> some other incompatibility that 2.6 is more strict about?
I just checked the source code again. It turns out that
bConfigurationValue = 0 _is_ the problem. The current USB code in 2.6.0
treats config 0 as meaning unconfigured (as per the USB spec). Under 2.4
that interpretation wasn't used.
The patch below may help. Try it out and let us know what happens.
Alan Stern
--- a/drivers/usb/core/message.c.orig Fri Oct 24 13:10:05 2003
+++ b/drivers/usb/core/message.c Sun Oct 26 22:51:28 2003
@@ -1086,6 +1086,11 @@
ret = -EINVAL;
goto out;
}
+
+ /* The USB spec says configuration 0 means unconfigured.
+ * But if a device includes a configuration numbered 0,
+ * we will accept it as a correctly configured state.
+ */
if (cp && configuration == 0)
dev_warn(&dev->dev, "config 0 descriptor??\n");
@@ -1101,7 +1106,7 @@
goto out;
dev->actconfig = cp;
- if (!configuration)
+ if (!cp)
dev->state = USB_STATE_ADDRESS;
else {
dev->state = USB_STATE_CONFIGURED;
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel