Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

libv4l2: error turning on stream: No space left on device

Tags:

linux

usb

webcam

I try to get stereo pair for opencv. I connect Logitech B910 and Logitech C910 webcams to usb. But have this error. I played with quirks parametrs and set outfmt=mjpeg in mplayer, but have this error again.

Where can I find bug in uvcvideo or usb drivers? What monitoring or debuging tools I should use?

like image 868
victor1234 Avatar asked Jul 09 '12 12:07

victor1234


3 Answers

This is a badly worded error message ; the cause is not having enough USB bandwidth on the controller.

As you have guessed, if you could just get your cameras to use MJEPG your problem will be resolved.

OpenCV might be using FFMPEG to do the acquire, ( the linux build generally has FFMPEG support) and the OpenCV docs admit you can't change the acquire format if FFMPEG is being used.

All I've found in my research is that you need to change the FFMPEG configuration.

Try moving the cameras to different USB controllers if you can.

like image 68
Tim Williscroft Avatar answered Nov 19 '22 09:11

Tim Williscroft


this works as charm for me

sudo rmmod uvcvideo

sudo modprobe uvcvideo quirks=128

This will be reset every reboot. If this works, create the following file: sudo vi /etc/modprobe.d/uvcvideo.conf containing the line: options uvcvideo quirks=128

check this link http://renoirsrants.blogspot.in/2011/07/multiple-webcams-on-zoneminder.html

like image 29
Satyendra Sahani Avatar answered Nov 19 '22 10:11

Satyendra Sahani


This is a problem with the USB controller running out of space.

This can usually be fixed by plugging the device into a different USB port. For example I have eSATA ports on my board and USB 2 ports and USB 3 ports. If you were previously using USB2 ports try the USB3 ports.

You can see the video card allotment via the command line on Ubuntu via

cat /sys/kernel/debug/usb/devices | grep "B: "

You might have to use sudo depending on distro. If you are windows, or osx sorry I don't know solutions for those systems.

my results look like this.

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=140/900 us (16%), #Int=  4, #Iso=  0
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc= 17/900 us ( 2%), #Int=  1, #Iso=  0
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
like image 24
Goddard Avatar answered Nov 19 '22 10:11

Goddard