LINUX.ORG.RU

Обработка события низкого заряда батареи

 , , , ,


1

2

Есть thinkpad x220. Раньше крутился на нём cpufreqd и при падении уровня заряда батареи до 3% проводил гибернацию. cpufreqd в целом справлялся с задачей, но во-первых, бывало падал или начинал жрать 100% проца, во-вторых, как-то не для этого сам демон предназначен.

Так или иначе, cpufreqd выпилили из генты нынче, перенёс весь функционал что он раньше делал на acpid окромя сабжа. В acpi события такого не приходит (только перешёл на батарею или ушёл с оной). Надо, судя по всему, какой-то демон пущать.

Так что вопрос - кто чем отлавливает это? Я вижу вариант таки вернуть cpufreqd или запилить bash-трёхстрочник. Оба не радуют.


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

Я посмотрел вчера, он столько лишнего тянет... Ради одной моей задачи заводить 50 конфигов в системе как-то тоже не радует...

xusrol
() автор топика

Погуглил сейчас, есть некий acpi sbs драйвер. Он thinkpad-ы умеет?

xusrol
() автор топика

Раньше крутился на нём cpufreqd

Сабж давно не поддерживается, и его выпилили в пользу cpupower

┌─[vonavi@desktop] - [~/tmp] - [Ср июл 16, 14:47]
└─[$] <> eix cpupower
[I] sys-power/cpupower
     Available versions:  3.13 ~3.14 ~3.15 {cpufreq_bench debug nls}
     Installed versions:  3.13(13:26:15 06.04.2014)(nls -cpufreq_bench -debug)
     Homepage:            http://www.kernel.org/
     Description:         Shows and sets processor power related values

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

Пили трёхстрочник на баше и цепляй его к удаву, на событие change батареи. Как-то так. У меня upower стоит, но он какой-то идиотский в духе GNOME3 (захардкоженное действие на 5% батареи).

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

Пили трёхстрочник на баше и цепляй его к удаву, на событие change батареи.

К какому удаву? В acpi нет события «смена заряда», есть только на батарее/на БП.

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

к udev.

ACTION=="change", SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="10", RUN+="<whatever>"

Но, как выясняется, не все конфигурации генерят change-событие при смене процента заряда батареи. Если у тебя это так, тогда делай опрос батареи вручную, через периодический запуск скрипта в cron. Заряд батареи в процентах можно узнать здесь: /sys/class/power_supply/BAT0/percentage (вместо BAT0 может быть что-то другое, проверь).

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

Можно еще, как вариант, ловить dbus сообщение от UPower.

liaonau
()
Ответ на: комментарий от intelfx

Хм, udev не щупал, проверю. Спасибо за предложение.

xusrol
() автор топика

В итоге послушал udev, событие приходит при падении заряда ниже 5%, видимо тоже захардкожено в биос, как говорил оратор выше. Вопрос решён, всем спасибо.

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

что не делает cpufreqd менее ненужным

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

попробуй одолжить мозг где-нибудь

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.