--- /dev/null
+# 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"
'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',