Re: xhci isoc : Not enough bandwidth for altsetting 6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux