diff --git a/rules.d/60-persistent-hidraw.rules b/rules.d/60-persistent-hidraw.rules new file mode 100644 index 0000000000..c22db7d8b8 --- /dev/null +++ b/rules.d/60-persistent-hidraw.rules @@ -0,0 +1,26 @@ +# do not edit this file, it will be overwritten on update + +ACTION=="remove", GOTO="persistent_hidraw_end" +SUBSYSTEM!="hidraw", GOTO="persistent_hidraw_end" +KERNEL!="hidraw*", GOTO="persistent_hidraw_end" + +SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{builtin}="usb_id" +SUBSYSTEMS=="usb", IMPORT{builtin}="path_id" + +ENV{ID_BUS}=="", GOTO="persistent_hidraw_bus_end" + +# by-id links +ATTRS{bInterfaceNumber}=="|00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-hidraw" +ATTRS{bInterfaceNumber}=="?*", ATTRS{bInterfaceNumber}!="00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$attr{bInterfaceNumber}-hidraw" + +# add a more readable 'fido' link for devices with ID_FIDO_TOKEN==1 +ENV{ID_FIDO_TOKEN}=="?*", ATTRS{bInterfaceNumber}=="|00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-fido" +ENV{ID_FIDO_TOKEN}=="?*", ATTRS{bInterfaceNumber}=="?*", ATTRS{bInterfaceNumber}!="00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$attr{bInterfaceNumber}-fido" + +LABEL="persistent_hidraw_bus_end" + +# by-path +ENV{ID_PATH}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-hidraw" +ENV{ID_PATH_WITH_USB_REVISION}=="?*", SYMLINK+="input/by-path/$env{ID_PATH_WITH_USB_REVISION}-hidraw" + +LABEL="persistent_hidraw_end" diff --git a/rules.d/meson.build b/rules.d/meson.build index 85d314c35c..4ee964c630 100644 --- a/rules.d/meson.build +++ b/rules.d/meson.build @@ -15,6 +15,7 @@ rules = [ '60-infiniband.rules', '60-input-id.rules', '60-persistent-alsa.rules', + '60-persistent-hidraw.rules', '60-persistent-input.rules', '60-persistent-storage-mtd.rules', '60-persistent-storage-tape.rules',