Battery always report 100% now

I ran the battery to the ground by mistake. The charge status in swaybar never left 99% or 100%. Now it’s back on the charger and the display makes no sense:

upower --dump too reports 100%:

Device: /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  power supply:         yes
  updated:              Sat 18 Oct 2025 01:46:34 AM EEST (16 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               fully-charged
    warning-level:       none
    energy:              72.8775 Wh
    energy-empty:        0 Wh
    energy-full:         72.8775 Wh
    energy-full-design:  49.7646 Wh
    energy-rate:         25.3523 W
    voltage:             27.628 V
    charge-cycles:       N/A
    time to empty:       2.9 hours
    percentage:          100%
    capacity:            100%
    icon-name:          'battery-full-charged-symbolic'
  History (rate):
    1760741194	25.352	fully-charged
    1760741162	13.627	charging
    1760741131	12.769	charging
    1760741099	10.322	charging

And the OLED display shows ???%.

Anything I can do to make this thing somewhat useful?

If you let it on the charger overnight, for example, the OLED should show 100% at some point (it recognizes full charge when there’s not much current going into the cells anymore and most cells are near-full voltages). Then the reporting should be fine again as well.

It’s always on the charger. I only disconnect it every once in a while. I never shows anything other than 100% (sometimes 99%) in the tray, and ???% in the OLED menu even when it’s been off the charger for a while.

Similar problem for me, the OLED menu shows ???% even after leaving it on the charger overnight. In linux it always shows 6%, shows everything in upower even at 0 Wh, state is “pending charge” and does not acknowledges loading. I try to empty the batteries now to see if that does anything?!

OK, sounds like the firmware is not correctly recognizing the 100% state of charge. We might have to tweak the conditions for that a bit in the code. Can you send me the cell voltages and the amps (“A” value) in the OLED menu battery screen when the Reform is turned off, on charger, and doesn’t appear to charge much anymore (i.e. could be considered full)?

am just having the machine not charging when running here at the moment.

Works fine when turned off though

Pre-3.0 Reform Classic motherboard? (i.e. no USB-C)?

yes

with a rcore2. It seems to get to.a.point where it just doesn’t charge until it is powered down

Just an update; flashing the LPC with the reform2-lpc-fw to the newest version solved my issues.

Thanks for the heads-up! I’ll have to try this when I have a minute.

EDIT: Who am I kidding… I flashed the latest LPC firmware from the repo and nothing seems to have changed for me: the OLED display still shows ??? and the desktop icon still says 99%.

I’ll run it on battery for a while: maybe it needs to see a voltage drop, or a full discharge / recharge cycle or something…

For me it took some charging time / running on battery (sorry was not a very structured process) before it worked, maybe try it this way?

Yeah I’m doing a full discharge / charge cycle right now. Let’s see what happens.

Nope. I let the batteries run out, and now it’s totally confused: the OLED display does some while switching between 2.7V and 3.1V voltage on all cells, and -1.-something A and +0.4-something A (I’m assuming it’s switching from charging to discharging every second or something) and the display shows nonsense:

Hmm progress… Now the OLED display says 100%.

And it’s now showing a percentage that’s going down when it’s running on battery.

Funnily enough, upower seems to report the same percentage as the OLED display, but the percentage on the swaybar battery applet icon thing seems to be trailing behind by a couple percents. Either that or it’s trying to be more clever than the system’s own battery management.