× К оглавлению На главную Об авторе

Дата и время публикации:

Что и как лечим?!


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

При этом,

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?

3.3 Wiki Archlinux. GNOME/Troubleshooting