Modem draining the battery very fast

From time to time the battery gauge start to decrease at very fast speed emptying the battery in a matter of seconds. I first suspected an issue with the battery, so I switched it with my spare battery. The issue remains and when this happen the phone run out of power in matter of second (when the battery gauge could initially be 40% or 80%).

But when I use the HKS to stop the modem, the draining instantly stops. So I suspect this issue is more related to the modem than the battery it self.

Anyone experimenting the same issue ?

1 Like

Can you post the output of this command?

upower -d | grep energy-full

If energy-full i higher than energy-full-design, the calibration of the battery is off.
I have a drift over a few days that get me to this:

energy-full: 15,2232 Wh
energy-full-design: 13,8572 Wh
energy-full: 15,2232 Wh

If I turn off the phone, remove and reinsert the battery, it turns on and the two are exactly the same.

$ upower -d | grep energy-full
    energy-full:         12,4022 Wh
    energy-full-design:  13,8572 Wh
    energy-full:         12,4022 Wh

I did not removed the battery nor rebooted the phone since the last time this happened. Just turned on and off the modem HKS. I also plugged the phone to let it charge since only 5% of the battery was remaining (but was staying at 5% after I turned off the modem)

I am not an expert in this, but for me energy-full is usually higher than energy-full-design probably due to short charging cycles. When they get too far apart, it seems the phone “thinks” the battery has more juice left than it actually has, which causes it to drop very quickly from e.g. 20%->0%.

1 Like

What’s the output of cat /sys/class/power_supply/max170xx_battery/uevent while that happens?

1 Like

I will try to catch it next time

1 Like

You do not need to remove battery. What should help there is following:
−− keep Librem 5 on and charge your phone battery until red LED light turns off,
−− leave power supply connected and turn it off (sudo systemctl poweroff),
−− disconnect USB-C PD cable from Librem 5 for a second,
−− connect USB-C PD cable back and please continue to charge Librem 5 battery until red LED light off again (expect that this powered off phone battery charging might take +/− 10 minutes),
−− press power button, boot … and if not seeing 100% of battery capacity repeat above procedure (if necessary),
−− check if upower -d | grep energy-full at 13.2534 Wh (or another quite similar capacity output).

For me, battery calibration works by removing and reinserting battery and power on.

This is removing battery gauge calibration, forcing it to restart calibration from scratch.


It has happened again. Here is the output of /sys/class/power_supply/max170xx_battery/uevent:


I have a Librem 5 that has

energy-full:         10,1455 Wh
energy-full-design:  13,8572 Wh
energy-full:         10,1455 Wh

I haven’t been able to change that much through the procedure you lay out here.

My second L5 is another story.

energy-full:         18,0441 Wh
energy-full-design:  13,8572 Wh
energy-full:         18,0441 Wh

It is now discharged and I am charging it powered off. We’ll see what it thinks about the battery once it has fully charged.

@dos Whatever the battery calibration does, even with long charging cycles (~20%->100%) it seems to notoriously fail. The latter phone’s energy-full has been increasing steadily over the past 4-5 days, while the former has been turned off most of the time and only charged intermittently and shows an energy-full value way below energy-full-design.

I am at a loss here on how to operate this phone in a way where battery calibration improves instead of deteriorates over time.

I followed some days ago the procedure adviced by @dos, in detail I did:

1. charged full (until red LED off)
2. powered down
3. took battery off for a short moment
4. powered on (~7:20pm)
   upower -d 
   energy-full:         14.075 Wh
   energy-full-design:  13.8572 Wh
5. let it run out of power
6. reboot and charging starts at 5:52 CEST
   energy-full:         14.075 Wh
   energy-full-design:  13.8572 Wh
7. reached full (LED off, 100%) at ~9:30 CEST

Today, three days after it shows:

    energy-full:         14.1938 Wh
    energy-full-design:  13.8572 Wh
1 Like

That is a very tedious process for calibration, especially if it needs doing every week. The way the Librem 5 handles battery calibration seems less than optimal to me. I guess this shouldn’t be an issue at all in the best of worlds, but it is probably more complicated than I understand…

1 Like

I did it around three days ago and now I’m monitoring the value of energy-full (which was before the calibration very high, 30.1395 Wh). I have not said it should be done every week. If there is an error in the calibration we should nail it down.

Sorry, I wasn’t implying you said that. I was speaking from my own experience and the pace that the energy-full value deviates from energy-full-design. I don’t know at which point this becomes a problem, e.g. in the way that the phone could suddenly power off from about 20-30% charge level.

As I said, i’m monitoring this, in detail with a cron job, which says now:

Sat Apr  1 17:00:01 CEST 2023
    energy-full:         14.1938 Wh
    energy-full-design:  13.8572 Wh
Sat Apr  1 18:00:01 CEST 2023
    energy-full:         14.1938 Wh
    energy-full-design:  13.8572 Wh
Sat Apr  1 19:00:01 CEST 2023
    energy-full:         14.3323 Wh
    energy-full-design:  13.8572 Wh

i.e. the value energy-full has increased now. The L5 was charging and reached 100%.

1 Like

By supposing that you are using reliable (providing USB-DCP/BC1.2 5V/1.5A charging protocol) power supply, point that I forgot to mention in my here related post is that you should want to follow this post of mine, here please do not skip step you mentioned here, by having your Librem 5 powered off, to wait until indicator red LED light off (trickle charge stops):

P.S. If above doesn’t help directly you might want to take BPP-L503 battery out during usage of Librem 5 (powered on and connected to the reliable power supply), and put same Librem 5 battery back after few seconds (and repeat here made up procedure, getting there where you want to have energy-full value properly set by “forcing” or rather waiting to get red LED light off in both charging scenarios, with Librem 5 on and with Librem 5 off).

Charging phone until red LED off
With phone powered on and connected to the reliable power supply, I took battery out and reinserted
Charged again until red LED off
Shut phone down
Removed and reinserted charging cable
Waited for red LED to go off
Turned phone back on
My reading now:

energy-full:         26,4673 Wh
energy-full-design:  13,8572 Wh

Calibration seems only getting worse…

Edit: After turning phone off, removing and reinserting battery, and powering on, the reading is:

energy-full:         14,2334 Wh
energy-full-design:  13,8572 Wh

Question is if it is better to have no calibration, which the latter procedure leads to or to have calibration far off?

Edit 2: Maybe we could keep the calibration issues to this thread, which is about just that?

Looks like the gauge reacts correctly in your case. The more power you draw out of battery, the less capacity you can get out of it. In your case, the battery is simply too discharged to be able to keep the voltage high enough while you’re drawing almost 7W of power from it in sustained fashion. The gauge notices that the voltage goes below Vempty = 3.3V and starts to rapidly adjust the capacity estimation to drop it to 0.

The question is - why is it taking 7W of power? While it’s not a shockingly high value to get while the phone is in use, it’s still quite high. What were you doing at that point in time?

Taking a picture. It was at 35% a few minutes before.

I have also the output of /sys/class/power_supply/max170xx_battery/uevent taken 6 second later, just after turning of the modem with the HKS:

1 Like