No subject
Mikael Hjelm
j_m_hjelm at hotmail.com
Fri Jul 1 08:43:09 PDT 2011
Resending a message i sent before joining the maillist som i am sorry if this becomes a double post.
Ok, i am not sure but i think there is something wrong in the logic around when not to poll the battery anymore.
The
symptoms I experience is that if I have a battery that is fully charged
and disconnect the AC supply in my Acer aspire one. The battery status
never updates in upower.
Running
upower --monitor-detail
Monitoring activity from the power daemon. Press Ctrl+C to cancel.
[21:10:37.083] device changed: /org/freedesktop/UPower/devices/battery_BAT1
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1
vendor: SIMPLO
model: UM08A73
serial: 00A3
power supply: yes
updated: Mon Jun 20 21:10:37 2011 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 12.7539 Wh
energy-empty: 0 Wh
energy-full: 12.7539 Wh
energy-full-design: 24.42 Wh
energy-rate: 0 W
voltage: 12.311 V
percentage: 100%
capacity: 52.2273%
technology: lithium-ion
[21:10:37.093] device changed: /org/freedesktop/UPower/devices/line_power_ACAD
native-path: /sys/devices/LNXSYSTM:00/device:00/ACPI0003:00/power_supply/ACAD
power supply: yes
updated: Mon Jun 20 21:10:37 2011 (0 seconds ago)
has history: no
has statistics: no
line-power
online: no
[21:10:37.552] device changed: /org/freedesktop/UPower/devices/battery_BAT1
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1
vendor: SIMPLO
model: UM08A73
serial: 00A3
power supply: yes
updated: Mon Jun 20 21:10:37 2011 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 12.7539 Wh
energy-empty: 0 Wh
energy-full: 12.7539 Wh
energy-full-design: 24.42 Wh
energy-rate: 0 W
voltage: 12.311 V
percentage: 100%
capacity: 52.2273%
technology: lithium-ion
[21:10:38.787] device changed: /org/freedesktop/UPower/devices/battery_BAT1
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1
vendor: SIMPLO
model: UM08A73
serial: 00A3
power supply: yes
updated: Mon Jun 20 21:10:38 2011 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 12.7539 Wh
energy-empty: 0 Wh
energy-full: 12.7539 Wh
energy-full-design: 24.42 Wh
energy-rate: 0 W
voltage: 12.311 V
percentage: 100%
capacity: 52.2273%
technology: lithium-ion
[21:10:39.778] device changed: /org/freedesktop/UPower/devices/battery_BAT1
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1
vendor: SIMPLO
model: UM08A73
serial: 00A3
power supply: yes
updated: Mon Jun 20 21:10:39 2011 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 12.7539 Wh
energy-empty: 0 Wh
energy-full: 12.7539 Wh
energy-full-design: 24.42 Wh
energy-rate: 0 W
voltage: 12.311 V
percentage: 100%
capacity: 52.2273%
technology: lithium-ion
[21:10:40.795] device changed: /org/freedesktop/UPower/devices/battery_BAT1
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT1
vendor: SIMPLO
model: UM08A73
serial: 00A3
power supply: yes
updated: Mon Jun 20 21:10:40 2011 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: fully-charged
energy: 12.7539 Wh
energy-empty: 0 Wh
energy-full: 12.7539 Wh
energy-full-design: 24.42 Wh
energy-rate: 0 W
voltage: 12.311 V
percentage: 100%
capacity: 52.2273%
technology: lithium-ion
The state does not change from fully charged to discharging until a few seconds later.
This causes the logic to fail when the battery is fully charged in the function
up_device_supply_refresh_battery
the logic is that
/* only disable the polling if the kernel tells us we're fully charged,
not if we've guessed the state to be fully charged */
supply->priv->enable_poll = (state != UP_DEVICE_STATE_FULLY_CHARGED);
so the poll is disabled since the last run through the function is when the battery reports fully charged.
The polling is never reenabled the function setup poll which is run in up_device_supply_refresh
just
exits if the enable_poll is false, which is I feel not the intended
function, considering the comment on the lines before the setup_poll is
called.
/* Seems that we don't get change uevents from the
* kernel on some BIOS types */
I
would like to see a change either in setup_poll to reenable the poll
independent of the enable_poll state, or even resetting it to enabled,
or do not disable the enable_poll unless the state is
UP_DEVICE_STATE_FULLY_CHARGED AND AC power is online.
Hope I
have understood this correctly, there is a bug report on this launchpad
https://bugs.launchpad.net/ubuntu/+source/upower/+bug/467825 where a few
people are affected.
I have tested by simply commenting out the offending line in linux/up-device-supply.c and it works, it takes some 30s but at least the battery status updates after a full charge and unplug.
Best regards Mikael Hjelm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/devkit-devel/attachments/20110701/607504f3/attachment.htm>
More information about the devkit-devel
mailing list