Я годинами, а може й більше, шукав рішення, і я просто знайшов його. Я хочу поділитися цим з усіма. Таким чином, буде легше гуглати цю проблему, щоб швидше знайти рішення. Отже, так, як говорить заголовок, нижче - рішення.
Я годинами, а може й більше, шукав рішення, і я просто знайшов його. Я хочу поділитися цим з усіма. Таким чином, буде легше гуглати цю проблему, щоб швидше знайти рішення. Отже, так, як говорить заголовок, нижче - рішення.
Відповіді:
попадання в термінал:
grep . /sys/bus/usb/devices/*/power/wakeup
Результатом для мене було з’ясувати, що всі usb були відключені. Отже, зараз введіть:
1.
sudo su
тепер у нас є кореневі привілеї.
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 та миші, щоб прокинутися від призупинення.
Я сподіваюся, що це працює для всіх вас. Цей посібник був зроблений після тестування всіх інших можливих рішень в Інтернеті.
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 для мене - моя бездротова клавіатура (ви також можете бачити, що на скріншоті (Bus 008)) замініть її на власну.
Ctrl+ Oдля збереження, Ctrl+ Xдля виходу та перезавантаження.
Відповідь Павлоса Теодору дуже корисна. Я хотів би додати, що ви можете знайти usb-пристрій, до якого під час завантаження підключена ваша миша / клавіатура, пару разів пропускаючи dmesg через grep , потім клацайте один раз і, нарешті, використовуючи хвіст, щоб переконатися, що це був останній час запис.
Використовуючи цей метод, вам не потрібно включати пробудження ВСІ" порти 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. Мій сценарій такий, знову підставте ваш клавіатурний / мишачий стихій з 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
З якоїсь причини я не можу пояснити, "після" сну, якщо заява працює лише на будь-яке інше пробудження ... але "перед" сном, якщо вислів, здається, працює кожен раз.
Жодна з вищезгаданих відповідей мені не допомогла. Тому я розміщую тут свою власну.
Тестовано в KDE неону 5.16.2, заснованому на Ubuntu 18.04, але має працювати в будь-якому дистрибутиві.
grep . /sys/bus/usb/devices/*/product
ви повинні отримати щось подібне:
/ sys / автобус / usb / пристрої / 3-3 / продукт: Cord Optical Mouse /sys/bus/usb/devices/3-4.3/product:802.11n адаптер WLAN /sys/bus/usb/devices/3-4.4/product:USB приймач /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
греп. / 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 / bus / usb / devices / usb1 / power / wakeup: відключено / sys / bus / usb / devices / usb2 / power / wakeup: відключено / sys / bus / usb / devices / usb3 / power / wakeup: відключено / sys / bus / usb / devices / usb4 / power / wakeup: відключено
У моєму випадку будильник увімкнено лише для USB-пристроїв 3-3, який, згідно з попереднім списком, є "Оптична миша для шнура".
Я хочу ввімкнути пробудження від призупинення лише для бездротової клавіатури та відключити його на відпочинок. USB-приймач клавіатури підключений до концентратора та відповідає 3-4.4 у попередньому списку ("USB приймач").
Щоб мати root права:
sudo su
Потім ми створюємо файл для сценарію (файл можна назвати "usbwakeup" або будь-який описовий ви хочете):
nano /etc/init.d/usbwakeup
Зміст файлу. Просто адаптуйте це до своїх потреб, змінивши розділ "СКРИПТІ ДІЇ" (мені подобається додавати коментарі до сценаріїв, щоб знати, що вони насправді роблять, якщо я знову відкрию їх колись):
#! / бін / баш # ########################################## # ЗАГАЛЬНА ІНФОРМАЦІЯ # ########################################## # # - Цей скрипт дозволяє / відключає пробудження з призупинення # для пристроїв USB. # # - Сценарію потрібні дозволи на виконання. # # - Щоб цей скрипт виконувався при запуску системи, він повинен бути # символічне посилання на нього в /etc/rc3.d/ з пріоритетом S01 # (наприклад: /etc/rc3.d/S01usbwakeup) # ############################# # ПОВ'ЯЗАНІ КОРИСНІ КОМАНДИ # ############################# # # - Визначте пристрої USB: # греп. / sys / автобус / usb / пристрої / * / продукт # # - Перевірте стан USB "пристроїв": # греп. / sys / автобус / usb / пристрої / * / живлення / пробудження # # ################### # СКРИПТИ ДІЇ # ################### # # Відключає пробудження від зупинки для оптичної миші ехо відключено> / sys / автобус / usb / пристрої / 3-3 / живлення / пробудження # # Увімкнення пробудження від призупинення роботи бездротової клавіатури що я підключився до USB 3.0 HUB в порту USB №4 echo увімкнено> /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
за текстовим описом.