Title: The life and death of a laptop battery
Tags: english, debian
-Date: 2015-09-24 20:00
+Date: 2015-09-24 16:00
-<p>When I get a new laptop, the battery life time of the lap top at
-the start is OK. But this do not last. I got a feeling that within a
-year, the life time is just a fraction of what it used to be, and it
-slowly become painful to use the laptop without power connected to it.
-Because of this, when I got a new Thinkpad X230 laptop almost two
-years ago, I decided to monitor its state to have more hard facts when
-the battery started to fail.</p>
+<p>When I get a new laptop, the battery life time at the start is OK.
+But this do not last. The last few laptops gave me a feeling that
+within a year, the life time is just a fraction of what it used to be,
+and it slowly become painful to use the laptop without power connected
+all the time. Because of this, when I got a new Thinkpad X230 laptop
+about two years ago, I decided to monitor its battery state to have
+more hard facts when the battery started to fail.</p>
<img src="http://people.skolelinux.org/pere/blog/images/2015-09-24-laptop-battery-graph.png"/>
battery stats ever since. Now my
/var/log/hjemmenett-battery-status.log file contain around 115,000
measurements, from the time the battery was working great until now,
-when it is unable to charge above 7% of original capasity. My
-colletor shell script look like this:</p>
+when it is unable to charge above 7% of original capacity. My
+collector shell script is quite simple and look like this:</p>
<pre>
#!/bin/sh
log_battery() {
# Print complete message in one echo call, to avoid race condition
- # when several log processes run in parallell.
+ # when several log processes run in parallel.
msg=$(printf "%s," $(date +%s); \
for f in $files; do \
printf "%s," $(cat $f); \
</pre>
<p>I wrote a small script to create a graph of the charge development
-over time. This graph depicted above show the slow death of mylaptop
+over time. This graph depicted above show the slow death of my laptop
battery.</p>
<p>But why is this happening? Why are my laptop batteries always
story), which I guess is the option we should have for laptops on
Linux too.</p>
-<p>Is there a way with Linux to tell the battery to stop charging at
-80%, unless requested to charge to 100% once in preparation for a
-longer trip?</p>
+<p>Is there a good and generic way with Linux to tell the battery to
+stop charging at 80%, unless requested to charge to 100% once in
+preparation for a longer trip? I found
+<a href="http://askubuntu.com/questions/34452/how-can-i-limit-battery-charging-to-80-capacity">one
+recipe on askubuntu for Ubuntu to limit charging on Thinkpad to
+80%</a>, but could not get it to work (kernel module refused to
+load).</p>
+
+<p>I wonder why the battery capacity was reported to be more than 100%
+at the start. I also wonder why the "full capacity" increases some
+times, and if it is possible to repeat the process to get the battery
+back to design capacity. And I wonder if the discharge and charge
+speed change over time, or if this stay the same. I did not yet try
+to write a tool to calculate the derivative values of the battery
+level, but suspect some interesting insights might be learned from
+those.</p>
+
+<p>Update 2015-09-24: I got a tip to install the packages
+acpi-call-dkms and tlp (unfortunately missing in Debian stable)
+packages instead of the tp-smapi-dkms package I had tried to use
+initially, and use 'tlp setcharge 40 80' to change when charging start
+and stop. I've done so now, but expect my existing battery is toast
+and need to be replaced. The proposal is unfortunately Thinkpad
+specific.</p>