LINUX.ORG.RU

Компьютер сразу просыпается при засыпании

 , ,


0

2

Путем долгих мозговых штурмов просмотрел выхлоп kacpimon. Показал что после сигнала засыпания приходит сигная пробуждения. После просмотра логов evtest оказалось, что приходит с кнопки питания на корпусе(или драйвер что-то галлюцинирует), причем два раза подряд(!!!). В логах сигнал называется KEY_WAKEUP.

Как отправляю в спящий режим: специальной кнопкой засыпания на клавиатуре и через меню в Log out. Пробовал кнопку включения на корпусе - в evtest показывает двойной KEY_POWER. Лог с нажатия кнопки на корпусе:

Event: time 1793473956.018887, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1793473956.018887, -------------- SYN_REPORT ------------
Event: time 1793473956.018898, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1793473956.018898, -------------- SYN_REPORT ------------
Event: time 1793473964.270848, type 1 (EV_KEY), code 143 (KEY_WAKEUP), value 1
Event: time 1793473964.270848, -------------- SYN_REPORT ------------
Event: time 1793473964.270849, type 1 (EV_KEY), code 143 (KEY_WAKEUP), value 0
Event: time 1793473964.270849, -------------- SYN_REPORT ------------

OS - Devuan Excalibur(вчера на нее обновился с Chimaera 4.0) с XFCE. Грузится в легаси режиме - внезапно пришлось менять железо и неохота заниматься с uefi.

Обновление.

Проблема присутствует на Excalibur изначально, Chimaera на новом железе не проверял, сразу обновился.

Что делать, куда ещё смотреть, как сделать сон спокойным и ровным?

★★

Последнее исправление: zanac1 (всего исправлений: 1)
Ответ на: комментарий от firkax

Я не знаю из-за чего проблема. Варианта 2 - либо железо, либо софт. Пробовал отключить обработку событий от кнопки питания по совету ИИ - не помогает.

zanac1 ★★
() автор топика
Ответ на: комментарий от zanac1

Запретить wakeup от этой кнопы? Это костыль, конечно, но всё же. Мне пришлось так с клавой когда-то поступить, так как она будила комп из-за скачков напряжения.

papin-aziat ★★★★★
()

Грузится в легаси режиме

внезапно пришлось менять железо

неохота заниматься с uefi

Что делать

Убрать руки от компьютера и выключать кнопкой

cobold ★★★★★
()
Ответ на: комментарий от papin-aziat

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

newpson
()
Ответ на: комментарий от papin-aziat

Запретить wakeup от этой кнопы

Как именно?

Это костыль, конечно

Абы сработало. Не первый и не последний костыль… Лучше чем постоянно запускать комп, запускать программы и тд.

zanac1 ★★
() автор топика

Что делать

Временно поставить винду, посмотреть что все работает (показать тут пруфы), вернуться в линукс и читать комментарии.

anonymous
()
Ответ на: комментарий от Jurik_Phys

А что смотреть?

Мне он очень бы помог, когда grub сломался при обновлении на Excalibur…

zanac1 ★★
() автор топика

Я усыплял скриптом. В цикле засекал время перед усыплением, отправлял в сон, после пробуждения снова смотрел время и если разница между пробуждением и засыпанием была менее 5 секунд - повторял цикл снова.

В какой-то момент, возможно после одного из обновлений глюк с немедленным пробуждением пофиксили и необходимость в скрипте отпала.

Chord ★★★★★
()

Отключи ивенты (чтобы ничто не мешало), потыкай в KEY_POWER/KEY_WAKEUP и посмотри как они себя ведут при нажатии через тот же evtest. Для чистоты эксперимента можно попробовать другие низкоуровневые штуки (но под Linux их немного).

И да, теги BIOS+UEFI тут не особо к месту. Пробуждает железку ядро.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)

Была такая же проблема у меня на ноуте. А ну-ка быстро sudo systemctl -b 0 -p 3!!

chebo7
()
Ответ на: комментарий от zanac1

На примере моего компа.

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

grep -l enabled /sys/class/wakeup/*/device/power/wakeup
/sys/class/wakeup/wakeup1/device/power/wakeup
/sys/class/wakeup/wakeup8/device/power/wakeup
/sys/class/wakeup/wakeup15/device/power/wakeup
/sys/class/wakeup/wakeup16/device/power/wakeup
/sys/class/wakeup/wakeup17/device/power/wakeup
/sys/class/wakeup/wakeup18/device/power/wakeup
/sys/class/wakeup/wakeup20/device/power/wakeup
/sys/class/wakeup/wakeup21/device/power/wakeup
/sys/class/wakeup/wakeup22/device/power/wakeup

Выключай/включай по одному и проверяй. Работает на лету, так что выключай и в сон, и если получил нужный результат — это оно. Если что-то пошло не так, то тупо перезагрузи комп.

Выключить:

echo disabled | sudo tee /sys/class/wakeup/wakeup8/device/power/wakeup

Включить:

echo enabled | sudo tee /sys/class/wakeup/wakeup8/device/power/wakeup

Если среди этих девайсов не обнаружен злодей, то придётся перебрать все возможные или тогда уже наверное будет быстрее почитать логи.

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

papin-aziat ★★★★★
()
Ответ на: комментарий от newpson

Да, моя клава тоже реагирует, когда я раздеваюсь в комнате с компом 😊

Запрети через udev будить комп именно этой беспроводной клавиатуре.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Злодей найден с помощью kacpimon+evtest - приходит сигнал KEY_WAKEUP с кнопки питания или его драйвера.

поговорить с ИИ

Наговорился уже. kacpimon попался на глаза в Synaptic, a evtest таки ИИ подсказал.

zanac1 ★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария