This bug can be fixed by the patch I have just sent (if some maintainer will kindly apply it). I repeat the patch here: From: Marius C Silaghi <msilaghi@xxxxxxx> This patch is generated against the last kernel version in the github kernel repository. Some older families of USB2 cameras (STC-XXXXXUSB) do not support querying only the first 8 bytes of their device descriptor and therefore fail at enumeration on USB3 HCDs, with babble error -75 as they send more than the expected 8 bytes. The proposed patch extends the mechanism used for non USB3 HCDs in the first part of the same function, and successively tries to query both the 8 byte prefix of the device descriptor, as well as the whole device descriptor (in case the old style query of the 8 byte prefix fails). In fact, for the cameras I try to fix, the preferred condition is the negation of the one in the proposed patch, "if (!USE_NEW_SCHEME(retry_counter))", to try first the version successful on this case, but I keep the current order of the "if" branches to ensure clean continuation of support for other supported devices. Signed-off-by: Marius C Silaghi <msilaghi@xxxxxxx> --- --- linux/drivers/usb/core/hub.c.orig 2013-12-23 22:09:50.545093470 -0500 +++ linux/drivers/usb/core/hub.c 2013-12-23 22:29:40.521043702 -0500 @@ -4197,7 +4197,19 @@ hub_port_init (struct usb_hub *hub, stru break; } - retval = usb_get_device_descriptor(udev, 8); + /* Try first the old 8-byte query (since it may be expected + * by some devices), but then give at least a chance to the + * new form (retrieving the whole descriptor)! + * Querying the content of the whole structure is required + * for older USB2 video cameras which do not support partial + * descriptor queries, like the STC-XXXUSB family. + * Windows also supports them. + */ + if (USE_NEW_SCHEME(retry_counter)) + retval = usb_get_device_descriptor(udev, 8); + else + retval = usb_get_device_descriptor(udev, + sizeof(struct usb_device_descriptor)); if (retval < 8) { if (retval != -ENODEV) dev_err(&udev->dev,-- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html