LINUX.ORG.RU

Перехватить кнопку в NAS

 ,


0

2

Hi all! Новичок, поэтому вопрос чайника. В NAS установлен Debian 10. Есть всего одна «железная» кнопка. По команде showkey отзывается как 133. Как этим можно воспользоваться для перезагрузки NAS или реализовать какие-то другие действия?

В NAS установлен Debian 10

КМК лучше все же уточнить, что за железо в NAS. x86, ARM или другое какое-то.
Тогда можно разобрать только одну из нескольких кучек с ответами.
И… чтоб два раза не плясать, можно уточнить, есть ли USB в NAS-е.

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

acpi_listen отвечает: button/copy COPY 00000080 00000000

В папке /etc/acpi/events/ создаю тестовое событие test:

event=button/copy action=/etc/acpi/test.sh

В папке /etc/acpi/ создаю скрипт ответа test.sh:

#!/bin/bash echo «Button presed»

Нажимаю - не работает.

Как-то не так понял процесс ?

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

Как минимум
https://linuxconfig.org/how-to-handle-acpi-events-on-linux
# systemctl enable --now acpid

#!/bin/bash echo «Button presed»

Подсказка: этот echo не напишет вам сообщение на экран, он наверное утонет где-то в логах. Поменяйте на что-то явно воздействующее на систему, создание файла там…

Ещё подсказка: под полем написания сообщения есть кнопка предпросмотра и «Внимание: прочитайте описание разметки Markdown».

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

Ты точно читал первую ссылку?

В файле с описанием события должно быть написано:

event=button/copy COPY 00000080 00000000
action=action=/etc/acpi/actions/test.sh

Сценарий test.sh должен быть исполняемым:

chmod +x /etc/acpi/actions/test.sh
#!/bin/bash
touch /tmp/test.file

Напиши в нем, допустим создание файла, твое echo … ты не увидишь.

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

ARM-Marvell 88F6281.

Я не настоящий сварщик, но насколько понимаю, кнопка(-и) определена в DTS-файле использованном для конфигурирования первичного загрузчика. Т.е. КМК смотреть нужно во внутреннем флеше, а не на флешке с debian-ом. Может i2c или gpio какойто найдется привязанный к кнопке. Как точно посмотреть не знаю, чтото в этом направлении наверно:
cat /proc/mtd
apt show mtd-utils
apt show i2c-tools

Есть 4 USB

Если кнопку не получится заточить под короткое, двойное-тройное, долгое и т.п. нажатия для нужного действия (кстати, в кинетиках так сделано), то можно еще попробовать еще обрабатывать события появления определенного устройства на USB.

А если не секрет, как флешка сделана?

anonymous
()