Hello all,

In my case I tested with the cameras plugged into 2 differens hubs (I have 2
pairs on two sides of my netbook) and the result is the same. I have to open
the laptop however to see if the hubs are really different as the port pairs
are on adjacent sides of the notebook and not on opposite sides (far enough
to ensure the hubs are really different). On windows I see listed one
USB2(Enhanced) controller and 4 USB Universal controllers- so I guess is
just one USB2

Using 2 hubs is not a solution for me as it doesn't work right now although
I have 4 external USB ports on one of the machines and 6 on another (plus
some internal ports on both of them)

As I am a developer, so in practice I could modify things inside the driver
or somewhere in order to try to make things work.

My question is - who does/requests the USB bandwidth allocation ? The uvc
driver or the camera itself ?  Is this happening directly in hardware or is
mediated by the uvc/ehci driver?

In the second case can we force the driver on the allocation problem if it
is in the driver ? 
I don't know yet the answer to this - and having a few pointers/explanations
from the UVC implementors might help here !

I saw the other forums and their approach - and somebody proposed there 

Thx,
Adrian





-----Original Message-----
From: bruno.via...@free.fr [mailto:bruno.via...@free.fr] 
Sent: Sunday, May 16, 2010 11:25 PM
To: Adrian Sergiu Darabant
Cc: linux-uvc-devel@lists.berlios.de
Subject: Re: [Linux-uvc-devel] Stream from multimple cameras


----- "Adrian Sergiu Darabant" <aser...@yahoo.co.uk> wrote :

> My need is to stream from both cameras in the same time.  
(...) 
> I tried to do that and I am succeeding up to query and map buffers but
> then when doing VIDIOC_STREAMON - the first camera starts and the
> second one always gets
> 
> kernel: uvcvideo: Failed to submit URB 0 (-28).
> 
> which seems to be linked with the usb bandwidth.

Hello Adrian, 
This problem is mentioned in the "Motion" software FAQ: when streaming from
multiple USB cams, each one must be plugged to its own USB controller, not
on a hub, including motherboard hubs (typically the pair of connectors on
top of each other).
(cf http://www.lavrsen.dk/foswiki/bin/view/Motion/FrequentlyAskedQuestions
first item)

I experienced this problem on an eeepc 701 / linux: while streaming only
v...@1fps the two webcams (Vesta pro + SPC900) had to be plugged one on each
side of the netbook. 
But I could plug an external harddrive (recording both streams!) in the same
hub as one of the cams! Go figure that...
Same thing on a Dell desktop PC with Hercules cams under windows XP.

> 
> I don't know all the details about the USB transfer protocol but my
> understanding is that - the driver should request a static bandwidth
> allocation before starting streaming. Would it be possible to force
> the streaming at a lower rate - maybe loosing some frames from the
> camera but still allow multiple camera streaming ?

Using distinct controllers is obviously just a workaround, but I have no
idea if this bandwidth allocation problem can be dealt with at the driver
level, I will leave this to competent people...

Best regards

-- Bruno Viaris

_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to