Re: Logitech QuickCam USB detected by Linux, but not user space applications

From: Mauro Carvalho Chehab
Date: Thu Nov 15 2018 - 06:38:56 EST


Em Thu, 15 Nov 2018 11:42:32 +0100
Paul Menzel <pmenzel@xxxxxxxxxxxxx> escreveu:

> Dear Linux folks,
>
>
> I tried to get a Logitech QuickCam USB camera working, but unfortunately, it is
> not detected by user space (Cheese, MPlayer).

Could you please try it with Camorama?

https://github.com/alessio/camorama

>
> Itâs an old device, so it could be broken, but as itâs detected by the Linux
> kernel, I wanted to check with you first.
>
> Linux 4.18.10 from Debian Sid/unstable is used.
>
> ```
> $ dmesg
> [â]
> [ 2891.404361] usb 3-3: new full-speed USB device number 4 using ohci-pci
> [ 2891.626934] usb 3-3: New USB device found, idVendor=046d, idProduct=092e, bcdDevice= 0.00
> [ 2891.626945] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> [ 2891.626951] usb 3-3: Product: Camera
> [ 2891.626957] usb 3-3: Manufacturer:
> [ 2893.110249] calling media_devnode_init+0x0/0x1000 [media] @ 11704
> [ 2893.110256] media: Linux media interface: v0.10
> [ 2893.110329] initcall media_devnode_init+0x0/0x1000 [media] returned 0 after 56 usecs
> [ 2893.210078] calling videodev_init+0x0/0x79 [videodev] @ 11704
> [ 2893.210084] videodev: Linux video capture interface: v2.00
> [ 2893.210123] initcall videodev_init+0x0/0x79 [videodev] returned 0 after 21 usecs
> [ 2893.333140] calling gspca_init+0x0/0x1000 [gspca_main] @ 11704
> [ 2893.333148] gspca_main: v2.14.0 registered
> [ 2893.333161] initcall gspca_init+0x0/0x1000 [gspca_main] returned 0 after 3 usecs
> [ 2893.370672] calling sd_driver_init+0x0/0x1000 [gspca_spca561] @ 11704
> [ 2893.370751] gspca_main: spca561-2.14.0 probing 046d:092e
> [ 2893.482675] input: spca561 as /devices/pci0000:00/0000:00:12.0/usb3/3-3/input/input17
> [ 2893.485415] usbcore: registered new interface driver spca561
> [ 2893.485434] initcall sd_driver_init+0x0/0x1000 [gspca_spca561] returned 0 after 112054 usecs
> [â]
> $ ls -l /dev/video*
> crw-rw----+ 1 root video 81, 0 Nov 15 09:26 /dev/video0
>
> $ mplayer tv:// -tv driver=v4l2:device=/dev/video0
> MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
> do_connect: could not connect to socket
> connect: No such file or directory
> Failed to open LIRC support. You will not be able to use your remote control.
>
> Playing tv://.
> TV file format detected.
> Selected driver: v4l2
> name: Video 4 Linux 2 input
> author: Martin Olschewski <olschewski@xxxxxxxxxxxxxxxx>
> comment: first try, more to come ;-)
> v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
> Selected device: Camera
> Capabilities: video capture read/write streaming
> supported norms:
> inputs: 0 = spca561;
> Current input: 0
> Current format: unknown (0x31363553)

The problem is likely here: mplayer is probably not using libv4l2. Without
that, it can't decode the spca561 specific output format. It is probably
due to some option used when mplayer was built.

In the case of Cheese, it uses Gstreamer, with defaults to not use libv4l2
either. On newest versions of it, there is an environment var that would
allow enabling it (I don't remember what var).

Anyway, Camorama is always built with libv4l2, so it should work out of
the box (although I recommend it to use the latest version, as we did
lots of improvements there, including support for the latest Gtk libraries).

> tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
> v4l2: ioctl enum norm failed: Inappropriate ioctl for device
> Error: Cannot set norm!
> Selected input hasn't got a tuner!
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> ==========================================================================
> Cannot find codec matching selected -vo and video format 0x31363553.
> ==========================================================================
> No stream found.
>
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: 0 frames successfully processed, 0 frames dropped.
>
> Exiting... (End of file)
> ```
>
> Do you have an idea, what the issue. I know it worked fine several years
> ago.



Cheers,
Mauro