I’ve installed a new battery on my laptop, but to my surprise, the percentage of charge in the battery is at 0. Here’s the upower
diagnostics:
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
serial: 0
power supply: yes
updated: Thursday 11 July 2024 09:54:55 PM (16 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: pending-charge
warning-level: none
energy: 0 Wh
energy-empty: 0 Wh
energy-full: 0 Wh
energy-full-design: 0 Wh
energy-rate: 0 W
charge-cycles: 100
percentage: 0%
technology: lithium-ion
icon-name: 'battery-caution-charging-symbolic'
The “energy-full-design” capacity of the battery should be 70Wh, but here it is, at 0Wh. None of the statistics above (except date and time) have updated, and it’s been two days already. How do I calibrate this battery?
It reads that data direct from the batteries BMS hardware, I don’t think battery calibration has been a thing since NiCD/NiMH days in the 90s and stuff.
I’m not even sure what kind of behavior is this from a battery - it blinks even when I put in the charger, however it has stopped blinking since the time I’ve put in the charger for almost more than a day. But the value is still at zero - and ironically, it does not shut down immediately - maybe after two-five hours? Is the PCB a goner?
Hmm possibly a connector from the battery to motherboard that didn’t fully seat?
Or if it’s an aftermarket battery maybe it doesn’t have the right hardware in it to talk to the computer or something.
Android does some estimations based on battery behaviour to make the percentage display more accurate.
This is just the user facing component, of course, but “50%” doesn’t mean much if the displayed percentages aren’t compensating for an older battery losing the last 25% of its charge in a few minutes because the cells are degraded.
I don’t know if there’s anything like that on desktop Linux, but I certainly wouldn’t say calibration isn’t a thing anymore. It’s just done automatically and hidden from the user.