Comment 29 for bug 393008

Revision history for this message
Chris B (billington-chris) wrote :

Although the issues here are grouped together, it may be that there are a variety of causes. The common factor is that battery state and rate are not correctly reported.

Some possible scenarios are:

If the values in /proc and /sys show state but do not give the rate figure, then the likely cause is a broken DSDT in BIOS. I have a laptop that does this- the DSDT needed to be changed to read the rate values. Other batteries/DSDT may be broken in other ways.

Some batteries do are not read correctly by Devkit-Power, however. I had a battery that contained binary rubbish in one of the fields read by acpi, and this caused devkit-power-daemon to quit (leading to a long 'last update' figure.) You can check for this by killing all running instances of devkit-power-daemon, then running /usr/lib/devicekit-power/devekit-power-daemon -v and watching the output.

My battery issues were resolved by compiling a custom DSDT into the kernel. This is the only way to use a custom DSDT at present on Karmic. Subsequently, the binary rubbish issue was fixed in Devicekit-power, and when the package arrives in the repos. I expect to be able to revert to a standard kernel.

In my experience on about 6 machines, battery/ac adapter problems have all been caused by a broken or badly written DSDT in the BIOS.