Control: tags -1 + upstream Hello
Am 18.10.21 um 08:20 schrieb Joseph Carter:
Package: udev Version: 249.5-1 Severity: normal Many webcams new use more than the standard /dev/videoN device to control them through e.g. uvcdynctrl. For example, here is my Logitech C930e, which is a pretty common example on Debian: ``` tjcarter@aki:~$ uvcdynctrl -l Listing available devices: video0 Logitech Webcam C930e Media controller device: /dev/media0 ERROR: Unable to open media controller device '/dev/media0': Permission denied (Error: 13) ERROR: Unable to list device entities: Invalid device or device cannot be opened. (Code: 5) video1 Logitech Webcam C930e Media controller device /dev/media1 doesn't exist ERROR: Unable to list device entities: Invalid device or device cannot be opened. (Code: 5) ``` Okay, I have no idea why there are two /dev/video entries there since only the first one actually is a video device. Either way, you can see that there's an error accessing /dev/media0, which is definitely provided by the camera: ``` tjcarter@aki:~$ ls -l /dev/media* crw-rw----+ 1 root video 239, 0 Oct 17 11:01 /dev/media0 tjcarter@aki:~$ cat /sys/dev/char/239\:0/model Logitech Webcam C930e ``` I should have access to this as a console user, but I don't. Searching online, I found this file, named 65-media-uaccess.rules which is supposedly part of systemd … but not on my system it isn't!
Where exactly did you find this information? My online searches turn up nothing
Do you have a reference? Looking at the systemd/udev git repo, it never shipped a file named 65-media-uaccess.rules afaics
``` # SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. ACTION=="remove", GOTO="media_uaccess_end" ENV{MAJOR}=="", GOTO="media_uaccess_end" # Newer Webcams, frame grabber, TV cards SUBSYSTEM=="media", TAG+="uaccess" LABEL="media_uaccess_end" ``` Sure enough, adding it to the system fixes the permission error: ``` tjcarter@aki:~$ uvcdynctrl -l Listing available devices: video0 Logitech Webcam C930e Media controller device: /dev/media0 Entity 1: Logitech Webcam C930e. Type: 65537, Revision: 0, Flags: 1, Group-id: 0, Pads: 1, Links: 0 Device node Entity: 1, Pad 0, Flags: 1 video1 Logitech Webcam C930e Media controller device /dev/media1 doesn't exist ERROR: Unable to list device entities: Invalid device or device cannot be opened. (Code: 5) tjcarter@aki:~$ uvcdynctrl -c Listing available controls for device video0: Brightness Contrast Saturation White Balance Temperature, Auto Gain Power Line Frequency White Balance Temperature Sharpness Backlight Compensation Exposure, Auto Exposure (Absolute) Exposure, Auto Priority Pan (Absolute) Tilt (Absolute) Focus (absolute) Focus, Auto Zoom, Absolute LED1 Mode LED1 Frequency tjcarter@aki:~$ uvcdynctrl -g "Zoom, Absolute" 100 tjcarter@aki:~$ uvcdynctrl -s "Zoom, Absolute" 150 tjcarter@aki:~$ uvcdynctrl -g "Zoom, Absolute" 150 ``` (This by the way zooms the camera in to have a tighter focus on me and less my kitchen behind me.) On some cameras (my IPEVO document camera for example) access to the associated /dev/mediaN device is required to put the camera into a mode offering (compressed) high-resolution AND high-framerate mode. The aforementioned IPEVO can do 4k at 30fps, but Cheese and OBS are unable to set that mode without access to the media controller. Is there a reason the tag for the media subsystem is not found on Debian systems? It seems currently or previously it was intended by systemd's devs that console users have access to it. Can or should it be made that way by default on Debian systems?
Looking at /lib/udev/rules.d/50-udev-default.rules, I see a static group permission for those types of devices:
SUBSYSTEM=="media", GROUP="video"So I assume if you are in group video, you should have access to those devices.
In don't find anything in /lib/udev/rules.d/70-uaccess.rules related to those types of devices. I'm not sure, if this intentional or not.
Can you please raise this upstream at https://github.com/systemd/systemd/issues/newI'm not really familiar with those types of devices to assess whether it's safe to ship such a rule which set the uaccess tag or not.
And if so, it should definitely be addressed upstream not via a downstream patch/change.
Regards, Michael
OpenPGP_signature
Description: OpenPGP digital signature