Як запобігти негайному пробудженню від призупинення та / або сплячки?


35

Протягом кількох днів мій настільний комп'ютер Ubuntu 12.04 загадково прокидався відразу після переходу в режим призупинення.

З моменту встановлення мій портативний комп'ютер Ubuntu 12.10 також відновився відразу після призупинення та сплячки.

Як запобігти цьому?

Відповіді:


35

Ця проблема, ймовірно, була викликана дивними USB-сигналами. gedit /proc/acpi/wakeupпоказав мені, що функцію пробудження було включено для USB0 та USB2.

sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

перемкнув їх на відключені (перевірено gedit /proc/acpi/wakeupповторно або оновлення перегляду файлів) , а після цього комп'ютер зупиняється як слід. :-)


Це рішення для мене не спрацювало. PS2K було ввімкнено (пробудження клавіатури), але його зміна не мала значення.
Брайс

4
У моєму випадку не було пристроїв USB *, схоже, вони були внутрішньо підключені через USB-концентратор: додавання EHC1, EHC2 та XHC до / proc / acpi / wakeup допомогло мені.
Володимир Руцький

2
У моєму випадку це був XHCI для USB 3
Енді

@Bazon, будь ласка, подивіться http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovoі допоможіть мені це зрозуміти
Касун Сіямбалапітия

Для мене відключення IGBEспрацювало
Касун Сіямбалапітія

22

Нещодавно у мене був такий же симптом на Asus Zenbook Pro UX501 на Ubuntu 15.04. Точне виправлення Базона не спрацювало, але змінили Володимира Руцького. Конкретно:

Якщо працює з терміналу, cat /proc/acpi/wakeupвідображаються наступні рядки

EHC1      S3    *enabled  pci:0000:00:xx.x
EHC2      S3    *enabled  pci:0000:00:xx.x
XHC       S3    *enabled  pci:0000:00:xx.x

(адреси pci можуть бути різними)

потім перемкніть ці три на відключені, видавши наступні команди:

sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup

Виконання вище не вирішило мою проблему :(
Kasun Siyambalapitiya

Для мене відключення IGBEспрацювало, вище трьох
Касун Сіямбалапітія,

@ilikerrobots Це не виправляєш назавжди, як це виправити постійно,
Kasun Siyambalapitiya

GLAN швидко перемикається назад на активований. Будь-яка ідея чому?
Альфред М.

Щоб зберегти його, покладіть його у запис, присвячений кроні @reboot. Мені здалося корисним запускати ехо, лише якщо це насправді було включено, поставивши тест у сценарій оболонки так egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeup(мій проблемний пристрій був XHC1 - USB чіпсет).
Девід Шоен

15

Якщо ви знаєте, який пристрій прокидає ваш ПК, перейдіть до першого кроку, щоб слідувати керівництву. Якщо ви цього не зробите, відкрийте термінал і робіть:

cat /var/log/syslog

І знайдіть, який пристрій будить ваш ПК.

Так що тепер:

  1. попадання в термінал:

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

Щоб перелічити всі порти usb, які пробуджують наш ПК.

sudo su

тепер у нас є кореневі привілеї.

2. У мене є 8 портів USB, і в цьому прикладі скажімо, що я хочу відключити usb8, так що:

echo disabled > /sys/bus/usb/devices/usb8/power/wakeup

Вперед і протестуй. Тепер цей конкретний пристрій у порту USB 8 не розбудить ПК.

Наступний крок, щоб зміни були постійними після кожного завантаження:

3.

sudo nano /etc/rc.local

І ми вставляємо команду з кроку 2. Там (перед виходом 0 звичайно).

Це воно.

необов'язково Тільки якщо після сну / пробудження обробляйте пристрій USB 8, у моєму прикладі повертайте його назад до увімкненого.

  1. Напишіть також udevправило для виконання команди після кожного завантаження, сну, прокидання.

Відкрийте термінал і виконайте:

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 disabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 для мене - це моя бездротова клавіатура (ви також можете бачити, що на скріншоті (Bus 008)) замініть її на свою.

Ctrl+ Oдля збереження, Ctrl+ Xдля виходу та перезавантаження.


Спасибі! це виглядає цікаво. Ви не хотіли б додати тут свій посібник (змінивши його, щоб він вирішив конкретну проблему цього питання)
geoffrey

Спасибі. це не зовсім те, що я хотів, але мені довелося вирішити проблему - змінивши файл rc.local (моя проблема не стосується портів USB). Я опублікував власне рішення, але ви отримаєте винагороду (я не можу присудити її завтра),
геофрі

Які безпечні для відключення? Чи зіткнуться я з проблемою, якщо відключу всіх? Єдиним увімкненим для мене є / sys / bus / usb / devices / 1-2 / power / wakeup: увімкнено
Альфред М.

syslog навіть не згадує, що прокидається за комп’ютером
Кен Шарп

5

Щоб виправлення стало постійним

(Я складаю рішення, запропоновані Базоном, Ілікероботами та Павлосом Теодору - вони разом вирішують мою конкретну проблему)

Щоб усунути проблему назавжди, чи це USB-порт, який прокидає систему, або щось інше:

  1. Дізнайтеся, що дозволяється розбудити вашу систему:

gedit / proc / acpi / wakeup

Ви можете отримати ці або подібні рядки:

EHC1 S3 * увімкнено pci: 0000: 00: xx.x

EHC2 S3 * увімкнено pci: 0000: 00: xx.x

Увімкнено XHC S3 * pci: 0000: 00: xx.x

Потім відкрийте:

sudo gedit /etc/rc.local

і додайте ці рядки (або подібні, залежно від результатів вище) раніше exit 0

echo EHC1> / proc / acpi / wakeup

echo EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup


о, я не думав про це. Звичайно, це може бути інший порт, крім usb. Я радий, що ти це вирішив.
Павлос Теодору
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.