Re: offering bounty for GPL'd dual em28xx support

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

 



On Tue, Jul 21, 2009 at 10:19 PM, Steve Castellotti<sc@xxxxxxxxxxxxx> wrote:
> On 07/21/2009 06:42 PM, Devin Heitmueller wrote:
>>
>> On Tue, Jul 21, 2009 at 9:09 PM, Steve Castellotti<sc@xxxxxxxxxxxxx>
>>  wrote:
>>>
>>>    We can confirm that a development system running Fedora 11 with the
>>> latest stable kernel (2.6.29.5-191.fc11.i686.PAE), with identical em28xx
>>> devices connected still exhibits the error message "v4l2: ioctl queue
>>> buffer
>>> failed: No space left on device" when attempting to display video input
>>> on
>>> two identical em28xx devices simultaneously.
>>>
>>>    On the other hand, display is successful through either device when
>>> trying to display individually (with both still connected).
>>>
>>
>> Hello Steve,
>>
>> The issue occurs with various different drivers.  Basically the issue
>> is the device attempts to reserve a certain amount of bandwidth on the
>> USB bus for the isoc stream, and in the case of analog video at
>> 640x480 this adds up to about 200Mbps.  As a result, connecting
>> multiple devices can result in exceeding the available bandwidth on
>> the USB bus.
>>
>> Depending on your how many devices you are trying to connect, what
>> your target capture resolution is, and whether you can put each device
>> on its own USB bus will dictate what solution you can go with.
>>
>> I've done a considerable amount of work with the mainline em28xx
>> driver, so if you would like to discuss your desired configuration
>> further and what we might be able to do to accommodate those
>> requirements (including possibly optimizing the driver to better
>> support more devices), feel free to email me off-list.
>>
>> Regards,
>>
>> Devin
>>
>
> Devin-
>
>    Thanks for the quick response. Happy to take the conversation off-list,
> but first, to clarify what may be useful to future web searchers:
>
>    So if I'm working with a USB 2.0 bus, which should have a theoretical
> maximum of 480 Mbps, if the only two ports connected are both em28xx capture
> devices running at (say) 640x480, shouldn't that be sufficient for
> displaying both streams simultaneously?
>
>    Talking in the general sense of course, perhaps some details vary from
> system to system - any idea what sort of variables might affect that
> however?
>
>    I would assume most systems only have a single USB bus (regardless of
> whether plugs are present on the front/back/side). If a given system has a
> second USB bus or chipset, them perhaps plugging the second device into that
> would solve the problem, but that surely that would be a rare situation?
>
>    Most of the systems we use do not have expansion slots, so adding a PCI
> USB board is not possible (in which case we would probably just add a PCI TV
> Capture board anyway!).
>
>
>    That said, if you do have some thoughts or suggestions as to how we might
> be able to investigate specific hardware, or there is some other way you
> think you might be able to help address this particular problem (ideally in
> a way that benefits the larger community too!) please let me know.
>
>
> Thanks again
>
> Steve
>
> --
>
> Steve Castellotti
> sc@xxxxxxxxxxxxx
> Technical Director
> Eyemagnet Limited
> http://www.eyemagnet.com

I agree that *in theory* you should be able to do two devices.  A back
of the envelope calculation of 640x480 at 30fps in YUVY capture should
be about 148Mbps.  That said, I don't think the scenario you are
describing has really been tested/debugged previously.  If I had to
guess, my suspicion would be a bug in the driver code that calculates
which USB alternate mode to operate in, which results in the driver
reserving more bandwidth than necessary.

I would have dig into the code and do some testing in order to have a
better idea where the problem is.  Do you have a specific em28xx
product in mind that you intend to use?

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux