Battery capacity doesn't match the percentage it should be based on charge cycles

Using Fedora Linux 35 Workstation

I have a Lenovo Yoga C740 15.6" that I bought last summer in 2021. I usually keep my laptop plugged in when in use, as you can tell based on the charge cycles, on Linux the capacity has been dropping at a fast rate. A few months ago I tested this on Windows, it doesn’t show the exact percentage on the Lenovo vantage app for me, but based on the statistic from Windows side it should be around 98-97%. I have removed Windows from my Laptop because I don’t really use Windows.

Could this just be an error since I don’t really calibrate the laptop? I checked with BestBuy Geek Squad last year about the issue and they said they saw no damage to the hardware or battery and that everything tested was fine. I tried to calibrate it a few times but I guess the way Linux handles battery readings for some laptops it just doesnt work?

Because on my older laptop I have that I have a Debian based distro installed it reads 100% capacity while it’s 3 years old and last read 89% capacity. Anyways I’m not focuse don that laptop, just a related incident.

Any ideas about this would be great, thanks in advance.

You battery capacity is 95.1 or 94.9 %, depending on what output you are looking at.
95% after 9 months of usage, that is not too bad…

You should consider two things in order to extend your battery lifetime (preserve a higher capacity for a longer time period):

  • stop plugging it in all the time, or
  • define battery charging tresholds

Use maximum runtime (hours) or maximum lifespan (years) in battery settings? - ThinkPad and Lenovo V, B, K, E series notebooks - Lenovo Support BD recommends:

For maximum lifespan when rarely using the battery, set Custom charge thresholds to start charging at 40% capacity and stop at 50%, and keep the ThinkPad cool. The thresholds can be adjusted in the Battery Maintenance settings of Lenovo Power Manager.

In Linux, you can use tlp to set those thresholds.

The battery capacity for me should be at 97%. I do not keep the laptop plugged in 24 7. So the readings for the capacity is off for both of my laptops.

Can you explain your maths for this? To me, the capacity = (energy_full / energy_full_design). Depending on the screenshot, that would be 94-95%.

1 Like

But “plugged in when in use” (at least that is what you wrote) - meaning the battery is always at 100% charged.
If you want to continue with that, you should consider charging tresholds in order to maximize your battery’s life span.

I keep it at 60% using conservation mode.

On Windows it reads 97%.

and what is the difference between 95 and 97%? Who do you believe? The windows calculation or the Fedora Linux calculation? What does it matter? It is what it is, no matter what the number reads.

Also, you said a “few months ago it read 97-98%” - seems to be possible, a few months ago it was about 97%, now it’s 95%.

I don’t get your question.

How do you do that?

Battery Conservation Mode on IdeaPad laptops
Battery Conservation Mode is a feature that limits battery charging to 55-60% of its capacity to improve battery life, being most useful when the laptop tends to run on external power much of the time. If your particular laptop model supports it, it can be enabled or disabled in the following manner:

First make sure the ideapad_laptop kernel module is loaded, with the lsmod command.
If it is, run the following command as root to enable Battery Conservation Mode:

# echo 1 >/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

A 0 will in turn disable the feature.

1 Like

Windows provides accurate reading for both unlike Linux, but it doesn’t really matter, I’m under warranty for this Laptop. I’ll just get the battery replaced.

Battery is usually excluded from warranty. I bet they won’t replace it. Otherwise they would have to replace every battery of every notebook they sell.

95% is actually pretty good after 9 months of usage.

1 Like

My paid warranty covers it.

100% after 1 year? Or what is the minimum threshold guaranteed?

Yes even after a year.

How you are arriving at this conclusion?

1 Like

Because it does. Mentioned in my post.

I don’t really see anything other than the fact that you’re choosing to believe what Windows is reporting.

If in fact Windows is showing a different number and you can prove that it is correct (other than just assuming it is), then you can report a bug against the Linux tools to fix the error on the Linux side.

1 Like

Doesn’t matter what you believe, I know what I did and I’ve seen the difference on Windows and Linux with the battery capacity.

What are you hoping to get by posting your question here then? I’m trying to tell you that the way to fix the Linux tools is to file a bug report and the developers can fix the issue. This is the basis of your original post - how to fix the reading in Linux. But in order file a bug report, you will need to provide actionable facts. So I’m trying to help you out here, but you will need to provide evidence that the Linux tools are buggy.

If that isn’t your intention with this post, and it’s just a rant, then it’s probably just going to get locked and closed as such by the mods.

1 Like

It’s not a rant and I can prove that it’s buggy, BTW as I said in a previous reply I’ll rely on my warranty for this one.