From 65af33dd481e6caf732808e6f25a2e5a40b1899d Mon Sep 17 00:00:00 2001 From: vdovhanych Date: Mon, 22 Jul 2024 22:57:25 +0200 Subject: [PATCH] add udev rules for trezor hw wallet devices (cherry picked from commit 2cf425ec573b8f67025c5e74cd267015129e7349) Related: RHEL-5950 --- hwdb.d/70-hardware-wallets.hwdb | 24 ++++++++++++++++++++++++ hwdb.d/meson.build | 1 + hwdb.d/parse_hwdb.py | 1 + rules.d/70-uaccess.rules.in | 4 ++++ 4 files changed, 30 insertions(+) create mode 100644 hwdb.d/70-hardware-wallets.hwdb diff --git a/hwdb.d/70-hardware-wallets.hwdb b/hwdb.d/70-hardware-wallets.hwdb new file mode 100644 index 0000000000..77d8bfa92d --- /dev/null +++ b/hwdb.d/70-hardware-wallets.hwdb @@ -0,0 +1,24 @@ +# This file is part of systemd. +# +# Database for Hardware Wallets that should be accessible to the seat owner. +## +# To add local entries, copy this file to +# /etc/udev/hwdb.d/ +# and add your rules there. To load the new rules execute (as root): +# systemd-hwdb update +# udevadm trigger + +################ +# Trezor Hardware Wallets +################ + +# Trezor v1 +usb:v534Cp0001* + ID_HARDWARE_WALLET=1 + +# Trezor v2 +usb:v1209p53C0* + ID_HARDWARE_WALLET=1 + +usb:v1209p53C1* + ID_HARDWARE_WALLET=1 diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build index d073477618..bae76296b7 100644 --- a/hwdb.d/meson.build +++ b/hwdb.d/meson.build @@ -29,6 +29,7 @@ hwdb_files_test = files( '70-analyzers.hwdb', '70-av-production.hwdb', '70-cameras.hwdb', + '70-hardware-wallets.hwdb', '70-joystick.hwdb', '70-mouse.hwdb', '70-pda.hwdb', diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 64382db533..b2580c8dcf 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -174,6 +174,7 @@ def property_grammar(): ('ID_INPUT_TOUCHSCREEN', id_input_setting), ('ID_INPUT_TRACKBALL', id_input_setting), ('ID_SIGNAL_ANALYZER', Or((Literal('0'), Literal('1')))), + ('ID_HARDWARE_WALLET', Or((Literal('0'), Literal('1')))), ('POINTINGSTICK_SENSITIVITY', INTEGER), ('ID_INPUT_JOYSTICK_INTEGRATION', Or(('internal', 'external'))), ('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))), diff --git a/rules.d/70-uaccess.rules.in b/rules.d/70-uaccess.rules.in index b82ce04a39..796e384e57 100644 --- a/rules.d/70-uaccess.rules.in +++ b/rules.d/70-uaccess.rules.in @@ -97,4 +97,8 @@ SUBSYSTEM=="hidraw", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess" # This also allows accessing HID devices with the libusb backend of hidapi. SUBSYSTEM=="usb", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess" +# Hardware wallets +SUBSYSTEM=="usb", ENV{ID_HARDWARE_WALLET}=="1", TAG+="uaccess" +SUBSYSTEM=="hidraw", ENV{ID_HARDWARE_WALLET}=="1", TAG+="uaccess" + LABEL="uaccess_end"