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

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.

  • 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. – LoneWanderer Jul 10 '18 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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