UVC webcam support : libv4lconvert: warning more framesizes

Issues related to applications and software problems
Post Reply
chankim
Posts: 50
Joined: 2015/07/15 12:05:39

UVC webcam support : libv4lconvert: warning more framesizes

Post by chankim » 2015/07/15 12:26:09

Hi, I don't know how I didn't register to this site.
I'm using CentOS 6.6 (final) and today I plugged a USB webcam, logitech HD Webcam C270 (which supports UVC) in to my machine,
then from the dmesg, I got

usb 1-1.3: new high speed USB device number 16 using ehci_hcd
usb 1-1.3: New USB device found, idVendor=046d, idProduct=0825
usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=2
usb 1-1.3: SerialNumber: 45217060
usb 1-1.3: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
input: UVC Camera (046d:0825) as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input23
16:3:1: cannot get freq at ep 0x86

Whey I run 'cheese', I get error messages below.
libv4lconvert: warning more framesizes then I can handle!
libv4lconvert: warning more framesizes then I can handle!
libv4l2: error turning on stream: No space left on device

I can see the libv4l2 doesn't support the camera's framesize. (which seems to be 720p)
When I tried to yum update libv4l2, nothing is updated.
Is there any way I can get libv4l patched ? I found
http://superuser.com/questions/869060/w ... centos-6-6
this page even has a patch, but I don't know to patch my system.
I can't even get the kernel source files for my system. uname -r gives me
2.6.32-504.3.3.el6.x86_64
I tried http://wiki.centos.org/HowTos/I_need_the_Kernel_Source but I got just some makefiles, and rpm files.
The page doesn't talks about how to get .c and .h files (the kernel source tree).
Can anybody give me instructions on how to?
Thanks in advance.
Best regards!
Chan Kim /ETRI

User avatar
toracat
Site Admin
Posts: 7518
Joined: 2006/09/03 16:37:24
Location: California, US
Contact:

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by toracat » 2015/07/15 13:45:12

chankim wrote: I can't even get the kernel source files for my system. uname -r gives me
2.6.32-504.3.3.el6.x86_64
I tried http://wiki.centos.org/HowTos/I_need_the_Kernel_Source but I got just some makefiles, and rpm files.
The page doesn't talks about how to get .c and .h files (the kernel source tree).
Can anybody give me instructions on how to?
Chan Kim /ETRI
In that wiki article, did you read the 2. If you really need the full kernel source section ? What other info would you like to see? ???
CentOS Forum FAQ

User avatar
toracat
Site Admin
Posts: 7518
Joined: 2006/09/03 16:37:24
Location: California, US
Contact:

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by toracat » 2015/07/15 15:57:32

Now, to answer your main question...

The superuser.com page you quoted has an answer. It refers to centos bug #7815 stating that the plus kernel has fixed the problem. If you go and see that bug report, you'll find that the bug has already been fixed in the distro kernel. So you don't even need to rebuild the kernel. Just update the kernel. If for some reason you must stay at an older kernel, then try installing the plus kernel.
CentOS Forum FAQ

chankim
Posts: 50
Joined: 2015/07/15 12:05:39

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by chankim » 2015/07/16 00:56:29

In that wiki article, did you read the 2. If you really need the full kernel source section ? What other info would you like to see? ???
Yes, I followed "2. if you really need the full kernel source".
After executing
[user@host]$ rpm -i http://vault.centos.org/6.6/updates/Sou ... l6.src.rpm 2>&1 | grep -v exist
What I see is bunch of files under ~/rpmbuild. What then now? The file list under ~/rpmbuild I got from the command is listed below. I don't know how to proceed from here.

Code: Select all

./SPECS/kernel.spec
./SOURCES/config-s390x-debug
./SOURCES/config-s390x-debug-rhel
./SOURCES/config-powerpc64-rhel
./SOURCES/config-powerpc64-kdump
./SOURCES/config-x86_64-debug-rhel
./SOURCES/config-s390x-generic-rhel
./SOURCES/Makefile.config
./SOURCES/config-i686-debug
./SOURCES/kernel-abi-whitelists.tar.bz2
./SOURCES/linux-2.6.32-504.23.4.el6.tar.bz2
./SOURCES/config-powerpc64
./SOURCES/config-x86_64-debug
./SOURCES/config-i686-rhel
./SOURCES/config-s390x
./SOURCES/config-x86_64-generic-rhel
./SOURCES/config-framepointer
./SOURCES/config-ia64-generic-rhel
./SOURCES/config-x86_64-nodebug
./SOURCES/Module.kabi_s390x
./SOURCES/config-generic-rhel
./SOURCES/linux-kernel-test.patch
./SOURCES/config-x86-generic
./SOURCES/Makefile.common
./SOURCES/config-i686
./SOURCES/genkey
./SOURCES/config-i686-nodebug
./SOURCES/config-debug-rhel
./SOURCES/config-s390x-rhel
./SOURCES/Module.kabi_x86_64
./SOURCES/config-powerpc64-kdump-rhel
./SOURCES/config-x86_64-generic
./SOURCES/Module.kabi_i686
./SOURCES/config-x86_64-nodebug-rhel
./SOURCES/config-powerpc64-debug
./SOURCES/Module.kabi_ppc64
./SOURCES/config-nodebug-rhel
./SOURCES/kabitool
./SOURCES/config-i686-nodebug-rhel
./SOURCES/config-i686-debug-rhel
./SOURCES/merge.pl
./SOURCES/find-provides
./SOURCES/config-powerpc-generic
./SOURCES/Module.kabi_greylist_s390x
./SOURCES/config-s390x-kdump
./SOURCES/Module.kabi_greylist_i686
./SOURCES/perf
./SOURCES/config-generic
./SOURCES/config-debug
./SOURCES/perf-archive
./SOURCES/config-nodebug
./SOURCES/extrakeys.pub
./SOURCES/check-kabi
./SOURCES/config-powerpc64-debug-rhel
./SOURCES/config-x86-generic-rhel
./SOURCES/config-powerpc-generic-rhel
./SOURCES/Module.kabi_greylist_x86_64
./SOURCES/config-s390x-kdump-rhel
./SOURCES/Module.kabi_greylist_ppc64
About
Just update the kernel. If for some reason you must stay at an older kernel, then try installing the plus kernel.
How do I update the kernel? For now, I don't want to upgrade CentOS6.6 to newer version. Is there any way I can upgrade libraries staying at CentOS6.6?
I tried 'sudo yum update libl4v2' but there was no update. libl4v1 either.
And how can I install the plus kernel? I'm using 6.6 final, do you mean there is 6.6 upgraded version? I'm sorry to have so many questions.

While we are in it, if I run 'sudo yum update', I know the CentOS version will go up. and I may have to do some works. (Last time when I upgraded from CentOS5.4 to CentOS6.6, there was no problem running existing programs. Maybe I could update CentOS to version 7.)

gerald_clark
Posts: 10642
Joined: 2005/08/05 15:19:54
Location: Northern Illinois, USA

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by gerald_clark » 2015/07/16 01:01:34

yum update will not upgrade C6.6 to another version.
It will only install recent security and bug fixes.

User avatar
TrevorH
Site Admin
Posts: 33219
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by TrevorH » 2015/07/16 01:06:23

There is no upgrade from one major CentOS version to another so if you are on CentOS 6 then you will be on CentOS 6 unless you reinstall a different version.

You can install the CentOS Plus kernel using yum --enablerepo=centosplus update kernel

The CentOS Plus kernel is built from the same source as the upstream standard kernel but has more modules enabled and also has a few selected patches for problems that are yet to be addressed upstream. Since toracat maintains the centosplus kernel, if she says it should fix your bug then I think she'll be right.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

User avatar
toracat
Site Admin
Posts: 7518
Joined: 2006/09/03 16:37:24
Location: California, US
Contact:

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by toracat » 2015/07/16 01:33:02

Let me rephrase what I wrote in my earlier post.

The centosplus kernel did fix the issue. Good news is that the patch that was used to fix it is now in the current kernel. Therefore all you need to do it to update the kernel to the latest version. There is no need to use the plus kernel.
CentOS Forum FAQ

chankim
Posts: 50
Joined: 2015/07/15 12:05:39

Re: UVC webcam support : libv4lconvert: warning more framesi

Post by chankim » 2015/07/16 08:09:04

oh, my previous post disappeared from edit-timeout. I repost it here.
I followed TrevorH's suggestion and updated CentOS6.6 from centosplus.
After rebooting, I am able to use the camera. Thanks!

But when I run cheese, I see below 4 lines at the beginning.

Code: Select all

libv4lconvert: warning more framesizes then I can handle!
libv4lconvert: warning more framesizes then I can handle!
libv4lconvert: warning more framesizes then I can handle!
libv4lconvert: warning more framesizes then I can handle!
And when I write a sample camera capture and display program using OpenCV,
Then I got error below. (still camera runs and I can see the video)
HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP
So I decided that something's wrong and tried using the opencv version that is installed with CentOS (which is opencv2.0.0 -- quite old!-- and installed by yum install. I installed opencv and opencv-devel for the headers). (Before, I was using opencv2.4.9 that I built from the source)
Now that HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP error is gone, but I see these constant messages during the capture. (I had it with opencv2.4.9 also)

Code: Select all

hylee2@stph45:~/OpenCV/dir1] sudo ./image_show  (I ran this on a student's account)
[sudo] password for hylee2: 
select timeout
Corrupt JPEG data: 3 extraneous bytes before marker 0xd3
Corrupt JPEG data: 1 extraneous bytes before marker 0xd6
Corrupt JPEG data: 1 extraneous bytes before marker 0xd6
Corrupt JPEG data: 2 extraneous bytes before marker 0xd6
Corrupt JPEG data: 15 extraneous bytes before marker 0xd2
Corrupt JPEG data: 1 extraneous bytes before marker 0xd5
Corrupt JPEG data: 6 extraneous bytes before marker 0xd4
Corrupt JPEG data: 3 extraneous bytes before marker 0xd1
Corrupt JPEG data: 2 extraneous bytes before marker 0xd2
...
Does anybody have any idea on what's causing this warning?
Thanks!

Post Reply