]> git.ipfire.org Git - thirdparty/systemd.git/blame - rules.d/70-uaccess.rules.in
Merge pull request #24263 from pothos/sysext-for-static-binaries
[thirdparty/systemd.git] / rules.d / 70-uaccess.rules.in
CommitLineData
db9ecf05 1# SPDX-License-Identifier: LGPL-2.1-or-later
d9215cd8 2#
3f49d45a
LP
3# This file is part of systemd.
4#
5# systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
6# under the terms of the GNU Lesser General Public License as published by
7# the Free Software Foundation; either version 2.1 of the License, or
3f49d45a
LP
8# (at your option) any later version.
9
10ACTION=="remove", GOTO="uaccess_end"
11ENV{MAJOR}=="", GOTO="uaccess_end"
12
13# PTP/MTP protocol devices, cameras, portable media players
3f49d45a
LP
14SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
15
16# Digicams with proprietary protocol
64dfe7b7 17ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
3f49d45a
LP
18
19# SCSI and USB scanners
20ENV{libsane_matched}=="yes", TAG+="uaccess"
21
22# HPLIP devices (necessary for ink level check and HP tool maintenance)
23ENV{ID_HPLIP}=="1", TAG+="uaccess"
24
25# optical drives
26SUBSYSTEM=="block", ENV{ID_CDROM}=="1", TAG+="uaccess"
27SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", TAG+="uaccess"
28
29# Sound devices
71232aac 30SUBSYSTEM=="sound", TAG+="uaccess", \
84b6ad70 31 OPTIONS+="static_node=snd/timer", OPTIONS+="static_node=snd/seq"
3f49d45a 32
3f49d45a
LP
33# Webcams, frame grabber, TV cards
34SUBSYSTEM=="video4linux", TAG+="uaccess"
35SUBSYSTEM=="dvb", TAG+="uaccess"
63fbfc59 36SUBSYSTEM=="media", TAG+="uaccess"
3f49d45a 37
e51d5b9c 38# industrial cameras, some webcams, camcorders, set-top boxes, TV sets, audio devices, and more
f125f8b1
TS
39SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", TAG+="uaccess"
40SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", TAG+="uaccess"
41SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", TAG+="uaccess"
42
e77813ca 43# DRI video devices
4e15a734 44SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess"
c900d89f 45{% if GROUP_RENDER_UACCESS %}
055a083a 46# DRI render nodes
c900d89f
ZJS
47SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"
48{% endif %}
49{% if DEV_KVM_UACCESS %}
fa53e241 50# KVM
c900d89f
ZJS
51SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
52{% endif %}
fa53e241 53
3f49d45a 54# smart-card readers
64dfe7b7 55ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
3f49d45a 56
ff87b7e7 57# (USB) authentication devices
64dfe7b7 58ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
ff87b7e7 59
3f49d45a 60# PDA devices
64dfe7b7 61ENV{ID_PDA}=="?*", TAG+="uaccess"
3f49d45a
LP
62
63# Programmable remote control
64ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
65
66# joysticks
67SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
68
69# color measurement devices
64dfe7b7 70ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
3f49d45a
LP
71
72# DDC/CI device, usually high-end monitors such as the DreamColor
64dfe7b7 73ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
3f49d45a
LP
74
75# media player raw devices (for user-mode drivers, Android SDK, etc.)
76SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
77
30632d97
KS
78# software-defined radio communication devices
79ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess"
80
68ea57b2
81# 3D printers, CNC machines, laser cutters, 3D scanners, etc.
82ENV{ID_MAKER_TOOL}=="?*", TAG+="uaccess"
83
9e2dbfef
BN
84# Protocol analyzers
85ENV{ID_SIGNAL_ANALYZER}=="?*", ENV{DEVTYPE}=="usb_device", TAG+="uaccess"
9cb1dcae 86ENV{ID_SIGNAL_ANALYZER}=="?*", KERNEL=="ttyACM[0-9]*", TAG+="uaccess"
9e2dbfef 87
213455e2
BN
88# rfkill / radio killswitches
89KERNEL=="rfkill", SUBSYSTEM=="misc", TAG+="uaccess"
90
f2c36c0e
B
91# AV production controllers
92# Most of these devices use HID for the knobs, faders, buttons, encoders, and jog wheels.
93SUBSYSTEM=="hidraw", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess"
94
95# Some devices use vendor defined protocols on USB Bulk endpoints for controllers.
96# Other devices transfer graphics to screens on the device through USB Bulk endpoints.
97# This also allows accessing HID devices with the libusb backend of hidapi.
98SUBSYSTEM=="usb", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess"
99
3f49d45a 100LABEL="uaccess_end"