Дата и время публикации:
Что и как лечим?!
1. Что лечим?
Зависание или "замерание"(англ. freezed) курсора при попытке сдвинуть его ручным манипулятором типа "Мышь", подключенного к порту USB и используемого вторым номеро вместе с ноутбуком (англ. laptop) в дистрибутиве Debian GNU/Linux и рабочего стола Gnome. При этом, как минимум должна наблюдаться нормальная работа клавиатуры, т.е. ноутбук должен функционировать, а не тупо висеть. Соответственно, методы борьбы с отказом в последней ситуации, в данной статье, рассматриваться не будут.
2. Как лечим?
Первым, проверяем нормальную работу клавиатуры – для чего предлагаю поиграться клавишей Num Lock или Caps Lock, последнюю использовать предпочтительней, т.к. на её нажатие ещё сохранилась индикация в большинстве ноутбуков и клавиатур.
После проверки управляемости ноутбука, следует запустить gnome-terminal путем нажатия комбинации клавишей ALT-F2 и в диалоге "Ввода команды" ввести искомую фразу, как показано на рисунке 2.1
Рисунок 2.1
Далее, в gnome-terminal попытаться найти причину с использованием 'sudo dmesg', как показано в дампе 2.1
Дамп 2.1
user@home:~$ sudo dmesg [sudo] пароль для user: ... [ 3090.839541] usb 1-4-port2: attempt power cycle [ 3091.443251] usb 1-4.2: new low-speed USB device number 79 using xhci_hcd [ 3092.299845] usb 1-4.2: Device not responding to setup address. [ 3092.507289] usb 1-4.2: Device not responding to setup address. [ 3092.715199] usb 1-4.2: device not accepting address 79, error -71 [ 3093.007195] usb 1-4.2: new low-speed USB device number 80 using xhci_hcd [ 3094.156137] usb 1-4.2: Device not responding to setup address. [ 3094.363334] usb 1-4.2: Device not responding to setup address. [ 3094.571213] usb 1-4.2: device not accepting address 80, error -71 [ 3094.571507] usb 1-4-port2: unable to enumerate USB device [ 3094.795284] usb 1-4.2: new low-speed USB device number 81 using xhci_hcd [ 3096.299259] usb 1-4.2: device descriptor read/64, error -71 [ 3098.155214] usb 1-4.2: device descriptor read/64, error -71 [ 3098.343034] usb 1-4.2: new low-speed USB device number 82 using xhci_hcd [ 3100.011143] usb 1-4.2: device descriptor read/64, error -71 [ 3101.866966] usb 1-4.2: device descriptor read/64, error -71 ...
Как видно из дампа данная мышь на выброс и замену… В обратном случае, если вывод в дампе 2.2 завершается успешно без всяких зависаний и задержек.
Дамп 2.2
sudo lspci | grep USB && sudo lsusb | grep [Mm]ouse ... Bus 001 Device 008: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse ...
Для окончательной проверки следует запустить 'sudo xxd /dev/input/mouseX' и поводить вправо или влево мышкой – результат её исправности вывод, как показано в дампе 2.3
Дамп 2.2
user@home:~$ sudo xxd /dev/input/mouse1 00000000: 0801 0208 0001 0801 0108 0201 0800 0208 ................ 00000010: 0102 0801 0008 0301 0801 0108 0100 0802 ................ 00000020: 0008 0202 0801 0008 0301 0801 0008 0100 ................ 00000030: 0802 0008 0100 0802 0108 0200 0801 0008 ................ 00000040: 0100 0803 0008 0100 0803 0108 0300 0804 ................ 00000050: 0008 0200 0805 0008 0402 0804 0008 0501 ................ 00000060: 0802 0108 0401 0806 0208 0300 0802 0108 ................ 00000070: 0400 0803 0008 0200 0801 0008 0301 0801 ................ 00000080: 0008 0100 0802 0108 0400 0803 0008 0300 ................ 00000090: 0803 0208 0300 0802 0008 0401 0803 0008 ................ 000000a0: 0100 0803 0008 0300 0803 0008 0100 0804 ................ 000000b0: 0008 0200 0803 0008 0200 0803 0008 0100 ................ 000000c0: 0802 0008 0200 0802 0008 0100 0803 0008 ................ ...
Затем, попытаться мышку USB перезапустить 'sudo usbreset Bus/Device', как показано в дампе 2.4, на примере оптической мышки 'Pixart Imaging, Inc. Optical Mouse', ранее найденной в дампе 2.2
Дамп 2.4
user@home:~$ sudo usbreset 001/008 Resetting USB Optical Mouse ... ok ...
В случае, если данные манипуляции к желаемому результату не приводят, следует начать махать топором... А именно, произвести перезапуск gnome-shell: переключится на терминал TTY, нажатием последовательности клавишей Ctrl+Alt+F2, открыть сессию супер пользователя и ввести магическую формулу, как показано в дампе 2.5
Дамп 2.5
root@home:~$ pkill -HUP gnome-shell
При этом,
- на debian 10.0 ("buster"), использующий Xwayland, данное действие производит к перезапуску всей сессии, поэтому все будет потеряно, что не было сохранено во время;
- взамен pkill так же можно использовать 'systemctl restart gdm', который так же приведет к перезапуску открытой сессии со всеми её потрахами.
3. Библиография
3.1 Loosely typed. Fixing USB mouse or laptop touchpad freeze and hanging in Ubuntu
3.2 AskUbuntu. How do you reset a USB device from the command line?