Привет! Обновил на днях машинку годичной давности - перестала работать USB мышь. До этого работала.
Раньше обходился без отдельных настроек для мыши в xorg.conf.d, только тачпад настраивал, решил добавить следующие настройки:
Section "InputClass"
Identifier "Mouse"
Driver "evdev"
MatchIsPointer "on"
MatchDevicePath "/dev/event*"
EndSectionНе помогло. Ладно, для начала решил убедиться, что мышь точно подключена:
lsusb
...
Bus 006 Device 003: ID 09da:000a A4 Tech Co., Ltd Optical Mouse Opto 510D
...Мышь обнаружена. Сделав ls -l /dev/event* и сравнив с логом Иксов, увидел, что там мыши среди них вообще нет.
Вспомнил про тему о настройке мыши и клавиатуре. Мне оттуда нужна только часть про мышь, поэтому правила udev'а я урезал. Перед этим посмотрел что udev вообще говорит о мыше. Заглянул в /sys/class/input/:
ls -l /sys/class/input/
итого 0
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0/event0
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1/event1
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2/event2
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event3 -> ../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event4 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input4/event4
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event5 -> ../../devices/platform/i8042/serio0/input/input5/event5
lrwxrwxrwx 1 root root 0 апр. 23 09:31 event6 -> ../../devices/platform/i8042/serio4/input/input6/event6
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input3 -> ../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input4 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input4
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input5 -> ../../devices/platform/i8042/serio0/input/input5
lrwxrwxrwx 1 root root 0 апр. 23 09:31 input6 -> ../../devices/platform/i8042/serio4/input/input6
lrwxrwxrwx 1 root root 0 апр. 23 09:31 mice -> ../../devices/virtual/input/mice
lrwxrwxrwx 1 root root 0 апр. 23 09:31 mouse0 -> ../../devices/platform/i8042/serio4/input/input6/mouse00-6 - это то же железо, что и в /dev/event*. mouse0 - судя по файлу uevent - обнаруженный вторая раз тачпад (NAME="SynPS/2 Synaptics TouchPad"). Другой тачпад - event6.
Посмотрел куда udev пихает инфо о мышке - udevadm monitor и передёрнуть:
KERNEL[10507.954253] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0003 (hid)
KERNEL[10507.954290] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0 (usb)
KERNEL[10507.954728] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1 (usb)
UDEV [10507.955252] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0003 (hid)
UDEV [10507.955583] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0 (usb)
UDEV [10507.955880] remove /devices/pci0000:00/0000:00:1d.0/usb6/6-1 (usb)
KERNEL[10512.069270] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1 (usb)
KERNEL[10512.072182] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0 (usb)
KERNEL[10512.084206] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004 (hid)
UDEV [10512.084759] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1 (usb)
UDEV [10512.085378] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0 (usb)
UDEV [10512.085940] add /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004 (hid)Теперь, вроде, и правило для udev можно настроить, основываясь на примере из темы по ссылке выше.
udevadm info --query=all --path=/sys/devices/pci0000\:00/0000\:00\:1d.0/usb6/6-1/6-1\:1.0/0003\:09DA\:000A.0004
P: /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004
E: HID_ID=0003:000009DA:0000000A
E: HID_NAME=A4Tech USB Mouse
E: HID_PHYS=usb-0000:00:1d.0-1/input0
E: MODALIAS=hid:b0003g0000v000009DAp0000000A
E: SUBSYSTEM=hid
E: USEC_INITIALIZED=512084246Для проверки клавиатуры/тачпада используются опции X'ов вроде MatchIsKeyboard, MatchIsTouchpad. В udev, как заметил, этому соответствуют строки ID_INPUTE_KEYBOARD, ID_INPUT_TOUCHPAD. Основываясь на этом и на HID_NAME пишу такое правило:
SUBSYSTEM!="input|hid|usb", GOTO="x11_input_end"
ACTION!="change|add", GOTO="x11_input_end"
ENV{HID_NAME}=="A4Tech USB Mouse", ENV{ID_INPUT.tags}="mouse", ENV{ID_INPUT_POINTER}="1"
LABEL="x11_input_end"Проверяю - да, действительно, udev добавил эти строчки:
udevadm info --query=all --path=/sys/devices/pci0000\:00/0000\:00\:1d.0/usb6/6-1/6-1\:1.0/0003\:09DA\:000A.0004
P: /devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/0003:09DA:000A.0004
E: HID_ID=0003:000009DA:0000000A
E: HID_NAME=A4Tech USB Mouse
E: HID_PHYS=usb-0000:00:1d.0-1/input0
E: ID_INPUT.tags=mouse
E: ID_INPUT_POINTER=1
E: MODALIAS=hid:b0003g0000v000009DAp0000000A
E: SUBSYSTEM=hid
E: USEC_INITIALIZED=512084246Привожу файл в xorg.conf.d к такому виду:
Section "InputClass"
Identifier "Mouse"
Driver "evdev"
MatchIsPointer "on"
MatchTag "mouse"
EndSectionПерезапускаю Иксы - не работает! В логе про мышь ни слова:
grep -i mouse /var/log/Xorg.0.log
[ 39.699] (==) intel(0): Silken mouse enabled
[ 40.665] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)Попробовал в настройках Иксов менять драйвер на mouse (xf86-input-mouse стоит), но это тоже не помогло.
Драйвера после обновления Иксов пересобрал.

