Я искал часы, а может и больше, и нашел решение. Я хочу поделиться этим со всеми. Таким образом, будет проще найти эту проблему, чтобы быстрее найти решение. Итак, как сказано в названии, ниже приведено решение.
Я искал часы, а может и больше, и нашел решение. Я хочу поделиться этим со всеми. Таким образом, будет проще найти эту проблему, чтобы быстрее найти решение. Итак, как сказано в названии, ниже приведено решение.
Ответы:
хит в терминале:
grep . /sys/bus/usb/devices/*/power/wakeup
Результатом для меня было выяснить, что все USB были отключены. Итак, введите:
1.
sudo su
теперь у нас есть права root.
2. У меня есть 8 портов USB ( вы делаете это для столько портов, сколько у вас есть ), поэтому:
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup
Идите и проверьте это. Теперь вы можете проснуться с любой беспроводной или проводной USB-клавиатуры и мыши.
Итак, причина, по которой мы должны включить их все, заключается в том, что на следующем шаге мы запишем это в rc.local для выполнения команды после каждой перезагрузки, а после перезагрузки некоторые дистрибутивы Linux (может быть, все) меняют порты USB. Нам не нужно беспокоиться о том, что что-то пойдет не так, включив их все, так как Linux находится в режиме ожидания или гибернации, он не может использовать Wi-Fi для загрузки чего-либо, поэтому он не проснется, если мы не разбудим его специально ,
Следующий шаг:
3.
sudo nano /etc/rc.local
и мы вставляем туда все, начиная с шага 2. (конечно, до выхода 0).
Вот и все. Отныне мы можем использовать наши беспроводные USB и мышь, чтобы выйти из режима ожидания.
Я надеюсь, что это работает для всех вас. Это руководство было сделано после тестирования всех других возможных решений в Интернете.
grep . /sys/bus/usb/devices/*/power/wakeup
", но все еще не работал. Возможно, это связано с тем, что клавиатура и мышь подключены косвенно - беспроводным способом к ключу, который находится на экране? Экран подключен через USB к ноутбуку.
grep . /sys/bus/usb/devices/*/product
помогло мне понять, на что я смотрю
В дополнение к моему руководству, приведенному выше, я хочу добавить эту информацию, поскольку недавно я обнаружил, что некоторые беспроводные USB-устройства после выхода из спящего режима возвращаются обратно для отключения. Я повторяю, только некоторые устройства USB делают это, не все. Вот почему я не добавил это небольшое руководство к своему руководству.
Итак, вы сделали, как я указывал выше, и ваш компьютер успешно проснулся, но в тот же день внезапно он не проснулся снова.
Решение:
Откройте терминал и выполните:
lsusb
В информации об идентификаторе устройства клавиатуры 4 первые цифры - это идентификатор производителя, а 4 следующие цифры - это идентификатор продукта (см. Скриншот).
Далее сделайте:
sudo nano /etc/udev/rules.d/10-wakeup.rules
Где "пробуждение" введите желаемое имя скрипта. Число 10 является приоритетом, если у вас есть много других правил udev, чем меньше число, которое будет выполняться «правилом» перед остальными.
Скопируйте, вставьте его и замените идентификатор поставщика и идентификатор продукта на собственный идентификатор поставщика беспроводной клавиатуры и идентификатор продукта.
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* usb8 для меня - моя беспроводная клавиатура (вы также можете видеть это на скриншоте (шина 008)), замените ее на свою.
Ctrl+ Oдля сохранения, Ctrl+ Xдля выхода и перезагрузки.
Ответ Павлоса Теодору очень полезен. Я хотел бы добавить, что вы можете найти USB-устройство, к которому подключается ваша мышь / клавиатура при загрузке, пару раз пропустив dmesg через grep , затем один раз egrep и, наконец, используя tail, чтобы убедиться, что оно было самым последним. запись.
Используя этот метод, вам не нужно включать Wake on ВСЕХ USB-портах.
Я поместил следующее в мой файл /etc/rc.local, и он каждый раз находит мой приемник logitech, даже если он перемещается с одного порта USB на другой. Просто замените имя вашей клавиатуры или мыши на dmesg вместо «Logitech K270»
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
Это работает при загрузке, но, похоже, не работает при пробуждении из режима ожидания, поэтому мне пришлось поместить файл скрипта в / lib / systemd / system-sleep /. Создайте его, установить его в глобальном масштабе исполняемый файл и дать ему имя , которое начинается с двойной значное число от 00 до 99. Мой сценарий заключается в следующем, снова подставляются вашей клавиатуры / мыши verbage из dmesg:
#!/bin/sh
# Action script to enable wake after suspend by keyboard or mouse
if [ $1 = post ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
if [ $1 = pre ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
По какой-то причине я не могу объяснить, что оператор "post" sleep, если работает, работает только при каждом следующем пробуждении ... но оператор "pre" sleep, если кажется, работает каждый раз.
Ни один из вышеупомянутых ответов не помог мне. Вот почему я размещаю здесь свой собственный.
Протестировано в KDE neon 5.16.2, на основе Ubuntu 18.04, но должно работать в любом дистрибутиве.
grep . /sys/bus/usb/devices/*/product
вы должны получить что-то вроде этого:
/ sys / bus / usb / devices / 3-3 / product: Cord Optical Mouse /sys/bus/usb/devices/3-4.3/product:802.11n адаптер WLAN /sys/bus/usb/devices/3-4.4/product:USB Receiver /sys/bus/usb/devices/3-4/product:USB2.0 Hub /sys/bus/usb/devices/4-4/product:USB3.0 Hub / sys / bus / usb / devices / usb1 / product: EHCI Host Controller / sys / bus / usb / devices / usb2 / product: EHCI Host Controller / sys / bus / usb / devices / usb3 / product: Хост-контроллер xHCI / sys / bus / usb / devices / usb4 / product: xHCI Host Controller
grep. / SYS / автобус / USB / устройство / * / мощность / будильник
результат должен быть примерно таким:
/ SYS / автобус / USB / устройство / 1-1 / мощность / будильник: отключено / SYS / автобус / USB / устройство / 2-1 / мощность / будильник: отключено / SYS / автобус / USB / устройство / 3-11 / мощность / будильник: отключено / SYS / автобус / USB / устройство / 3-3 / мощность / будильник: включено /sys/bus/usb/devices/3-4.4/power/wakeup:disabled / SYS / автобус / USB / устройство / 3-4 / мощность / пробуждение: отключено / SYS / автобус / USB / устройство / 4-4 / мощность / будильник: отключено / SYS / автобус / USB / устройство / usb1 / мощность / будильник: отключено / SYS / автобус / USB / устройство / usb2 / мощность / будильник: отключено / SYS / автобус / USB / устройство / USB3 / мощность / будильник: отключено / SYS / автобус / USB / устройство / USB4 / мощность / будильник: отключено
В моем случае активация активируется только для USB-устройства 3-3, которое, согласно предыдущему списку, называется «Cord Optical Mouse».
Я хочу включить пробуждение от приостановки только для беспроводной клавиатуры и отключить его для остальных. USB-приемник клавиатуры подключен к концентратору и соответствует 3-4.4 в предыдущем списке («USB-приемник»).
Чтобы иметь права root:
sudo su
Затем мы создаем файл для скрипта (файл может называться «usbwakeup» или любой другой описательный файл):
nano /etc/init.d/usbwakeup
Содержимое файла. Просто адаптируйте его под свои потребности, изменив раздел «СКРИПТ-ДЕЙСТВИЯ» (мне нравится добавлять комментарии к сценариям, чтобы узнать, что они на самом деле делают, если я когда-нибудь снова их открою):
#! / bin / bash # ####################### # ОБЩАЯ ИНФОРМАЦИЯ # ####################### # # - Этот скрипт включает / отключает пробуждение от приостановки # для USB-устройств. # # - Сценарию нужны разрешения на выполнение. # # - чтобы этот скрипт выполнялся при запуске системы, должен быть # символическая ссылка на него в /etc/rc3.d/ с приоритетом S01 # (например: /etc/rc3.d/S01usbwakeup) # ########################### # СВЯЗАННЫЕ ПОЛЕЗНЫЕ КОМАНДЫ # ########################### # # - Определить USB-устройства: # grep. / SYS / автобус / USB / устройства / * / продукт # # - Проверьте состояние «пробуждения от приостановки» USB-устройств: # grep. / SYS / автобус / USB / устройство / * / мощность / будильник # # ################## # СЦЕНАРИЙ ДЕЙСТВИЙ # ################## # # Отключает пробуждение от приостановки для оптической мыши эхо отключено> / sys / bus / usb / devices / 3-3 / power / wakeup # # Позволяет проснуться от приостановки для беспроводной клавиатуры что я подключил к USB 3.0 HUB через порт USB № 4 эхо включено> /sys/bus/usb/devices/3-4.4/power/wakeup
chmod +x /etc/init.d/usbwakeup
sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
При перезагрузке системы все должно работать как указано в скрипте. Изменения будут постоянными, так как они будут выполняться при каждой загрузке системы.
Источники консультировались (кроме этого поста):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
/sys/bus/usb/devices/<device id>/product
текстовое описание.