Собрал из старого железа небольшой HTPC (сервер) на ubuntu 12.04 min и купил беспроводную клавиатуру Logitech Wireless Keyboard K230 с беспроводным передатчиком Logitech Unifying. Работала без проблем, пока не перегрузил сервер. После перезагрузки клавиатура не определялась и приходилось несколько раз выключать-включать, пока клавиатура не заработала. Сначала грешил на передатчик и батарейки клавиатуры, но экспериментальным путем обнаружил, что проблема в инициализации usb портов.
После очередного отключения клавиатуры я обнаружил, что радио модуль просто не определился:
cat /proc/bus/input/devices | grep “Logitech Unifying Device.”
Тогда пришла идея сделать reset usb. Для этого выполнил две команды:
modprobe -vr hid_logitech_dj usbhid hid
modprobe -v hid_logitech_dj usbhid hid
После чего клавиатура у меня восстановилась.
Ну и дальше скрипт usbreset.sh, который стоит в автозагрузке и проверяет наличие клавиатуры, и если она не определилась производит Reset:
#!/bin/sh
isi=`cat /proc/bus/input/devices | grep “Logitech Unifying Device. Wireless PID:400d” | wc -l`
echo $isi
if !(test $isi -gt “0”)
then
modprobe -vr hid_logitech_dj usbhid hid
modprobe -v hid_logitech_dj usbhid hid
fi