Comment 42 for bug 403303

Revision history for this message
Scott Howard (showard314) wrote :

Thanks for the workarounds. There have been lots of new comments, so I want to repeat the summary of what we think the root of the problem is.

"surreal wrote on 2009-11-18: #11

I have done some research on this problem and come across an informative discussion on this problem on a Debian-related mailing list:
http://<email address hidden>/msg01135.html
What I got from this is:
The Eee pc's battery does not adhere to ACPI standards in reporting its capacity, returning a percentage in a field which is specified as having the unit mAh. Linux (ACPI driver, I guess) exports the percentage value of capacity in mAh in /proc/acpi/battery (and possibly elsewhere), which leads into problems in anything that uses it.
So where should this be fixed? Given that this has slim chance of happening in Eee pc's BIOS and no chance of everyone even upgrading to that unlikely new BIOS version, I would say the next best place would be just one step up the ladder -- in Linux ACPI driver -- because if this would be fixed (only) in devicekit-power, other processes that don't rely on dk-p, e.g. manually cat'ing /proc/acpi/battery/BAT0/info, would still return erroneous results."

Bottom line: some eee pcs does not report battery information in the proper format. The correct place to fix this is in the eee pc bios (which Asus has done in newer models). Make sure your BIOS is up to date. The battery information is sent by the EC (embedded controller), and I saw many EC firmware updates in Asus's official BIOS updates. If the BIOS updates do not work, the next best place is in the Linux Kernel ACPI driver. Reading through mailing list archives, it appears that the hardware in earlier eee pcs had lots of ACPI bugs. For example, see [1].

[1] http://wiki.debian.org/DebianEeePC/HowTo/Configure#Board.2CBIOS.2CACPI.28eeepclaptop.29 On some models, the battery info is not very precise (jumps from 10% to 100%, no rate information, etc.). Apparently, this is normal. It appears that the userspace battery utilities expect the battery to report mAh, but in fact it reports percentage. This is either a bug in the battery firmware or a bug in the BIOS; it is known to be fixed with newer BIOS versions and kernels ≥ 2.6.25.