1

In a previous Stack Overflow post (April 16th 2018), Raspberry Pi : use VLC to stream webcam : Logitech C920 [H264 Video without transcoding + Audio + LED control], I described how to use the Pi + Logitech C920 as a webcam stream device with audio+video+ LED control.

At that time, I had access to microphone record + Logitech C920 LED controls. And it worked pretty well!

Quote :

pi@raspberrypi:~ $ v4l2-ctl --all
Driver Info (not using libv4l2):
    Driver name   : uvcvideo
    Card type     : HD Pro Webcam C920
    Bus info      : usb-3f980000.usb-1.5
    Driver version: 4.14.30
    Capabilities  : 0x84200001
[...]
zoom_absolute (int)    : min=100 max=500 step=1 default=57343 value=100
led1_mode (menu)   : min=0 max=3 default=3 value=3
led1_frequency (int)    : min=0 max=255 step=1 default=0 value=0
(print stopped here)

A few days ago, I performed a sudo apt-get dist-upgrade and I am now with driver 4.14.50 and I no longer have access to LED control:

[2018-07-07 14:18:44 sam.] pi@raspberrypi:~ $ sudo v4l2-ctl --all --list-devices -L -D
HD Pro Webcam C920 (usb-3f980000.usb-1.2):
        /dev/video0

Driver Info (not using libv4l2):
        Driver name   : uvcvideo
        Card type     : HD Pro Webcam C920
        Bus info      : usb-3f980000.usb-1.2
        Driver version: 4.14.50
        Capabilities  : 0x84200001
[...]
zoom_absolute (int)    : min=100 max=500 step=1 default=57343 value=100
(print stops here)

Using another tool, same results:

[2018-07-07 14:23:18 sam.] pi@raspberrypi:~ $ sudo uvcdynctrl -i /usr/share/uvcdynctrl/data/046d/logitech.xml
Importing dynamic controls from file /usr/share/uvcdynctrl/data/046d/logitech.xml.
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Pan (relative)' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Tilt (relative)' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Pan Reset' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Tilt Reset' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'LED1 Mode' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'LED1 Frequency' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Disable video processing' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Raw bits per pixel' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
/usr/share/uvcdynctrl/data/046d/logitech.xml: error: video0: unable to map 'Raw bits per pixel' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)

So, the LED mode and LED frequency are no more available (no more led1_mod (menu) available.

Furthermore, I can't obtain audio stream from built-in microphone anymore.

  1. How can I revert to previous driver version?
  2. How can I find a changelog of the drivers?
  3. Should I open a ticket at raspbian github?

1 Answer 1

1

I managed to get LED control back.

I suspect some USB interfaces interferences. I have a Rii wireless keyboard attached to my Pi. I did the following:

  1. execute: uvcdynctrl -c. LED control is not in command output

  2. Unplug the Rii USB dongle

  3. execute: uvcdynctrl -c. LED control is not in command output
  4. Replug the Rii USB dongle
  5. execute: uvcdynctrl -c. LED control appears magically

Final output:

pi@raspberrypi:~ $ uvcdynctrl -c
Listing available controls for device video0:
Brightness
[...]
LED1 Mode
LED1 Frequency

This survived to a reboot.

useful sources: http://www.ideasonboard.org/uvc/


EDIT: the following is NOT necessarily relevant

I first I wandered over the interwebs and found this page concerning the driver uvcvideo

command to execute :

sudo update-usbids

Man page extract:

Linux USB Utilities

update-usbids - download new version of the USB ID list DESCRIPTION

update-usbids fetches the current version of the usb.ids file from the primary distribution site and installs it. This utility requires either wget or lynx to be installed. If gzip or bzip2 are available, it automatically downloads the compressed version of the list.

Rexecuting the command sudo v4l2-ctl --all --list-devices -L -D gets the led control back. However, it did not resist to a sudo reboot, so something was missing.

EDIT 2018-12-02: With my raspi, a sudo apt-get update && apt-get dist-upgrade seemed to fix the problem. I can't say for sure what happened that allowed the control to come back for good.

2
  • I don’t plan to put an official “accepted answer” yet: I have no clue whatsoever to whatever happened and why it is working again after unplug/replug another Possible interfering USB device. Jul 10, 2018 at 18:46
  • Several years later, I've just encountered the same issue on Debian Bullseye. The working system with LED control access had libwebcam0 installed, the non-working system didn't - and confusingly the package both didn't exist (apt threw an error) and no related files existed (apt-file came up empty). Very confusingly, /etc/apt/sources.list was identical on both systems. Eventually discovered that libwebcam0 is in bullseye-backports (which wasn't configured on the working system??), but once I had that repo added libwebcam0 showed up and LED control immediately worked.
    – i336_
    Sep 6, 2022 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.