[РЕШЕНО] запретить ноутбуку выходить из ждущего режима по нажатию любой кнопки

cucullus
:))
хаха

придётся Вам ещё и ознакомиться с тем, что такое /proc

Не настолько я плох, уже был ознакомлен и ранее пользовательскими скриптами для управления батарейкой туда скармливал нули и единицы. Однако допускал, что и простое редактирование в редакторе прокатит, но не прокатило.
Кстати, а кнопка Pwr - это тоже хорошая идея, разрешить просыпание только от нее, пока не понимаю, как опознать\выделить конкретно ее.
Покамест все, что нашел в сети, это обратная задача - как заставить просыпаться, и делается в виде примерно echo USB1 > /proc/acpi/wakeup. А мне надо enable превратить в disable.

Пошел курить http://www.linuks.lt/blog/ru/index.php/2012-11-03-linux-disable-wake-on-usb-keyboard
Пока пошел таким путем -

1. смотрим вывод

cat /proc/acpi/wakeup
Device	S-state	  Status   Sysfs node
P0P2	  S3	*disabled
EC	  S3	*disabled
HDEF	  S3	*disabled  pci:0000:00:1b.0
RP01	  S3	*disabled  pci:0000:00:1c.0
RP02	  S3	*disabled  pci:0000:00:1c.1
RP03	  S3	*disabled  pci:0000:00:1c.2
ARPT	  S4	*disabled  pci:0000:03:00.0
RP05	  S3	*disabled  pci:0000:00:1c.4
RP06	  S3	*disabled  pci:0000:00:1c.5
SPIT	  S3	*disabled
XHC1	  S3	*disabled  pci:0000:00:14.0
ADP1	  S3	*enabled   platform:ACPI0003:00
LID0	  S3	*enabled

Высказываем гипотезу, что искомый нами "поднятие крышки\экрана" это LID0, соотв. ставим задачу сделать все остальное disable, реализуем -

2. Пилим смотреть в /sys/devices где лежат (пути) искомые файлы power/wakeup, например
platform:ACPI0003:00
/sys/devices/platform/ACPI0003:00/power/

3. скармливаем команды вида
echo disabled > /sys/devices/pci0000\:00/0000\:00\:14.0/power/wakeup
echo disabled > /sys/devices/platform/ACPI0003\:00\:14.0/power/wakeup

4. любуемся на результат -

cat /proc/acpi/wakeup
Device	S-state	  Status   Sysfs node
P0P2	  S3	*disabled
EC	  S3	*disabled
HDEF	  S3	*disabled  pci:0000:00:1b.0
RP01	  S3	*disabled  pci:0000:00:1c.0
RP02	  S3	*disabled  pci:0000:00:1c.1
RP03	  S3	*disabled  pci:0000:00:1c.2
ARPT	  S4	*disabled  pci:0000:03:00.0
RP05	  S3	*disabled  pci:0000:00:1c.4
RP06	  S3	*disabled  pci:0000:00:1c.5
SPIT	  S3	*disabled
XHC1	  S3	*disabled  pci:0000:00:14.0
ADP1	  S3	*disabled  platform:ACPI0003:00
LID0	  S3	*enabled

Однако вцелом почти зачет - просыпается только от открытия крышки и (или) от нажатия кнопки питания.

Однако после перезагрузки все как было. Т.е. запись в /sys/devices не вариант.
wau
..............после перезагрузки все как было. Т.е. запись в /sys/devices не вариант.
А так и должно быть - чтобы сделать на постоянку необходимо системе скармливать скрипт при запуске.
Ошибки не исчезают с опытом - они просто умнеют
Надо опять писать скрипт, все источники ссылаются на известный init.d, который у нас выпилен systemd. Неужели нет варианта, кроме как создание юнита?
Вариантов несколько - простые, но не красивые - сложные и др.
Начни с самого простого - добавь в автозапуск.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Вариантов несколько - простые, но не красивые - сложные и др.
Начни с самого простого - добавь в автозапуск.

Я бы с радостью, но пока не вкурил, как - все находимые мною мануалы адресуют к init.d, коим я пользовался во времена убунты и, возможно, деба, но с внедрением systemd как-то целостность мануалов сисльно пострадала. Покамест пишу юнит на пользовательский скрипт. Но буду признателен за "ткнуть носом в актуальный мануал на тему "добавить в автозапуск"
Написал юнит -

[Unit]
Description=WAU nastroiki
[Service]
ExecStart=/usr/bin/wau
[Install]
WantedBy=multi-user.target

сделал скрипт

#!/bin/sh
#MID2013
echo disabled > /sys/devices/pci0000\:00/0000\:00\:14.0/power/wakeup
echo disabled > /sys/devices/platform/ACPI0003\:00\:14.0/power/wakeup
засунул скрипт куда решил, права выставлены, прописал сервис и запустил его

cp wau /etc/bin
cp wau.service /usr/lib/systemd/system/
systemctl enable wau
systemctl start wau

Все получилось.
 
Зарегистрироваться или войдите чтобы оставить сообщение.