Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

missing evdev symlinks since v243 #13518

Closed
emilweth opened this issue Sep 10, 2019 · 8 comments · Fixed by #13519

Comments

@emilweth
Copy link

commented Sep 10, 2019

systemd version the issue has been seen with

243

Used distribution

Arch Linux x86_64 / Kernel: 5.2.13-arch1-1-ARCH

Expected behaviour you didn't see

ls -alh /dev/input/by-id 
total 0
drwxr-xr-x 2 root root 240 10 sept. 11:05 .
drwxr-xr-x 4 root root 680 10 sept. 11:05 ..
lrwxrwxrwx 1 root root  10 10 sept. 10:51 usb-Corsair_Components__Inc._Corsair_Gaming_MM800_RGB_POLARIS_1E1001060115BDAE61372656441900F5-event-if01 -> ../event11
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-event-if01 -> ../event4
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-event-kbd -> ../event3
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-event-kbd -> ../event6
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-event-mouse -> ../event7
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-mouse -> ../mouse0
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-FiiO_DigiHug_USB_Audio-event-if00 -> ../event8
lrwxrwxrwx 1 root root  10 10 sept. 10:51 usb-Logitech_Gaming_Mouse_G502_078D36613633-event-mouse -> ../event13
lrwxrwxrwx 1 root root  10 10 sept. 10:51 usb-Logitech_Gaming_Mouse_G502_078D36613633-if01-event-kbd -> ../event14
lrwxrwxrwx 1 root root   9 10 sept. 10:51 usb-Logitech_Gaming_Mouse_G502_078D36613633-mouse -> ../mouse1

Unexpected behaviour you saw

ls -alh /dev/input/by-id
total 0
drwxr-xr-x 2 root root 200 10 sept. 10:15 .
drwxr-xr-x 4 root root 700 10 sept. 10:15 ..
lrwxrwxrwx 1 root root  10 10 sept. 09:54 usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-event-if03 -> ../event11
lrwxrwxrwx 1 root root  10 10 sept. 09:54 usb-Corsair_Components__Inc._Corsair_Gaming_MM800_RGB_POLARIS_1E1001060115BDAE61372656441900F5-event-if01 -> ../event12
lrwxrwxrwx 1 root root   9 10 sept. 09:54 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-event-if01 -> ../event5
lrwxrwxrwx 1 root root   9 10 sept. 09:54 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-event-kbd -> ../event6
lrwxrwxrwx 1 root root   9 10 sept. 09:54 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-event-mouse -> ../event7
lrwxrwxrwx 1 root root   9 10 sept. 09:54 usb-Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000-if01-mouse -> ../mouse0
lrwxrwxrwx 1 root root   9 10 sept. 09:54 usb-FiiO_DigiHug_USB_Audio-event-if00 -> ../event8
lrwxrwxrwx 1 root root  10 10 sept. 09:54 usb-Logitech_Gaming_Mouse_G502_078D36613633-if01-event-kbd -> ../event27

Steps to reproduce the problem

upgrade from v242 to v243

@yuwata

This comment has been minimized.

Copy link
Member

commented Sep 10, 2019

Please provide the result of SYSTEMD_LOG_LEVEL=debug udevadm test /sys/class/input/eventX.

@yuwata yuwata self-assigned this Sep 10, 2019
yuwata added a commit to yuwata/systemd that referenced this issue Sep 10, 2019
The value may be "|hoge", and in that case, nulstr cannot be used.

Fixes systemd#13518.
@yuwata

This comment has been minimized.

Copy link
Member

commented Sep 10, 2019

Also, if possible, please test PR #13519.

@yuwata yuwata added the has-pr label Sep 10, 2019
@ssahani

This comment has been minimized.

Copy link
Contributor

commented Sep 10, 2019

Please add a test case too .

@RPigott

This comment has been minimized.

Copy link
Contributor

commented Sep 10, 2019

I applied #13519 to systemd 243.0-1 arch package, and it appears to fix the issue for me.

yuwata added a commit to yuwata/systemd that referenced this issue Sep 11, 2019
@yuwata

This comment has been minimized.

Copy link
Member

commented Sep 11, 2019

@RPigott Thank you for testing. I've force-pushed v2. If possible, please test again.

@ssahani Several test cases are added. Thanks.

@RPigott

This comment has been minimized.

Copy link
Contributor

commented Sep 11, 2019

Perhaps I've made a mistake, but this time when testing v242, v243, and v243 w/ patch v2 and got the exact same content for /dev/input/by-id each time, so I guess I can no longer reproduce. But same content as v242 is a good sign at least, so I'm guessing the patch is probably good?

They each had 5 symlinks on my machine this time, not sure if there used to be more.

I discarded v1 and the build when I grabbed v2, so I can't test that one again.

@emilweth

This comment has been minimized.

Copy link
Author

commented Sep 11, 2019

Please provide the result of SYSTEMD_LOG_LEVEL=debug udevadm test /sys/class/input/eventX.

# SYSTEMD_LOG_LEVEL=debug udevadm test /sys/class/input/event3 
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/usr/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          243
file size:         9888748 bytes
header size             80 bytes
strings            2117652 bytes
nodes              7771016 bytes
Load module index
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
timestamp of '/usr/lib/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
/usr/lib/udev/rules.d/10-dm.rules:53 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:63 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:64 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:65 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:66 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:68 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:69 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:70 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:71 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:115 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:116 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
/usr/lib/udev/rules.d/11-dm-lvm.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:34 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:34 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 Invalid value for OPTIONS key, ignoring: 'event_timeout=180'
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 The line takes no effect, ignoring.
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
/usr/lib/udev/rules.d/13-dm-disk.rules:23 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/13-dm-disk.rules:40 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-monitor-hotplug.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
/usr/lib/udev/rules.d/50-udev-default.rules:11 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:14 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:46 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:46 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:72 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:80 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:82 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:85 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /etc/udev/rules.d/51-5q.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
/usr/lib/udev/rules.d/60-block.rules:13 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
/usr/lib/udev/rules.d/60-cdrom_id.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-cdrom_id.rules:27 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
/usr/lib/udev/rules.d/60-drm.rules:3 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
/usr/lib/udev/rules.d/60-evdev.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:17 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
/usr/lib/udev/rules.d/60-input-id.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-input-id.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
/usr/lib/udev/rules.d/60-persistent-alsa.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-alsa.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
/usr/lib/udev/rules.d/60-persistent-input.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-input.rules:35 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:18 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:23 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:32 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
/usr/lib/udev/rules.d/60-persistent-storage.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:40 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:43 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:46 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:49 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:52 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:53 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:78 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:89 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:92 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:95 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
/usr/lib/udev/rules.d/60-persistent-v4l.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
/usr/lib/udev/rules.d/60-sensor.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-sensor.rules:12 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-sensor.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
/usr/lib/udev/rules.d/60-serial.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:15 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:19 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:21 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:24 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:29 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:30 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:38 Operator '=' is specified to PROGRAM key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:39 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
/usr/lib/udev/rules.d/64-btrfs.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:33 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/65-kvm.rules
/usr/lib/udev/rules.d/65-kvm.rules:1 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
/usr/lib/udev/rules.d/69-cd-sensors.rules:98 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-cd-sensors.rules:99 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
/usr/lib/udev/rules.d/69-dm-lvm-metad.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-dm-lvm-metad.rules:56 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
/usr/lib/udev/rules.d/69-libmtp.rules:2537 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
/usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules:16 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-yubikey.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
/usr/lib/udev/rules.d/70-joystick.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
/usr/lib/udev/rules.d/70-mouse.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/70-mouse.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/70-mouse.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-spice-webdavd.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-input.rules
/usr/lib/udev/rules.d/70-steam-input.rules:5 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/70-steam-input.rules:5 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/70-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
/usr/lib/udev/rules.d/70-touchpad.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
/usr/lib/udev/rules.d/70-uaccess.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/70-uaccess.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
/usr/lib/udev/rules.d/71-seat.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/71-seat.rules:59 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/71-seat.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
/usr/lib/udev/rules.d/73-seat-late.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
/usr/lib/udev/rules.d/75-net-description.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:12 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
/usr/lib/udev/rules.d/75-probe_mtd.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
/usr/lib/udev/rules.d/78-sound-card.rules:40 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/78-sound-card.rules:41 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/78-sound-card.rules:65 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-docker.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
/usr/lib/udev/rules.d/80-libinput-device-groups.rules:7 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
/usr/lib/udev/rules.d/80-net-setup-link.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/80-net-setup-link.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
/usr/lib/udev/rules.d/80-udisks2.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/80-udisks2.rules:22 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /etc/udev/rules.d/80-uvcdynctrl.rules
Reading rules file: /usr/lib/udev/rules.d/89-alsa-ucm.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-libgpod.rules
/usr/lib/udev/rules.d/90-libgpod.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/90-libgpod.rules:15 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/90-libgpod.rules:19 IMPORT key takes '==' or '!=' operator, assuming '==', but please fix it.
/usr/lib/udev/rules.d/90-libgpod.rules:23 IMPORT key takes '==' or '!=' operator, assuming '==', but please fix it.
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
/usr/lib/udev/rules.d/90-libinput-fuzz-override.rules:14 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/90-libinput-fuzz-override.rules:18 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Configuration file /etc/udev/rules.d/99-daskeyboard.rules is marked executable. Please remove executable permission bits. Proceeding anyway.
Reading rules file: /etc/udev/rules.d/99-daskeyboard.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse3.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
/usr/lib/udev/rules.d/99-systemd.rules:66 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/99-systemd.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/99-systemd.rules:71 Operator '=' is specified to IMPORT key, assuming '=='.
Invalid inotify descriptor.
event3: /usr/lib/udev/rules.d/50-udev-default.rules:29 GROUP 993
event3: /etc/udev/rules.d/51-5q.rules:1 GROUP 993
event3: /etc/udev/rules.d/51-5q.rules:1 MODE 0666
event3: /usr/lib/udev/rules.d/60-evdev.rules:8 Importing properties from results of builtin command 'hwdb --subsystem=input --lookup-prefix=evdev:'
event3: No entry found from hwdb.
event3: /usr/lib/udev/rules.d/60-evdev.rules:8 Failed to run builtin 'hwdb --subsystem=input --lookup-prefix=evdev:': No data available
value '[dmi/id]modalias' is 'dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO(MS-7984):rvr1.0:cvnMSI:ct3:cvr1.0:'
event3: 2 character(s) replaced
event3: /usr/lib/udev/rules.d/60-evdev.rules:17 Importing properties from results of builtin command 'hwdb 'evdev:name:Das Keyboard 5Q RGB Mechanical Keyboard:phys:usb-0000:00:14.0-1/input0:ev:120013:dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO_MS-7984_:rvr1.0:cvnMSI:ct3:cvr1.0:''
event3: No entry found from hwdb.
event3: /usr/lib/udev/rules.d/60-evdev.rules:17 Failed to run builtin 'hwdb 'evdev:name:Das Keyboard 5Q RGB Mechanical Keyboard:phys:usb-0000:00:14.0-1/input0:ev:120013:dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO_MS-7984_:rvr1.0:cvnMSI:ct3:cvr1.0:'': No data available
value '[dmi/id]modalias' is 'dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO(MS-7984):rvr1.0:cvnMSI:ct3:cvr1.0:'
event3: 2 character(s) replaced
event3: /usr/lib/udev/rules.d/60-evdev.rules:21 Importing properties from results of builtin command 'hwdb 'evdev:name:Das Keyboard 5Q RGB Mechanical Keyboard:dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO_MS-7984_:rvr1.0:cvnMSI:ct3:cvr1.0:''
event3: No entry found from hwdb.
event3: /usr/lib/udev/rules.d/60-evdev.rules:21 Failed to run builtin 'hwdb 'evdev:name:Das Keyboard 5Q RGB Mechanical Keyboard:dmi:bvnAmericanMegatrendsInc.:bvr1.70:bd01/21/2016:svnMSI:pnMS-7984:pvr1.0:rvnMSI:rnZ170AGAMINGPRO_MS-7984_:rvr1.0:cvnMSI:ct3:cvr1.0:'': No data available
event3: /usr/lib/udev/rules.d/60-input-id.rules:5 Importing properties from results of builtin command 'input_id'
input5: capabilities/ev raw kernel attribute: 120013
input5: capabilities/abs raw kernel attribute: 0
input5: capabilities/rel raw kernel attribute: 0
input5: capabilities/key raw kernel attribute: 1000000000007 ff800000000007ff febeffdfffefffff fffffffffffffffe
input5: properties raw kernel attribute: 0
event3: test_key: checking bit block 0 for any keys; found=1
event3: test_key: checking bit block 64 for any keys; found=1
event3: test_key: checking bit block 128 for any keys; found=1
event3: test_key: checking bit block 192 for any keys; found=1
event3: /usr/lib/udev/rules.d/60-input-id.rules:6 Importing properties from results of builtin command 'hwdb --subsystem=input --lookup-prefix=id-input:modalias:'
event3: No entry found from hwdb.
event3: /usr/lib/udev/rules.d/60-input-id.rules:6 Failed to run builtin 'hwdb --subsystem=input --lookup-prefix=id-input:modalias:': No data available
event3: /usr/lib/udev/rules.d/60-persistent-input.rules:11 Importing properties from results of builtin command 'usb_id'
1-1:1.0: if_class:3 protocol:0
event3: /usr/lib/udev/rules.d/60-persistent-input.rules:35 Importing properties from results of builtin command 'path_id'
event3: /usr/lib/udev/rules.d/60-persistent-input.rules:37 LINK 'input/by-path/pci-0000:00:14.0-usb-0:1:1.0-event-kbd'
event3: /usr/lib/udev/rules.d/80-libinput-device-groups.rules:7 Running PROGRAM 'libinput-device-group /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3'
event3: Starting 'libinput-device-group /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3'
Successfully forked off '(spawn)' as PID 4058.
event3: 'libinput-device-group /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3'(out) '3/24f0/2020:usb-0000:00:14.0-1'
event3: Process 'libinput-device-group /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3' succeeded.
event3: Handling device node '/dev/input/event3', devnum=c13:67
event3: Preserve permissions of /dev/input/event3, uid=0, gid=993, mode=0666
event3: Preserve already existing symlink '/dev/char/13:67' to '../input/event3'
event3: Found 'c13:67' claiming '/run/udev/links/\x2finput\x2fby-path\x2fpci-0000:00:14.0-usb-0:1:1.0-event-kbd'
event3: Preserve already existing symlink '/dev/input/by-path/pci-0000:00:14.0-usb-0:1:1.0-event-kbd' to '../event3'
event3: sd-device: Created db file '/run/udev/data/c13:67' for '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3'
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:24F0:2020.0001/input/input5/event3
DEVNAME=/dev/input/event3
MAJOR=13
MINOR=67
ACTION=add
SUBSYSTEM=input
ID_INPUT=1
ID_INPUT_KEY=1
ID_INPUT_KEYBOARD=1
ID_VENDOR=Das_Keyboard
ID_VENDOR_ENC=Das\x20Keyboard
ID_VENDOR_ID=24f0
ID_MODEL=5Q_RGB_Mechanical_Keyboard
ID_MODEL_ENC=5Q\x20RGB\x20Mechanical\x20Keyboard
ID_MODEL_ID=2020
ID_REVISION=0002
ID_SERIAL=Das_Keyboard_5Q_RGB_Mechanical_Keyboard_0000000000000000
ID_SERIAL_SHORT=0000000000000000
ID_TYPE=hid
ID_BUS=usb
ID_USB_INTERFACES=:030101:030000:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=usbhid
.INPUT_CLASS=kbd
ID_PATH=pci-0000:00:14.0-usb-0:1:1.0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_1_0
DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:1:1.0-event-kbd
TAGS=:power-switch:
LIBINPUT_DEVICE_GROUP=3/24f0/2020:usb-0000:00:14.0-1
USEC_INITIALIZED=3307183
Unload module index
Unloaded link configuration context.
@danielclasen

This comment has been minimized.

Copy link

commented Sep 11, 2019

Having the same issue over here. The former symlink in /dev/input/by-id is missing but in /dev/input/by-path it is still present:

# ls -al /dev/input/by-path | grep event6
lrwxrwxrwx 1 root root   9 11. Sep 21:29 pci-0000:00:1a.0-usb-0:1.3.3:1.0-event-mouse -> ../event6

Please provide the result of SYSTEMD_LOG_LEVEL=debug udevadm test /sys/class/input/eventX

# SYSTEMD_LOG_LEVEL=debug udevadm test /sys/class/input/event6
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/usr/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          243
file size:        10120571 bytes
header size             80 bytes
strings            2118595 bytes
nodes              8001896 bytes
Load module index
Failed to read $container of PID 1, ignoring: Permission denied
Found container virtualization none.
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
timestamp of '/usr/lib/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
/usr/lib/udev/rules.d/10-dm.rules:53 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:63 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:64 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:65 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:66 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:68 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:69 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:70 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:71 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:115 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/10-dm.rules:116 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
/usr/lib/udev/rules.d/11-dm-lvm.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:34 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:34 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 Invalid value for OPTIONS key, ignoring: 'event_timeout=180'
/usr/lib/udev/rules.d/11-dm-lvm.rules:40 The line takes no effect, ignoring.
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
/usr/lib/udev/rules.d/13-dm-disk.rules:23 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/13-dm-disk.rules:40 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-gphoto.rules
/usr/lib/udev/rules.d/40-gphoto.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/49-sane.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
/usr/lib/udev/rules.d/50-udev-default.rules:11 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:14 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/50-udev-default.rules:46 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:46 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:72 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:80 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:82 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/50-udev-default.rules:85 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
/usr/lib/udev/rules.d/60-block.rules:13 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
/usr/lib/udev/rules.d/60-cdrom_id.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-cdrom_id.rules:27 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
/usr/lib/udev/rules.d/60-drm.rules:3 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
/usr/lib/udev/rules.d/60-evdev.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:17 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-evdev.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
/usr/lib/udev/rules.d/60-input-id.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-input-id.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
/usr/lib/udev/rules.d/60-persistent-alsa.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-alsa.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
/usr/lib/udev/rules.d/60-persistent-input.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-input.rules:35 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:18 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:23 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage-tape.rules:32 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
/usr/lib/udev/rules.d/60-persistent-storage.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:40 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:43 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:46 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:49 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:52 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:53 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:78 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:89 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:92 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:95 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
/usr/lib/udev/rules.d/60-persistent-v4l.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
/usr/lib/udev/rules.d/60-sensor.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-sensor.rules:12 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-sensor.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
/usr/lib/udev/rules.d/60-serial.rules:7 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:15 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/60-serial.rules:19 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-zvol.rules
/usr/lib/udev/rules.d/60-zvol.rules:6 Operator '=' is specified to PROGRAM key, assuming '=='.
Configuration file /usr/lib/udev/rules.d/60_smfp_samsung.rules is marked executable. Please remove executable permission bits. Proceeding anyway.
Reading rules file: /usr/lib/udev/rules.d/60_smfp_samsung.rules
Reading rules file: /usr/lib/udev/rules.d/61-kde-bluetooth-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:21 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:24 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:29 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:30 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:38 Operator '=' is specified to PROGRAM key, assuming '=='.
/usr/lib/udev/rules.d/63-md-raid-arrays.rules:39 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
/usr/lib/udev/rules.d/64-btrfs.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:21 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/64-md-raid-assembly.rules:33 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/65-kvm.rules
/usr/lib/udev/rules.d/65-kvm.rules:1 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
/usr/lib/udev/rules.d/69-cd-sensors.rules:98 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-cd-sensors.rules:99 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
/usr/lib/udev/rules.d/69-dm-lvm-metad.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-dm-lvm-metad.rules:56 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
/usr/lib/udev/rules.d/69-libmtp.rules:2537 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
/usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules:16 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/69-vdev.rules
/usr/lib/udev/rules.d/69-vdev.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-vdev.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/69-vdev.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
/usr/lib/udev/rules.d/70-joystick.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
/usr/lib/udev/rules.d/70-mouse.rules:10 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/70-mouse.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/70-mouse.rules:16 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-spice-webdavd.rules
Reading rules file: /usr/lib/udev/rules.d/70-steam-input.rules
/usr/lib/udev/rules.d/70-steam-input.rules:5 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/70-steam-input.rules:5 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/70-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
/usr/lib/udev/rules.d/70-touchpad.rules:11 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
/usr/lib/udev/rules.d/70-uaccess.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
/usr/lib/udev/rules.d/70-uaccess.rules:31 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
/usr/lib/udev/rules.d/71-seat.rules:25 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/71-seat.rules:59 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/71-seat.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
/usr/lib/udev/rules.d/73-seat-late.rules:13 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
/usr/lib/udev/rules.d/75-net-description.rules:6 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:8 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/75-net-description.rules:12 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
/usr/lib/udev/rules.d/75-probe_mtd.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
/usr/lib/udev/rules.d/78-sound-card.rules:40 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/78-sound-card.rules:41 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/78-sound-card.rules:65 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
/usr/lib/udev/rules.d/80-libinput-device-groups.rules:7 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
/usr/lib/udev/rules.d/80-net-setup-link.rules:5 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/80-net-setup-link.rules:9 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/80-razer.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
/usr/lib/udev/rules.d/80-udisks2.rules:20 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/80-udisks2.rules:22 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
/usr/lib/udev/rules.d/84-nm-drivers.rules:10 Operator '=' is specified to PROGRAM key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/89-alsa-ucm.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
/usr/lib/udev/rules.d/90-libinput-fuzz-override.rules:14 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/90-libinput-fuzz-override.rules:18 Operator '=' is specified to IMPORT key, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/90-zfs.rules
/usr/lib/udev/rules.d/90-zfs.rules:10 Operator '+=' is specified to OPTIONS key, assuming '='.
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hidpp.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/99-fuse3.rules
Reading rules file: /usr/lib/udev/rules.d/99-razer.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
/usr/lib/udev/rules.d/99-systemd.rules:66 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/99-systemd.rules:67 Operator '=' is specified to IMPORT key, assuming '=='.
/usr/lib/udev/rules.d/99-systemd.rules:71 Operator '=' is specified to IMPORT key, assuming '=='.
Invalid inotify descriptor.
event6: /usr/lib/udev/rules.d/50-udev-default.rules:29 GROUP 993
event6: /usr/lib/udev/rules.d/60-evdev.rules:8 Importing properties from results of builtin command 'hwdb --subsystem=input --lookup-prefix=evdev:'
event6: No entry found from hwdb.
event6: /usr/lib/udev/rules.d/60-evdev.rules:8 Failed to run builtin 'hwdb --subsystem=input --lookup-prefix=evdev:': No data available
value '[dmi/id]modalias' is 'dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:'
event6: /usr/lib/udev/rules.d/60-evdev.rules:17 Importing properties from results of builtin command 'hwdb 'evdev:name:Razer Razer Mamba Tournament Edition:phys:usb-0000:00:1a.0-1.3.3/input0:ev:17:dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:''
event6: No entry found from hwdb.
event6: /usr/lib/udev/rules.d/60-evdev.rules:17 Failed to run builtin 'hwdb 'evdev:name:Razer Razer Mamba Tournament Edition:phys:usb-0000:00:1a.0-1.3.3/input0:ev:17:dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:'': No data available
value '[dmi/id]modalias' is 'dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:'
event6: /usr/lib/udev/rules.d/60-evdev.rules:21 Importing properties from results of builtin command 'hwdb 'evdev:name:Razer Razer Mamba Tournament Edition:dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:''
event6: No entry found from hwdb.
event6: /usr/lib/udev/rules.d/60-evdev.rules:21 Failed to run builtin 'hwdb 'evdev:name:Razer Razer Mamba Tournament Edition:dmi:bvnAmericanMegatrendsInc.:bvrP3.30:bd02/14/2014:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnASRock:rnX79Extreme11:rvr:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:'': No data available
event6: /usr/lib/udev/rules.d/60-input-id.rules:5 Importing properties from results of builtin command 'input_id'
input16: capabilities/ev raw kernel attribute: 17
input16: capabilities/abs raw kernel attribute: 0
input16: capabilities/rel raw kernel attribute: 903
input16: capabilities/key raw kernel attribute: 1f0000 0 0 0 0
input16: properties raw kernel attribute: 0
event6: test_key: checking bit block 0 for any keys; found=0
event6: test_key: checking bit block 64 for any keys; found=0
event6: test_key: checking bit block 128 for any keys; found=0
event6: test_key: checking bit block 192 for any keys; found=0
event6: /usr/lib/udev/rules.d/60-input-id.rules:6 Importing properties from results of builtin command 'hwdb --subsystem=input --lookup-prefix=id-input:modalias:'
event6: No entry found from hwdb.
event6: /usr/lib/udev/rules.d/60-input-id.rules:6 Failed to run builtin 'hwdb --subsystem=input --lookup-prefix=id-input:modalias:': No data available
event6: /usr/lib/udev/rules.d/60-persistent-input.rules:11 Importing properties from results of builtin command 'usb_id'
3-1.3.3:1.0: if_class:3 protocol:0
event6: /usr/lib/udev/rules.d/60-persistent-input.rules:35 Importing properties from results of builtin command 'path_id'
event6: /usr/lib/udev/rules.d/60-persistent-input.rules:37 LINK 'input/by-path/pci-0000:00:1a.0-usb-0:1.3.3:1.0-event-mouse'
event6: /usr/lib/udev/rules.d/70-mouse.rules:10 Importing properties from results of builtin command 'hwdb 'mouse:usb:v1532p0046:name:Razer Razer Mamba Tournament Edition:''
event6: No entry found from hwdb.
event6: /usr/lib/udev/rules.d/70-mouse.rules:10 Failed to run builtin 'hwdb 'mouse:usb:v1532p0046:name:Razer Razer Mamba Tournament Edition:'': No data available
event6: /usr/lib/udev/rules.d/80-libinput-device-groups.rules:7 Running PROGRAM 'libinput-device-group /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3.3/3-1.3.3:1.0/0003:1532:0046.0006/input/input16/event6'
event6: Starting 'libinput-device-group /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3.3/3-1.3.3:1.0/0003:1532:0046.0006/input/input16/event6'
Successfully forked off '(spawn)' as PID 46501.
Skipping PR_SET_MM, as we don't have privileges.
event6: 'libinput-device-group /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3.3/3-1.3.3:1.0/0003:1532:0046.0006/input/input16/event6'(out) '3/1532/46:usb-0000:00:1a.0-1.3'
event6: Process 'libinput-device-group /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3.3/3-1.3.3:1.0/0003:1532:0046.0006/input/input16/event6' succeeded.
event6: /usr/lib/udev/rules.d/99-razer.rules:41 GROUP 968
event6: Handling device node '/dev/input/event6', devnum=c13:70
event6: Preserve permissions of /dev/input/event6, uid=0, gid=968, mode=0660
event6: Preserve already existing symlink '/dev/char/13:70' to '../input/event6'
event6: Found 'c13:70' claiming '/run/udev/links/\x2finput\x2fby-path\x2fpci-0000:00:1a.0-usb-0:1.3.3:1.0-event-mouse'
event6: Preserve already existing symlink '/dev/input/by-path/pci-0000:00:1a.0-usb-0:1.3.3:1.0-event-mouse' to '../event6'
event6: Failed to update database under /run/udev/data/: Permission denied
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.3/3-1.3.3/3-1.3.3:1.0/0003:1532:0046.0006/input/input16/event6
DEVNAME=/dev/input/event6
MAJOR=13
MINOR=70
ACTION=add
SUBSYSTEM=input
ID_INPUT=1
ID_INPUT_MOUSE=1
ID_VENDOR=Razer
ID_VENDOR_ENC=Razer
ID_VENDOR_ID=1532
ID_MODEL=Razer_Mamba_Tournament_Edition
ID_MODEL_ENC=Razer\x20Mamba\x20Tournament\x20Edition
ID_MODEL_ID=0046
ID_REVISION=0200
ID_SERIAL=Razer_Razer_Mamba_Tournament_Edition
ID_TYPE=hid
ID_BUS=usb
ID_USB_INTERFACES=:030102:030001:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=usbhid
.INPUT_CLASS=mouse
ID_PATH=pci-0000:00:1a.0-usb-0:1.3.3:1.0
ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_3_3_1_0
DEVLINKS=/dev/input/by-path/pci-0000:00:1a.0-usb-0:1.3.3:1.0-event-mouse
LIBINPUT_DEVICE_GROUP=3/1532/46:usb-0000:00:1a.0-1.3
ID_RAZER_CHROMA=1
RAZER_DRIVER=razermouse
USEC_INITIALIZED=19372082
Unload module index
Unloaded link configuration context.
jonpas referenced this issue in jonpas/dotfiles Sep 17, 2019
udev doesn't create by-id link for it since one of the 5.2.x kernel updates with hid-lg-g710-plus-dkms (generic driver does)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
5 participants
You can’t perform that action at this time.