Thursday, November 4, 2010, 3:21:28 PM, you wrote: > 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. Ok i was just focused on the bandwidth part :-) > 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. Do the V4L people know that / work on that ? It works ok for USB2, with the same driver, so is the bandwidth calculation for usb2 that much different from usb3 ? Since it's a usb2 device, i don't expect it to require more bandwidth on a usb3 controller than it does for a usb2 controller. And usb3 was supposed to be backward compatible with usb2 devices ? >> 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. Ok thx. > Sarah Sharp -- Best regards, Sander mailto:linux@xxxxxxxxxxxxxx -- 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