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.
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.