[qtmoko] battery level indicator

Jim Morris ml at e4net.com
Sat Sep 26 06:08:35 CEST 2009


Jim Morris wrote:
> It looks like the battery indicator does not work, at least after a suspend, maybe these errors have 
> something to do with it, they appear after coming out of the first suspend, after that the battery 
> always looks full, unless its charging which does indicate.
> 
> [  814.750000] Restarting tasks ... done.
> [  814.870000] bq27000-battery bq27000-battery.0: battery service reschedule failed
> [  817.695000] pcf50633 0-0073: usb curlim to 500 mA
> [ 3254.280000] HDQ error: 1
> [ 3254.295000] HDQ responds again
> [ 3254.435000] power_supply battery: driver failed to report `temp' property
> [ 4977.830000] HDQ error: 1
> [ 4977.845000] HDQ responds again
> [ 5129.840000] HDQ error: 1
> [ 5129.855000] HDQ responds again
> [ 5129.995000] power_supply battery: driver failed to report `temp' property
> [ 5712.895000] HDQ error: 1
> [ 5712.915000] power_supply battery: driver failed to report `voltage_now' property
> [ 5737.910000] HDQ responds again
> [ 6929.315000] HDQ error: 1
> [ 6929.330000] HDQ responds again
> [ 7005.320000] HDQ error: 1
> [ 7005.335000] HDQ responds again
> [ 7005.585000] power_supply battery: driver failed to report `charge_full' property
> [ 7664.260000] HDQ error: 1
> [ 7664.275000] HDQ responds again
> [ 7664.520000] power_supply battery: driver failed to report `charge_full' property
> 

Ok I have done some research, and the above messages do come from the kernel, but may be transient 
errors, and not affecting this bug.

The battery indicator showing full when it should show 75% does not always happen, but after a few 
suspend/resume cycles I can make it happen.

When it does happen I can cat /sys/class/power_supply/battery/capacity
and get the correct answer of 75.

but both the value space /Hardware/Accessories/QPowerSource/DefaultBattery/Charge (which is what the 
battery indicator uses) and the QPowerSource::capacity() calls return 100, which is obviously wrong.

This points to a bug in QtMoko (actually Qt Extended). It is odd because tracing the calls they 
ultimately just read /sys/class/power_supply/battery/capacity, so I suspect the QPowerSource service 
is dying or something like that. I'll continue to track this down, as it is quite a serious bug.

I also got a dialog pop up saying the battery was critically low, when in fact it was at 75%.


-- 
Jim Morris, http://blog.wolfman.com



More information about the community mailing list