I don’t know exactly when this started (I’d say since I upgraded to GNOME 42), but from time to time the indicator of battery percentage on the panel (or dash to panel) “freezes” and stops updating.
Now, for example, although my battery is charging (as
acpi correctly shows), the indicator is frozen at the value of when I plugged my charger.
But it doesn’t happen only when charging. Sometimes when discharging as well. The main problem is that I haven’t found a way to reset the indicator and synchronize it again. Any ideas?
Hi! Maybe this can workaround your problem.
O have (apparently) the same problem in my laptop. I wrote the following script to workaround the problem when that happens:
## Workaround to force updating the battery charge status
## when it stops updating and gets stuck.
## Created: don't remember
## Last modified: 2020-04-02
## By: Luís Coimbra
## Depends on: acpi
OUTPUT=$(acpi) # stuck output
## Unlock the battery status and show the output
Thanks, but it doesn’t work for me, as acpi isn’t the problem. Acpi correctly displays the percentage when it’s run. The panel probably reads the battery status from somewhere else.
The battery value is updated when the charger is plugged or unplugged.
Same problem here, any suggestion to fix my problem?
ACPI is showing an accurate percentage, but the battery widget is stuck at a random value from previous shutdown. Also, while charging the laptop, battery indicator works fine
I think I got a little bit closer to the solution. The battery indicator probably reads the percentage from
upower -i /org/freedesktop/UPower/devices/battery_BAT0
which in my case doesn’t show the correct value. Right now, for instance,
acpi shows 55% while
upower -i /org/freedesktop/UPower/devices/battery_BAT0 is stuck at 64% (and will probably remain so until I plug in the charger).
So the problem to be fixed, apparently, is the value at
/org/freedesktop/UPower/devices/battery_BAT0 not being updated.
Some more info. The command that should force
upower to refresh the battery status
busctl call --system org.freedesktop.UPower /org/freedesktop/UPower/devices/battery_BAT0 org.freedesktop.UPower.Device Refresh
returns an error:
Call failed: Method Refresh is not implemented on interface org.freedesktop.UPower.Device
my battery is charging, KDE can display it, but
acpi does not recognize.
Battery 0: Not charging, 97%
ID-1: BAT0 charge: 53.5 Wh (97.8%) condition: 54.7/54.7 Wh (100.0%)
volts: 17.1 min: 15.4 model: Sunwoda 5B10W51820 type: Li-poly
serial: <filter> status: not charging cycles: 127
No, what you show is that KDE shows the same as acpi (
status: not charging). In this case, this is different from the issues reported by previous users. Previous users report
acpi gets it right, but DE doesn’t. You should try the solution I suggested earlier.
I have the same problem. I ran the command “upower --monitor” and nothing was displayed. I figured out that restarting upower.service fixes the problem.
sudo systemctl restart upower.service
I do not know why the service has to be restarted when resuming from suspend.
I’ll test your solution when the problem occurs and let you know. Thanks.