Banana Pi M2 +: выполнение скрипта при нажатии кнопки питания через udev не работает - PullRequest
0 голосов
/ 13 декабря 2018

следующая ситуация: я хочу выполнить скрипт, когда была нажата кнопка питания Banana PI M2 + (Debian Jessie, Kernel 3.4.11-sun8i).

Я получил его, чтобы выключитьустройство со следующим правилом udev:

SUBSYSTEM=="input", KERNEL=="event1", ATTRS{name}=="sunxi-gpiokey", ATTRS{phys}=="sunxikbd/input0", TAG+="power-switch

Я нажал кнопку, и устройство выключилось.

Но это не работает:

SUBSYSTEM=="input", KERNEL=="event1", ATTRS{name}=="sunxi-gpiokey",ATTRS{phys}=="sunxikbd/input0", RUN+="/bin/touch /aa1"

КогдаЯ нажимаю кнопку, ничего не происходит (также нет сообщений в системном журнале).

Но, если я выполню udevadm trigger, команда прикосновения будет выполнена, то есть файл / aa1 существует.

Я не уверен, точно ли я знаю, что делает udevadm trigger.На мой взгляд, он обновляет (все?) События coldplug, то есть для всех устройств, которые уже подключены во время загрузки, например кнопка питания.

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

Я ценю любой намек.Большое спасибо.

Дополнительная информация:

udevadm monitor не печатает событие, когда я нажимаю кнопку питания.evtest делает:

Event: time 1544689172.056961, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1544689172.056984, -------------- EV_SYN ------------
Event: time 1544689172.163471, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1544689172.163478, -------------- EV_SYN ------------

uname -a:

Linux host1 3.4.113-sun8i #2 SMP PREEMPT Fri Sep 29 10:11:27 CEST 2017 armv7l GNU/Linux

udevadm test $(udevadm info -q path -n /dev/input/event1) указывает на то, что сенсорная команда будет выполнена.

...