Comment 29 for bug 1626731

Revision history for this message
Tony Stark (tstark69) wrote :

For anyone who is still having this problem, hopefully this will help you get your webcam working. I was able to get my webcam working and I am using a Dell Precision 7510 Laptop running Ubuntu 18.04.3.

1.) I issued "$dmesg | grep -i camera" in a terminal window and received "uvcvideo 1-11:1.0: Entity type for entity Camera 1 was not initialized!" which landed me here at this website (FYI I am still receiving that message and my camera works... as laurent.pinchart+bugzilla-kernel pointed out already it is a harmless warning).

2) I did a search for "ubuntu uvcvideo" in google and landed on "https://help.ubuntu.com/community/UVC" which then pointed me to "https://www.berlios.de/software/linux-uvc/#download" which then pointed me to "http://www.ideasonboard.org/uvc/".

3) From "http://www.ideasonboard.org/uvc/", if you scroll down to the bottom of it you will see a Downlaod section. Navigate to the "https://www.linuxtv.org/wiki/index.php/How_to_Obtain" webpage and follow the "Basic" User's Approach instructions.

4) You may be asked to install pre-requisites during the build process. I had to issue the following command "$sudo apt install libproc-processtable-perl".

5) Once build is complete, run "$sudo make install".

6) I installed uvcdynctrl as floe suggested. I don't know if this helped or not sorry...

7) I then found and example file to test if the camera was working from "https://linuxtv.org/downloads/v4l-dvb-apis/uapi/v4l/v4l2grab.c.html". I saved this file and tried to compile it "$gcc -o v4l2grab v4l2grab.c" and received an error that it couldn't find the libv4l2.h header file. So i searched for it using $sudo find / -name "libv4l2.h" and didn't find it. This led me to believe that I didn't have the v4l2 development library installed so I installed it $sudo apt install libv4l-dev.

8) I searched again and found it! I then set C include environment path variable to point to the directory containing the header file $export C_INCLUDE_PATH=/usr/include/ and changed #include "../libv4l/include/libv4l2.h" to just #include "libv4l2.h"

9) Tried to recompile and got a linking error, so I issued $gcc -o v4l2grab v4l2grab.c -lv4l1 -lv4l2 and waula, it compiled. Changed its permssions to be executable $chmod +755 v4l2grab (using octal format where 7 in binary is 111 corresponding to rwx for owner and 5 or 110 rw- for group and other) and ran it ./v4l2grab where then I saw the .ppm files in the directory where the executable was ran from, but this was not good enough I want live feed.

10) I then installed v4l-utils and ran $v4l2-ctl -d /dev/video0 --list-formats-ext. This gave me the parameters that are compatible with my webcam for video capture (width=1280, height=720, format=MJPG, and device index=0).

11) As a final death blow I ran the following

v4l2-ctl -V --set-fmt-video=width=1280,height=720,pixelformat=MJPG --stream-mmap --stream-count=-1 --stream-to=test.jpg -d /dev/video0

but only got a single image. I think you need to incude OpenCV. Anyways, I hope this helps you atleast get images off of the webcam.