More useful information would come from modifying that usb_set_configuration() diagnostic (message.c) to also call usb_show_device(dev).
If indeed that device has illegal descriptors, it might be a good idea to make Linux explicitly allow that case.
Please suggest patches and procedures for me to do in order to collect the necessary information.
You mean, in more detail than I already did?
I won't send information saying how to apply patches, build kernels, install them, etc; that's widely available. But here's the diagnostic patch I described. Apply, run; and send the resulting kernel messages.
- Dave
===== drivers/usb/core/message.c 1.34 vs edited ===== --- 1.34/drivers/usb/core/message.c Mon Aug 11 07:56:25 2003 +++ edited/drivers/usb/core/message.c Tue Aug 12 07:54:19 2003 @@ -1055,6 +1055,7 @@ } if ((!cp && configuration != 0) || (cp && configuration == 0)) { warn("selecting invalid configuration %d", configuration); + usb_show_device(dev); return -EINVAL; }