diff options
author | Bastien Nocera <hadess@hadess.net> | 2021-08-24 13:54:02 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2021-09-02 16:01:28 +0200 |
commit | 9e2dbfef479060ed850ccdd9cd82d3f0cda2b5c0 (patch) | |
tree | 5685a7a380a28db831bcbd3ba4e90fbc8111af04 | |
parent | 94cb45d57f6e94dd4c93bd4706f9be70634bf03f (diff) | |
download | systemd-wip/hadess/usb-analysers-uaccess.tar.gz |
hwdb: Allow end-users root-less access to USB analyzerswip/hadess/usb-analysers-uaccess
Procotol analyzers are external devices used to capture traffic over a
wire so that it could be analysed. End-users at the console should be
able to access those devices without requiring root access.
This change obsoletes the need to install Total Phase's "Linux drivers",
which are really just udev rules and hotplug usermap files to do that:
https://www.totalphase.com/products/usb-drivers-linux/
-rw-r--r-- | hwdb.d/70-analyzers.hwdb | 33 | ||||
-rw-r--r-- | hwdb.d/meson.build | 1 | ||||
-rwxr-xr-x | hwdb.d/parse_hwdb.py | 1 | ||||
-rw-r--r-- | src/login/70-uaccess.rules.in | 3 |
4 files changed, 38 insertions, 0 deletions
diff --git a/hwdb.d/70-analyzers.hwdb b/hwdb.d/70-analyzers.hwdb new file mode 100644 index 0000000000..4865f0b669 --- /dev/null +++ b/hwdb.d/70-analyzers.hwdb @@ -0,0 +1,33 @@ +# This file is part of systemd. +# +# Database for signal analyzers (protocol analyzers, logic analyzers, +# oscilloscopes, multimeters, bench power supplies, etc.) that should +# be accessible to the seat owner. +# +# Permitted keys: +# Specify if a device is a signal analyzer +# ID_SIGNAL_ANALYZER=1|0 + +########################################################### +# Total Phase +########################################################### +# Aarvark I2C/SPI Host Adapter +usb:v0403pe0d0* + ID_SIGNAL_ANALYZER=1 + +# Beagle Protocol Analyzers +usb:v1679p2001* + ID_SIGNAL_ANALYZER=1 + +# Cheetah SPI Host Adapter +usb:v1679p2002* + ID_SIGNAL_ANALYZER=1 + +# Komodo CAN Duo Interface +usb:v1679p3001* + ID_SIGNAL_ANALYZER=1 + +# Power Delivery Analyzers +usb:v1679p6003* +usb:v0483pdf11* + ID_SIGNAL_ANALYZER=1 diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build index 4f3560e37f..fc6ee7c649 100644 --- a/hwdb.d/meson.build +++ b/hwdb.d/meson.build @@ -27,6 +27,7 @@ hwdb_files_test = files(''' 60-keyboard.hwdb 60-seat.hwdb 60-sensor.hwdb + 70-analyzers.hwdb 70-joystick.hwdb 70-mouse.hwdb 70-pointingstick.hwdb diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 3cd4b486a6..dea71acfe9 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -147,6 +147,7 @@ def property_grammar(): ('ID_INPUT_TOUCHPAD', Or((Literal('0'), Literal('1')))), ('ID_INPUT_TOUCHSCREEN', Or((Literal('0'), Literal('1')))), ('ID_INPUT_TRACKBALL', Or((Literal('0'), Literal('1')))), + ('ID_SIGNAL_ANALYZER', Or((Literal('0'), Literal('1')))), ('POINTINGSTICK_SENSITIVITY', INTEGER), ('POINTINGSTICK_CONST_ACCEL', REAL), ('ID_INPUT_JOYSTICK_INTEGRATION', Or(('internal', 'external'))), diff --git a/src/login/70-uaccess.rules.in b/src/login/70-uaccess.rules.in index 56e1087fef..28740ea647 100644 --- a/src/login/70-uaccess.rules.in +++ b/src/login/70-uaccess.rules.in @@ -80,4 +80,7 @@ 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" + LABEL="uaccess_end" |