LINUX.ORG.RU

Выполнить действия при установке ноутбука на зарядку

 


0

1

Добрый день всем. В чем суть: Надо настроить контроллер заряда AXP288C через i2c. При постановке на зарядку эти параметры слетают. И каждые 5 минут просто по расписанию эти параметры настраивать тоже нежелательно. В идеале надо как-то отследить именно факт постановки на зарядку и выполнить после этого скрипт. Можно конечно через эти же регистры контроллера или через /sys/power/где-то-там отслеживать бит установки на зарядку, но это менее красиво: надо как-то хранить прошлое состояние, постоянно и часто дергать контроллер для проверки. Может есть уже какое-то готовое решение, чтобы система реагировала именно «сама» на подключение зарядного устройства? Ах да, дистрибутив РедОС 8, так вышло :)

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

Да.

KERNEL[2788.691070] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_charger/power_supply/axp288_charger (power_supply)
KERNEL[2788.691562] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_fuel_gauge/power_supply/axp288_fuel_gauge (power_supply)
UDEV  [2789.177520] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_fuel_gauge/power_supply/axp288_fuel_gauge (power_supply)
UDEV  [2789.459775] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_charger/power_supply/axp288_charger (power_supply)
KERNEL[2790.482222] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_charger/power_supply/axp288_charger (power_supply)
KERNEL[2790.482446] change   /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_fuel_gauge/power_supply/axp288_fuel_gauge (power_supply)
Deepdig
() автор топика
Ответ на: комментарий от anonymous

Интересно, сделал правило:

SUBSYSTEM=="power_supply",ATTR{online}=="1",RUN+="/bin/echo 'testcharger' >> /home/admin/test"

И при команде udevadm test /devices/pci0000:00/808622C1:05/i2c-6/i2c-INT33F4:00/axp288_charger/power_supply/axp288_charger среди вывода при подключенной зарядке получаю:

run: '/bin/echo 'testcharger' >> /home/admin/test'

Но по факту ничего не происходит.

Неужто надо сервис городить ради этого? (

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

RUN - это не sh/bash, и не понимает пайпы и перенаправления ввода вывода | < > << >>, и прочие шелл-команды.

Или вызывай bash -c "шелл команды", или напиши отдельный исполняемый скрипт с шебангом.

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

ATTR{online}

Это свойство блока питания, этого свойства нет для батареи. Это правило будет тригериться при его работе вне зависимости что происходит с батарей: заряжается, разряжается, присутствует, отсутствует, или вообще не работает.

anonymous
()

Лучше установи какую-то разновидность Ubuntu. Во-первых, новее,поддержка и прочее.Я бы не стал ставить ред ос по многим причинам.Они позицинируют себя как российская разработка, что откровенно говоря «не правда». На самом деле таких «российских разработок» среди дистрюбутивов не меренное количество. сron тебе в помощь.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 2)