zed.0xff.me

ibm x40 и китайская батарейка

Есть у меня довольно старенький ноут ibm x40. Бывает и старее, конечно :). Купил я его в 2005 году, проц там Pentium-M 1.4GHz, памяти добил до 1.5G, винт всего на 40 гигов.

Какое-то время назад родная батарейка (на 1.1Ah кажется) совсем устала, и ее стало хватать максимум минут на 15. И заказал я на ебэе неродную китайскую батарейку аж на 4400mAh !! :)

Батарейка вскоре пришла, ожидания мои оправдались на 100% – ее хватало на часа на 4 точно, а при желании можно было и до шести растянуть :)

Но! Но так как батарейку делали не суровые IBM-щики, а полуподпольные noname-китайцы – то есть в ней некоторый неприятный глюк – ноут практически никогда не успевает отследить момент когда заряд заканчивается – напряжение падает – и ноут, даже не пискнув, отключается.. я пробовал ставить warning-и на 25% и на 30% (в КДЕ-шных настройках питания) – всё равно момент не ловится..

И вот собрал на коленке следующий скрипт для отслеживания уровня батарейки:

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
grep -wq discharging /proc/acpi/battery/BAT0/state
if [ $? = 0 ]; then
        # discharging
        echo -n "`date` :: " >> /var/log/battery.log
        grep -oE "[0-9]+ .*" /proc/acpi/battery/BAT0/state | xargs >> /var/log/battery.log
else
        # charging / charged
        true
fi

скрипт запускаем кроном каждые 5 минут.

в /etc/conf.d/local.start (скрипт, исполняемый в gentoo при стартапе) добавляем следующее:

1
echo "============== STARTUP =============" >> /var/log/battery.log

в /etc/conf.d/local.stop (скрипт, исполняемый в gentoo при шатдауне) добавляем следующее:

1
echo "============== SHUTDOWN ============" >> /var/log/battery.log

таким образом, в логе видим остаток батареи, а так же маркеры [не]преднамеренного шатдауна системы. например, когда батарейка дропнула своё напряжение – то в логе будет только строчка STARTUP, т.к. шатдаун был аварийным.

лог выглядит вот так:

1
2
3
4
Wed Jul  1 20:40:01 YEKST 2009 :: 12115 mW 66880 mWh 16461 mV
Wed Jul  1 20:45:01 YEKST 2009 :: 11701 mW 65970 mWh 16389 mV
Wed Jul  1 20:50:01 YEKST 2009 :: 12177 mW 65070 mWh 16324 mV
Wed Jul  1 20:55:01 YEKST 2009 :: 11675 mW 64200 mWh 16284 mV

продолжение следует..