On Tue, Nov 02, 2010 at 11:18:56PM +0100, Sander Eikelenboom wrote: > With the patch Andiry made i still get the bandwidth error. > [ 1255.993046] usb 9-3: Not enough bandwidth for new device state. > [ 1255.998969] usb 9-3: Not enough bandwidth for altsetting 6 > [ 1256.005636] usb 9-3: Successful Endpoint Configure command Your current output is different than the previous output: > >>> [ 35.280971] xhci_hcd 0000:02:00.0: In xhci_handle_event > >>> [ 35.280976] xhci_hcd 0000:02:00.0: `MEM_WRITE_DWORD(3'b000, 64'hffffc90000378638, 64'h78a3e668, 4'hf); > >>> [ 35.280982] xhci_hcd 0000:02:00.0: ERROR: unexpected command completion code 0x11. That's a different error. The messages you're getting now mean the hardware didn't have enough bandwidth for the camera, whereas before it indicated there was an error with the input to the hardware. So Andiry's patch does fix a bug. Andiry, can you send a proper patch with an explanation and signed-off-by line? Thanks! > When reading on the UVC project page about a related microsoft cam: > > Despite being able to work with lower USB bandwidths, this device always requests the maximum possible bandwidth, even for the MJPEG format. > Using two of those cameras connected to the same USB controller is thus impossible without hacking the driver. > > > > So i don't know how much a xhci controller reports back as max bandwidth to a usb2.0 device ? > (it's the only device i have plugged in, so it must be able to get all) I'll have to look at the spec to figure out whether the xHCI host is correctly rejecting this configuration. It could be that it doesn't have enough "internal resources" to support the maximum bandwidth, even though the bus could theoretically handle the transfers fine. But the real issue is that the UVC driver can use less bandwidth than the device specifies in its endpoint descriptors, but there's no way for the xHCI driver to know that. It can only use the interval and max packet size advertised in the endpoint descriptor. There needs to be a new API for USB video drivers to tell the xHCI driver what the real bandwidth expectations are. Until then, your webcam won't work under xHCI. > And just out of curiousity, is the max bandwidth of a xhci controller only higher for usb3 devices or also for usb2 ? Only higher for USB 3.0 devices, and only those that have the "Mult" field set in their endpoint descriptors. Sarah Sharp -- 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