diff --git a/hwdb.d/70-analyzers.hwdb b/hwdb.d/70-analyzers.hwdb new file mode 100644 index 00000000000..4865f0b6693 --- /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 4f3560e37f8..fc6ee7c6498 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 3cd4b486a6b..dea71acfe93 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/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in index 18a3cf46bf6..aead6b9ca29 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in @@ -12,6 +12,7 @@ SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="hwdb 'usb:v$attr{idVendor}p$attr{idProduct}'" ACTION!="add", GOTO="default_end" diff --git a/src/login/70-uaccess.rules.in b/src/login/70-uaccess.rules.in index 56e1087fef9..28740ea647b 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"