Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4485

General discussion • v4l2-ctl - Some USB Camera Controls Missing on Pi5

$
0
0
I am migrating from a Pi4 to a Pi5 and have run into a usb camera issue. There are several differences between the two environments (different Pi hardware, different OS, different uvcvideo driver version, different v4l2-ctl version, etc), so I am looking for advice on how to find the root cause (or fix it, or workaround it).

Summary: With a logitech brio101 usb camera attached to the Pi4, "v4l2-ctl --list-ctrls" correctly produces a list of (5) Camera Controls. When the same physical usb camera is attached to the pi5, "v4l2-ctl --list-ctrls" produces a list of only (3) Camera Controls (i.e., two controls are missing from the bottom of the list).

Video from the camera is working correctly, and the controls that are listed by --list-ctrls respond to --set-ctrl as expected. But on the Pi5, two of the controls are entirely omitted from the --list-ctrls output and attempts to use them with --set-ctrl results in an "unknown control" error from v4l2-ctl.

Details from 4l2-ctl in each environment are embedded below. Any advice on how to track down the cause of the missing controls?

From Pi4, Raspian GNU/Linux 11 (bullseye), v4l2-ctl version 1.20.0. The --list-ctrls option displays (5) "Camera Controls", including "led1_mode" and "led1_frequency":

Code:

pi@octopi2:~ $ v4l2-ctl --list-devicesbcm2835-codec-decode (platform:bcm2835-codec):/dev/video10/dev/video11/dev/video12/dev/video18/dev/video31/dev/media1bcm2835-isp (platform:bcm2835-isp):/dev/video13/dev/video14/dev/video15/dev/video16/dev/video20/dev/video21/dev/video22/dev/video23/dev/media2/dev/media3rpivid (platform:rpivid):/dev/video19/dev/media0Brio 101 (usb-0000:01:00.0-1.3):/dev/video0/dev/video1/dev/media4pi@octopi2:~ $ v4l2-ctl -DDriver Info:Driver name      : uvcvideoCard type        : Brio 101Bus info         : usb-0000:01:00.0-1.3Driver version   : 6.1.21Capabilities     : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps      : 0x04200001Video CaptureStreamingExtended Pix FormatMedia Driver Info:Driver name      : uvcvideoModel            : Brio 101Serial           : 2343AP0918E8Bus info         : usb-0000:01:00.0-1.3Media version    : 6.1.21Hardware revision: 0x00009914 (39188)Driver version   : 6.1.21Interface Info:ID               : 0x03000002Type             : V4L VideoEntity Info:ID               : 0x00000001 (1)Name             : Brio 101Function         : V4L2 I/OFlags         : defaultPad 0x01000007   : 0: Sink  Link 0x02000019: from remote pad 0x100000a of entity 'Extension 5': Data, Enabled, Immutablepi@octopi2:~ $ v4l2-ctl -d /dev/video0 --list-ctrlsUser Controls                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=85                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128        white_balance_automatic 0x0098090c (bool)   : default=1 value=1                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=31           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2      white_balance_temperature 0x0098091a (int)    : min=2800 max=7500 step=1 default=4000 value=4140 flags=inactive                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=1 value=1Camera Controls                  auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=3 value=3         exposure_time_absolute 0x009a0902 (int)    : min=5 max=2500 step=1 default=156 value=250 flags=inactive     exposure_dynamic_framerate 0x009a0903 (bool)   : default=0 value=0                      led1_mode 0x0a046d05 (menu)   : min=0 max=3 default=0 value=0                 led1_frequency 0x0a046d06 (int)    : min=0 max=255 step=1 default=0 value=0
Here is the same physical camera on the Pi5, Debian GNU/Linux 12 (bookworm), v4l2-ctl 1.22.1. The --list-ctrls output is missing the last two "Camera Controls" (led1_mode and led1_frequency):

Code:

pi@octopi5:/dev $ v4l2-ctl --list-devicespispbe (platform:1000880000.pisp_be):/dev/video20/dev/video21/dev/video22/dev/video23/dev/video24/dev/video25/dev/video26/dev/video27/dev/video28/dev/video29/dev/video30/dev/video31/dev/video32/dev/video33/dev/video34/dev/video35/dev/video36/dev/video37/dev/media0/dev/media1rpivid (platform:rpivid):/dev/video19/dev/media2Brio 101 (usb-xhci-hcd.0-1):/dev/video0/dev/video1/dev/media3pi@octopi5:/dev $ v4l2-ctl -DDriver Info:Driver name      : uvcvideoCard type        : Brio 101Bus info         : usb-xhci-hcd.0-1Driver version   : 6.1.73Capabilities     : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps      : 0x04200001Video CaptureStreamingExtended Pix FormatMedia Driver Info:Driver name      : uvcvideoModel            : Brio 101Serial           : 2343AP0918E8Bus info         : usb-xhci-hcd.0-1Media version    : 6.1.73Hardware revision: 0x00009914 (39188)Driver version   : 6.1.73Interface Info:ID               : 0x03000002Type             : V4L VideoEntity Info:ID               : 0x00000001 (1)Name             : Brio 101Function         : V4L2 I/OFlags            : defaultPad 0x01000007   : 0: Sink  Link 0x02000019: from remote pad 0x100000a of entity 'Extension 5' (Video Pixel Formatter): Data, Enabled, Immutablepi@octopi5:/dev $ v4l2-ctl -d /dev/video0 --list-ctrlsUser Controls                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=101                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128        white_balance_automatic 0x0098090c (bool)   : default=1 value=1                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=35           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2 (60 Hz)      white_balance_temperature 0x0098091a (int)    : min=2800 max=7500 step=1 default=4000 value=5340 flags=inactive                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=1 value=1Camera Controls                  auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=3 value=3 (Aperture Priority Mode)         exposure_time_absolute 0x009a0902 (int)    : min=5 max=2500 step=1 default=156 value=250 flags=inactive     exposure_dynamic_framerate 0x009a0903 (bool)   : default=0 value=0          
Since the brio101 is listed as three devices (/dev/video0, /dev/video1, /dev/media3), I considered that perhaps the missing controls were exposed under a different device name on the Pi5. But no Camera Commands show up for the other two devices:

Code:

pi@octopi5:/ $ v4l2-ctl -d /dev/video0 --list-ctrlsUser Controls                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=101                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128        white_balance_automatic 0x0098090c (bool)   : default=1 value=1                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=35           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2 (60 Hz)      white_balance_temperature 0x0098091a (int)    : min=2800 max=7500 step=1 default=4000 value=5340 flags=inactive                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=1 value=1Camera Controls                  auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=3 value=3 (Aperture Priority Mode)         exposure_time_absolute 0x009a0902 (int)    : min=5 max=2500 step=1 default=156 value=250 flags=inactive     exposure_dynamic_framerate 0x009a0903 (bool)   : default=0 value=0     pi@octopi5:/ $ v4l2-ctl -d /dev/video1 --list-ctrlspi@octopi5:/ $ v4l2-ctl -d /dev/media3 --list-ctrlsUnable to detect what device /dev/media3 is, exiting.

Statistics: Posted by ScottW1 — Sat Feb 03, 2024 9:38 pm — Replies 0 — Views 48



Viewing all articles
Browse latest Browse all 4485

Trending Articles