Проснитесь от, приостанавливают использующую беспроводную клавиатуру USB или мышь (для любого Дистрибутива Linux)

Я искал часы, возможно, больше, для решения, и я просто нашел его. Я хочу совместно использовать его со всеми. Таким образом, это будет более легкий поиск с помощью Google этой проблемы для нахождения решения быстрее. Так, точно так же, как в заголовке говорится, ниже решение.

17
задан 20 December 2017 в 05:17

4 ответа

хит в терминале:

grep . /sys/bus/usb/devices/*/power/wakeup

результат, для меня, должен был узнать, что весь usb был отключен. Таким образом, теперь введите:

1.

sudo su

у нас есть теперь корень privillages.

2. У меня есть 8 USB-портов (, Вы делаете это для как много 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, и мышь для пробуждения от приостанавливают.

я надеюсь, что это работает на всех Вас. Это руководство было сделано после тестирования всех других возможных решений вокруг Интернета.

25
ответ дан 23 November 2019 в 02:19

В дополнение к моему руководству выше я хочу добавить эту информацию, потому что я недавно обнаружил, что некоторые беспроводные USB-устройства после пробуждения от сна, они возвращаются назад для отключения. Я повторяюсь, только некоторые USB-устройства делают это, не все. Вот почему я не складывал это маленькое руководство по своему руководству.

, Таким образом, Вы сделали, поскольку я сообщил выше, и Ваш ПК успешно просыпается, но позже в тот же день внезапно он не просыпается снова.

Решение:

Откройте терминал и сделайте:

lsusb

В Вашей информации об идентификаторе устройства клавиатуры 4 первых цифры являются идентификатором поставщика, и 4 следующих цифры являются идентификатором продукта (см. снимок экрана) enter image description here

Следующий сделайте:

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 , чтобы выйти и перезагрузить.

10
ответ дан 23 November 2019 в 02:19

Ни один из вышеупомянутых ответов не помог мне. Вот почему я отправляю здесь свой собственный.

Включение / от которого просыпается отключение, приостанавливает за USB-устройства

Протестированный в неоне KDE 5.16.2, на основе Ubuntu 18.04, но должно работать в любом распределении.


1. Покажите список USB-устройств для идентификации того, которое Вы хотите включить / отключите:

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 Adapter
/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 Host Controller
/sys/bus/usb/devices/usb4/product:xHCI Host Controller


2. Проверка будит состояние всех USB-устройств:

grep . /sys/bus/usb/devices/*/power/wakeup

результат должен быть чем-то вроде этого:

/sys/bus/usb/devices/1-1/power/wakeup:disabled
/sys/bus/usb/devices/2-1/power/wakeup:disabled
/sys/bus/usb/devices/3-11/power/wakeup:disabled
/sys/bus/usb/devices/3-3/power/wakeup:enabled
/sys/bus/usb/devices/3-4.4/power/wakeup:disabled
/sys/bus/usb/devices/3-4/power/wakeup:disabled
/sys/bus/usb/devices/4-4/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
/sys/bus/usb/devices/usb4/power/wakeup:disabled

В моем случае просыпаются, только включен для USB-устройства 3-3, что, согласно предыдущему списку, "Провод Оптическая Мышь".

я хочу включить, просыпаются от, приостанавливают только за беспроводную клавиатуру и отключают его для остальных. Клавиатура получатель USB подключен к КОНЦЕНТРАТОРУ и соответствует 3-4.4 в предыдущем списке ("Получатель USB").


3. Создайте сценарий, который делает работу:

, Чтобы иметь корневые полномочия:

sudo su

Затем мы создаем файл для сценария (файл можно назвать "usbwakeup" или безотносительно описательный, Вы хотите):

nano /etc/init.d/usbwakeup 

Содержание файла. Просто адаптируйте его к своим потребностям путем изменения раздела "SCRIPT ACTIONS" (мне нравится добавлять комментарии к сценариям для знания то, что они на самом деле делают, если я открываю их снова когда-нибудь):

#! / bin / bash
#
#######################
# GENERAL INFORMATION #
#######################
#
# - This script enables / disables wake up from suspend# for USB devices.
#
# - The script needs execution permissions.
#
# - For this script to be executed when the system starts, there must be
#   a symbolic link to it in /etc/rc3.d/ with priority S01
#   (for example: /etc/rc3.d/S01usbwakeup)
#
###########################
# RELATED USEFUL COMMANDS #
###########################
#
# - Identify USB devices:
#   grep . /sys/bus/usb/devices/*/product
#
# - Check the status of "wake up of the suspension" of USB devices:
#   grep . /sys/bus/usb/devices/*/power/wakeup
#
#
##################
# SCRIPT ACTIONS #
##################
#
# Disables wake up from suspend for optical mouse
echo disabled > /sys/bus/usb/devices/3-3/power/wakeup
#
# Enables wake up from suspend for the wireless keyboard
that I have connected to a USB 3.0 HUB in the USB port nr.4
echo enabled > /sys/bus/usb/devices/3-4.4/power/wakeup


4. Дайте ему полномочия выполнения:

chmod +x /etc/init.d/usbwakeup


5. Создайте символьную ссылку в/etc/rc3.d/для него для запуска на, загрузитесь:

sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup


перезапуском система все должно работать, как указано в сценарии. Изменения будут персистентными, поскольку они будут выполняться с каждой начальной загрузкой системы.

Sources, с которым консультируются (независимо этого сообщения):

https://ubuntuforums.org/showthread.php? t=2388336

https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep /

https://unix.stackexchange.com/questions/83748/the-rc0-d-rc1-d-directories-in-etc

1
ответ дан 23 November 2019 в 02:19

Ответ Pavlos Theodorou очень полезен. Я хотел бы добавить, что можно найти USB-устройство, что мышь/клавиатура подключена с при начальной загрузке путем передачи по каналу dmesg через grep пару раз, затем egrep однажды, и наконец использования хвоста, чтобы удостовериться, что это была новая запись.

Используя этот метод, Вы не должны включать след на ВСЕХ 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. Мой сценарий следующим образом, снова substite Ваша клавиатура/мышь 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

По некоторым причинам я не могу объяснить, сон 'сообщения', если оператор только работает любое пробуждение..., но 'пред' сон, если оператор, кажется, работает каждый раз.

2
ответ дан 23 November 2019 в 02:19

Другие вопросы по тегам:

Похожие вопросы: