Webcam not recognized

Camera model
Bus 001 Device 006: ID 045e:00f4 Microsoft Corp. LifeCam VX-6000 (SN9C20x + OV9650)

What is the problem?

Webcam not recognized.

What did you already try to solve it?

I try to change resolution, remove frame rate, -y option, powered hub.. but nothing.

Logs (/var/log/webcamd.log, syslog, dmesg, ... no logs, no support)

Starting up webcamDaemon...

--- Configuration: ----------------------------
cfg_file:      /boot/octopi.txt
camera:        usb
usb options:   -r 640x480
raspi options: -fps 10
http options:  -w ./www-octopi -n --listen 127.0.0.1

Explicitly USB device: 
-----------------------------------------------

Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
config file='/boot/octopi.txt':USB device was not set in options, start MJPG-streamer with the first found video device: /dev/video0
<13>Mar 17 12:04:55 root: Starting USB webcam
Checking for VL805 (Raspberry Pi 4)...
  - It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
Running ./mjpg_streamer -o output_http.so -w ./www-octopi -n --listen 127.0.0.1 -i input_uvc.so -r 640x480 -d /dev/video0
MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: -1
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
 i: Could not obtain the requested pixelformat: MJPG , driver gave us: S920
    ... will try to handle this by checking against supported formats. 
Init v4L2 failed !! exit fatal
 i: init_VideoIn failed

Additional information about your setup (OctoPrint version, OctoPi version, ...)
Raspberry pi3b.
OctoPrint version : 1.5.3
OctoPi version : 0.18.0

It seems like a lot of peoples have problems using this or similar cams on a pi.
Try even lower resolutions like 320x240 or 160x120

Ff that still doesn't work try to install v4l-utils with

sudo apt update && sudo apt -y install v4l-utils

and run v4l2-ctl --list-formats-ext in ssh.

--- Configuration: ----------------------------
cfg_file: /boot/octopi.txt
camera: usb
usb options: -r 160x120
raspi options: -fps 10
http options: -w ./www-octopi -n --listen 127.0.0.1

Explicitly USB device:

Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
config file='/boot/octopi.txt':USB device was not set in options, start MJPG-streamer with the first found video device: /dev/video0
<13>Mar 17 12:50:49 root: Starting USB webcam
Checking for VL805 (Raspberry Pi 4)...

  • It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
    Running ./mjpg_streamer -o output_http.so -w ./www-octopi -n --listen 127.0.0.1 -i input_uvc.so -r 160x120 -d /dev/video0
    MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
    i: Using V4L2 device.: /dev/video0
    i: Desired Resolution: 160 x 120
    i: Frames Per Second.: -1
    i: Format............: JPEG
    i: TV-Norm...........: DEFAULT
    i: Could not obtain the requested pixelformat: MJPG , driver gave us: S920
    ... will try to handle this by checking against supported formats.
    Init v4L2 failed !! exit fatal
    i: init_VideoIn failed
    Done bring up all configured video device

Goodbye...
Same result :frowning:

Alright.
Just updated my post - try to run those commands

v4l2-ctl --list-formats-ext should shows us what the camera is capable of

if I try to upgrade:
v4l-utils is already the newest version (1.16.3-3).

pi@octopi:~ $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'BA81' (8-bit Bayer BGBG/GRGR)
	Size: Discrete 160x120
	Size: Discrete 320x240
	Size: Discrete 640x480
	Size: Discrete 1280x1024
[1]: 'S920' (GSPCA SN9C20X I420)
	Size: Discrete 160x120
	Size: Discrete 320x240
	Size: Discrete 640x480
[2]: 'JPEG' (JFIF JPEG, compressed)
	Size: Discrete 160x120
	Size: Discrete 320x240
	Size: Discrete 640x480

A few years ago mjpg-streamer didn't accept the JPEG pixel format - just MJPG, but that should be fixed in the version you're using.

tbh I'm not sure why it doesn't use it.

I suggest you try to build the latest version

then try to run it with

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"

if it works you should be able to get a stream on

http://<your Raspi's IP>:8080/?action=stream

I build the last version, but not working :frowning:

pi@octopi : ~/mjpg-streamer/mjpg-streamer-experimental $ ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"

MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34

i: Using V4L2 device.: /dev/video0

i: Desired Resolution: 640 x 480

i: Frames Per Second.: -1

i: Format............: JPEG

i: TV-Norm...........: DEFAULT

i: Could not obtain the requested pixelformat: MJPG , driver gave us: S920

... will try to handle this by checking against supported formats.

Init v4L2 failed !! exit fatal

i: init_VideoIn failed

Sry that's all I can do.
You got two options - buy another cam or write a bug report on github.
Maybe they're able to add a fix for your problem.

Thanks so much for your time. I'll do both.
Which webcam do you recommend? that it has a good resolution and that it doesn't cost much.
Thanks again

I do not have high standards when it comes to printer cams.

I would just go with a 1.3 pi cam ( 5MP 1080p) or a clone :slight_smile:
They're cheap (less than 10€ on ebay) and get the job done.

Has this changed? apt says there is no such thing as v41-utils (Unable to locate package v41-utils)?

it's a lower case L - not an 1 :slight_smile:
v4l is short for video for linux