Ubuntu – The battery indicator& Power setting panel shows wrong battery state

12.04batteryindicator

My laptop is Thinkpad E420 with Ubuntu 12.04 64-bit installed, the kernel version is 3.2.0-33-generic.
I have set the battery threshold as 60% via windows7. It seems that the threshold auto effected in Ubuntu.
However, there are some problems of the battery indicator's state.

I'll list some information of the battery state as following:
(Note that in terminal ubuntu says that battery charging state is charged, while the power setting panel shows that the battery state is charging as well as the battery indicator shows.)


$ cat /proc/acpi/battery/BAT0/state 
present:                 yes
capacity state:          ok
*charging state:          charged*
present rate:            0 mW
remaining capacity:      18200 mWh
present voltage:         16103 mV

battery indicator state

enter image description here


Power Setting Panel

enter image description here

Is there any way to fix the problem?

Edit Add some result via **sudo fwts battery – > battery.log
**

3 passed, 4 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.

Test Failure Summary
===============================

Critical failures: NONE

High failures: 2
 battery: Did not detect any ACPI battery events.
 battery: Could not detect ACPI events for battery BAT0.

Medium failures: 1
 battery: Battery BAT0 claims it's charging but no charge is added

Low failures: 1
 battery: System firmware may not support cycle count interface or it reports it incorrectly for battery BAT0.

Other failures: NONE

Test           |Pass |Fail |Abort|Warn |Skip |Info |
---------------+-----+-----+-----+-----+-----+-----+
battery        |    3|    4|     |     |     |     |
---------------+-----+-----+-----+-----+-----+-----+
Total:         |    3|    4|    0|    0|    0|    0|
---------------+-----+-----+-----+-----+-----+-----+

Edit2 According to @Colin Ian King's suggestion, I have run following script.

$ cat /sys/class/power_supply/BAT0/uevent
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Unknown
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=14400000
POWER_SUPPLY_VOLTAGE_NOW=16075000
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=31680000
POWER_SUPPLY_ENERGY_FULL=22050000
POWER_SUPPLY_ENERGY_NOW=17860000
POWER_SUPPLY_MODEL_NAME=LNV-42T4763
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER= 2614

I have taken two photos of the bios in case I have missed something.

enter image description here

enter image description here


The output of acpi -V

future$ acpi -V
Battery 0: Unknown, 89%
Battery 0: design capacity 1947 mAh, last full capacity 1339 mAh = 68%
Adapter 0: on-line
Thermal 0: ok, 31.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 120.0 degrees C
Cooling 0: LCD 3 of 15
Cooling 1: LCD 3 of 15
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

Any help would be appreciated!

Best Answer

Here are no problem it seems.
Soon, power consumption counted by Windows do not point actual state, because Windows is hungry and forced "to be a bit wrong" to user. It's my very subjective opinion.

Hovewer, it is very relativistic question due to very relative nature of an ACTUAL STATE term.

A very many ways exist to explain why for Windows 60% is actual but EQUAL for actuals Ubuntu 82%'s. Most simple is about differences between Windows and Ubuntu paradigms.

update 1

Try to test your environment with fwts :

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable
sudo apt-get update
sudo apt-get install fwts

Read: wiki.ubuntu.com/Kernel/Reference/fwts

update 2

Thus battery.log shows that power ACPI interface disabled.
It means you have first solution for your problem by enabling power interface in BIOS.
Or if this behavior initiated by boot-parameter you need to find correct value.

update 3

Obviously booting parametrization have weight here.
New readings based on updates: UEFIBooting

Most actual parameters (WARNING! Use only correct parameters referred to your config) :

 acpi
 noefi
 acpi_osi
 apm  

Kernel boot parameters Documentation

update 4

Also you can try to test output parameters with acpi program:

sudo apt-get install acpi
acpi -V

Finally all my web surf point to: ThinkPad ACPI Extras Driver

And: Lenovo Diagnostics (Linux Bootable CD).

Related Question