mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
![Bastien Nocera](/assets/img/avatar_default.png)
Allow users at the console access to the USB serial interface for USB
analysers.
See 9e2dbfef47
101 lines
3.4 KiB
Plaintext
101 lines
3.4 KiB
Plaintext
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# 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="uaccess_end"
|
|
ENV{MAJOR}=="", GOTO="uaccess_end"
|
|
|
|
# PTP/MTP protocol devices, cameras, portable media players
|
|
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
|
|
|
|
# Digicams with proprietary protocol
|
|
ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
|
|
|
|
# SCSI and USB scanners
|
|
ENV{libsane_matched}=="yes", TAG+="uaccess"
|
|
|
|
# HPLIP devices (necessary for ink level check and HP tool maintenance)
|
|
ENV{ID_HPLIP}=="1", TAG+="uaccess"
|
|
|
|
# optical drives
|
|
SUBSYSTEM=="block", ENV{ID_CDROM}=="1", TAG+="uaccess"
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", TAG+="uaccess"
|
|
|
|
# Sound devices
|
|
SUBSYSTEM=="sound", TAG+="uaccess", \
|
|
OPTIONS+="static_node=snd/timer", OPTIONS+="static_node=snd/seq"
|
|
|
|
# Webcams, frame grabber, TV cards
|
|
SUBSYSTEM=="video4linux", TAG+="uaccess"
|
|
SUBSYSTEM=="dvb", TAG+="uaccess"
|
|
SUBSYSTEM=="media", TAG+="uaccess"
|
|
|
|
# industrial cameras, some webcams, camcorders, set-top boxes, TV sets, audio devices, and more
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", TAG+="uaccess"
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", TAG+="uaccess"
|
|
SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", TAG+="uaccess"
|
|
|
|
# DRI video devices
|
|
SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess"
|
|
{% if GROUP_RENDER_UACCESS %}
|
|
# DRI render nodes
|
|
SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"
|
|
{% endif %}
|
|
{% if DEV_KVM_UACCESS %}
|
|
# KVM
|
|
SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
|
|
{% endif %}
|
|
|
|
# smart-card readers
|
|
ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
|
|
|
|
# (USB) authentication devices
|
|
ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
|
|
|
|
# PDA devices
|
|
ENV{ID_PDA}=="?*", TAG+="uaccess"
|
|
|
|
# Programmable remote control
|
|
ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
|
|
|
|
# joysticks
|
|
SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
|
|
|
|
# color measurement devices
|
|
ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
|
|
|
|
# DDC/CI device, usually high-end monitors such as the DreamColor
|
|
ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
|
|
|
|
# media player raw devices (for user-mode drivers, Android SDK, etc.)
|
|
SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
|
|
|
|
# software-defined radio communication devices
|
|
ENV{ID_SOFTWARE_RADIO}=="?*", TAG+="uaccess"
|
|
|
|
# 3D printers, CNC machines, laser cutters, 3D scanners, etc.
|
|
ENV{ID_MAKER_TOOL}=="?*", TAG+="uaccess"
|
|
|
|
# Protocol analyzers
|
|
ENV{ID_SIGNAL_ANALYZER}=="?*", ENV{DEVTYPE}=="usb_device", TAG+="uaccess"
|
|
ENV{ID_SIGNAL_ANALYZER}=="?*", KERNEL=="ttyACM[0-9]*", TAG+="uaccess"
|
|
|
|
# rfkill / radio killswitches
|
|
KERNEL=="rfkill", SUBSYSTEM=="misc", TAG+="uaccess"
|
|
|
|
# AV production controllers
|
|
# Most of these devices use HID for the knobs, faders, buttons, encoders, and jog wheels.
|
|
SUBSYSTEM=="hidraw", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess"
|
|
|
|
# Some devices use vendor defined protocols on USB Bulk endpoints for controllers.
|
|
# Other devices transfer graphics to screens on the device through USB Bulk endpoints.
|
|
# This also allows accessing HID devices with the libusb backend of hidapi.
|
|
SUBSYSTEM=="usb", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess"
|
|
|
|
LABEL="uaccess_end"
|