Просто блог
Для начала необходимо определить в какой usb подключены клавиатура и мышь, для этого есть несколько вариантов:
Ищем упоминание устройств в логе загрузки системы
dmesg | grep input
Результат должен быть примерно таким:
[ 3.202691] input: Logitech Logitech Illuminated Keyboard as /devices/pci0000:00/0000:00:1d.2/usb10/10-1/10-1:1.0/0003:046D:C318.0001/input/input5
[ 3.256704] hid-generic 0003:046D:C318.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech Logitech Illuminated Keyboard] on usb-0000:00:1d.2-1/input0
[ 3.259584] input: Logitech Logitech Illuminated Keyboard as /devices/pci0000:00/0000:00:1d.2/usb10/10-1/10-1:1.1/0003:046D:C318.0002/input/input6
[ 3.312772] hid-generic 0003:046D:C318.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Logitech Logitech Illuminated Keyboard] on usb-0000:00:1d.2-1/input1
[ 3.653651] input: A4TECH USB Device as /devices/pci0000:00/0000:00:1d.2/usb10/10-2/10-2:1.0/0003:09DA:9066.0003/input/input7
[ 3.708714] hid-generic 0003:09DA:9066.0003: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [A4TECH USB Device] on usb-0000:00:1d.2-2/input0
[ 3.711513] input: A4TECH USB Device as /devices/pci0000:00/0000:00:1d.2/usb10/10-2/10-2:1.1/0003:09DA:9066.0004/input/input8
[ 3.711956] hid-generic 0003:09DA:9066.0004: input,hidraw3: USB HID v1.11 Mouse [A4TECH USB Device] on usb-0000:00:1d.2-2/input1
Тут нас интересуют несколько строк:
/devices/pci0000:00/0000:00:1d.2/usb10/10-1/10-1:1.0/0003:046D:C318.0001/input/input5
и
/devices/pci0000:00/0000:00:1d.2/usb10/10-2/10-2:1.0/0003:09DA:9066.0003/input/input7
Мои устройства находятся на usb10, а точнее клавиатура на 10-1, а мышь на 10-2
Еще можно посмотреть вывод команды
lsusb
и
lsusb -t
Но это менее удобно.
Теперь нужно проверить следующие файл:
cat /sys/bus/usb/devices/10-1/power/wakeup
enabled
cat /sys/bus/usb/devices/10-2/power/wakeup
enabled
cat /sys/bus/usb/devices/usb10/power/wakeup
disabled
Вот и виновник проблемы, отдельные устройства включены, а основной usb10 для них отключен.
Исправляем:
echo enabled > /sys/bus/usb/devices/usb10/power/wakeup
Чтобы изменения не исчезали после перезагрузки, добавляем эту строку в /etc/rc.local
nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo enabled > /sys/bus/usb/devices/usb10/power/wakeup
exit 0
Нашел еще такой комментарий:
For those who are updating to the 3.2 kernel (which should be everyone due to the recent root exploit), you'll notice your USB wakeup is probably broken. They changed the default wakeup policy (http://www.spinics.net/lists/linux-usb/msg53661.html), so you'll need to make a couple of changes:
you no longer need to enable wakeup in /proc/acpi/wakeup, it's enabled by default
you need to enable wakeup for the USB hub in addition to the device in /sys/bus/usb/devices/*/power/wakeup
Т.е. забываем про правку файла /proc/acpi/wakeup, как во многих местах рекомендуют, и правим только файлы /sys/bus/usb/devices/*/power/wakeup