Weird Battery problem - won't charge beyond 53% - how to fix it?

Hello,

A Lenovo T480 ThinkPad has a weird issue where the battery (has internal + external) won't charge beyond 53%

After googling a bit I found this video - which suggests to "uninstall" battery drivers in a Windows system that fixes the issue and/or try installing some drivers for, once again, a Windows machine.

The problem is I am a FreeBSD user and don't have access to a Windows machine - Is there any way to fix battery issues on the FreeBSD system itself?

Maybe some kind of battery reset options? (that are equivalent to uninstalling it in Windows)

PS : Previously the battery was charging just fine to 100% fwiw
 
Windows drivers have no effect on FreeBSD. Windows drivers are not loaded by Windows when FreeBSD is in RAM. Nor does FreeBSD load Windows drivers.

FreeBSD's ACPI driver contains the embedded controller driver. To query the embedded controller use,


sh:
acpiconf -i 0 | awk '$0 ~ /^Design capacity:/ || $0 ~ /^Last full capacity:/ || $0 ~ /^State:/ || $0 ~ /^Remaining capacity:/ {print}'
 
You may also want to capture "cycle count." This will tell you how worn your battery is. You will need to know what the design cycle limit for your battery is before this is a meaningful number.

I've installed an app on my phones which tracks this data. Just based on my two android phones, discharging the battery to 15% and charging to only 65% is the most economical. I assume the life characteristics of my laptop battery is probably similar if not the same as the characteristics of my two phones batteries. This is the least wear you can incur on a lithium-ion battery.

My laptop is an older laptop. When plugged in, which is most of the time, the battery is removed. Prior to this I had kept the laptop plugged in while leaving the battery in the laptop. The battery lasted less than two years. Now I only use the battery in the laptop when I'm away from home.

I cannot remove my $JOB laptop's battery. And sure enough, they replace laptops every 2-5 years because batteries either fail or bulge.

You can find out more at batteryuniversity.com.
 
sh:
acpiconf -i 0 | awk '$0 ~ /^Design capacity:/ || $0 ~ /^Last full capacity:/ || $0 ~ /^State:/ || $0 ~ /^Remaining capacity:/ {print}'
here is the output
Code:
 acpiconf -i 0 | awk '$0 ~ /^Design capacity:/ || $0 ~ /^Last full capacity:/ || $0 ~ /^State:/ || $0 ~ /^Remaining capacity:/ {print}'
Design capacity:    23940 mWh
Last full capacity:    2440 mWh
State:            critical charging
Remaining capacity:    5%

if setting battery charging thresholds last year might be to do with what's causing the present issue?
I would suspect not - how can I double check? Wish it was easier than remembering a bunch of commands that are difficult. Still trying to understand the linked thread.
 
Your battery won't hold a charge. It's time to replace it.

There is no "setting battery thresholds" that can fix a worn battery. Once it can no longer hold a charge, it's kaput.

You could boot Windows but Windows has no native tool that displays battery health. If you can find some third-party app for Windows, it'll probably tell you the same thing acpiconf is telling you.
 
Your battery won't hold a charge. It's time to replace it.
What would explain the external battery being stuck at 79% even if we assume the internal one is kaput? (I doubt that assumption because it was charging fine just before this issue surfaced)
You could boot Windows but Windows has no native tool that displays battery health. If you can find some third-party app for Windows, it'll probably tell you the same thing acpiconf is telling you.
Can one boot into Windows these days? That might be a good attempt - but last I tried with Ventoy it shows up the installation screen for Win 10/11 (which are required to install the vendor software updates). If there was a way to boot into Windows that would be great to know.
 
What would explain the external battery being stuck at 79% even if we assume the internal one is kaput? (I doubt that assumption because it was charging fine just before this issue surfaced)
That could be a firmware problem. The EC driver (within the ACPI driver) fetches the data from the embedded controller. All this is handled within ACPI. And we know what state ACPI support is in most laptops these days. That's why manufacturers write Windows drivers, to work around bugs in their ACPI.
 
PS : Previously the battery was charging just fine to 100% fwiw
How long has it been since then? Have you charged the battery in a hot environment or during heavy use?

It should be possible to modify the threshold from the BIOS if protected. The operating system is not involved. [Not available on my non-Lenovo laptop]
Try resetting the BIOS to factory settings or using the appropriate software from a virtualized Windows.

If you left the battery dead for some time, it is recommended to use a fast charger here and:
If the battery cannot be fully charged in 24 hours, use a new battery.
 
You may also want to capture "cycle count." This will tell you how worn your battery is. You will need to know what the design cycle limit for your battery is before this is a meaningful number.

Cy@ and Tracker, still finding it difficult dealing with two ongoing threads about the same issue!

Im about to go into cycle count and the "5% and 79%" issue on the other thread, namely

https://forums.freebsd.org/threads/...-equivalent-of-freebsd-like-in-windows.92207/

Your battery won't hold a charge. It's time to replace it.

I think it's too soon to call that as that machine is clearly in trouble, and so far Tracker doesn't seem to have tried some basic tests like removing the external battery - but more on that too, if I can stay awake ...

There is no "setting battery thresholds" that can fix a worn battery. Once it can no longer hold a charge, it's kaput.

Sure, but it's not getting a charge, so its apparent capacity has diminished, which may not reflect reality at all.

IBM, later Lenovo published methods of full-cycle charge / deep discharge to restore what the chip embedded inside thinkpad batteries believes about itself, which can get seriously out of whack.

I recently used those to raise apparent remaining capacity of one of my X200 batteries from about 1/3 to 2/3 over 4 cycles.

This is complicated by dual batteries, especially where it seems likely that an out of bounds method of setting charge start/ stop thresholds may have been employed, and perhaps to only one battery?

On thinkpads, the Embedded Controller uses and can adjust the last-charged capacity in the battery chip. Removing and replacing external battery may reset changed thresholds (on some models, perhaps) but not the above basic values.

Hence, I have some hope that not all is lost here, especially when my T430s (over 4 years older than the T480) still has over 50% capacity after 4 years since I bought it as a refurb!

You could boot Windows but Windows has no native tool that displays battery health. If you can find some third-party app for Windows, it'll probably tell you the same thing acpiconf is telling you.

My T430s came with Win10 or I wouldn't have bothered, and also had the Lenovo 'Vantage' app which among other things has an acpiconf-like display and the ability to set low and high charge thresholds - likely DTRT for dual batteries.

What would explain the external battery being stuck at 79% even if we assume the internal one is kaput? (I doubt that assumption because it was charging fine just before this issue surfaced)

See the other thread - maybe tomorrow, it's 4:30 am here ...

That could be a firmware problem. The EC driver (within the ACPI driver) fetches the data from the embedded controller. All this is handled within ACPI. And we know what state ACPI support is in most laptops these days. That's why manufacturers write Windows drivers, to work around bugs in their ACPI.

Sure, but Lenovo ACPI tooling hss been generally pretty good, as has our acpi_ibm.ko

cheers, Ian
 
Cy@ and Tracker, still finding it difficult dealing with two ongoing threads about the same issue!

Im about to go into cycle count and the "5% and 79%" issue on the other thread, namely

https://forums.freebsd.org/threads/...-equivalent-of-freebsd-like-in-windows.92207/



I think it's too soon to call that as that machine is clearly in trouble, and so far Tracker doesn't seem to have tried some basic tests like removing the external battery - but more on that too, if I can stay awake ...



Sure, but it's not getting a charge, so its apparent capacity has diminished, which may not reflect reality at all.

IBM, later Lenovo published methods of full-cycle charge / deep discharge to restore what the chip embedded inside thinkpad batteries believes about itself, which can get seriously out of whack.

I recently used those to raise apparent remaining capacity of one of my X200 batteries from about 1/3 to 2/3 over 4 cycles.

This is complicated by dual batteries, especially where it seems likely that an out of bounds method of setting charge start/ stop thresholds may have been employed, and perhaps to only one battery?

On thinkpads, the Embedded Controller uses and can adjust the last-charged capacity in the battery chip. Removing and replacing external battery may reset changed thresholds (on some models, perhaps) but not the above basic values.

Hence, I have some hope that not all is lost here, especially when my T430s (over 4 years older than the T480) still has over 50% capacity after 4 years since I bought it as a refurb!



My T430s came with Win10 or I wouldn't have bothered, and also had the Lenovo 'Vantage' app which among other things has an acpiconf-like display and the ability to set low and high charge thresholds - likely DTRT for dual batteries.



See the other thread - maybe tomorrow, it's 4:30 am here ...



Sure, but Lenovo ACPI tooling hss been generally pretty good, as has our acpi_ibm.ko

cheers, Ian

I understand the desire to protect investment. You will need to compare FreeBSD's ACPI results with another O/S such as Windows. The prior to the last ACPI update from our was a stinker but assuming your hardware is ok only informs half the input. Hardware is a variable that must be discounted before asserting it's a software problem. Hey, I've chased enough software phantoms only to discover it was my hardware after all, and a waste of many hours looking at code when the code was fine. Test the easy to test things first before bisecting the code.

BTW, patches are always welcome.
 
I understand the desire to protect investment.

Not my investment, but Tracker's.

You will need to compare FreeBSD's ACPI results with another O/S such as Windows. The prior to the last ACPI update from our was a stinker but assuming your hardware is ok only informs half the input. Hardware is a variable that must be discounted before asserting it's a software problem.

Or misconfigured firmware ...

I'm not asserting anything, just trying to help debug quite a strange issue, with aspects I have familiarity with over time.

BTW, patches are always welcome.

I think a BIOS/UEFI update from the Lenovo site is more likely what's needed here, if running for long in present conditions hasn't trashed at least the internal battery.

Anyway, I'll be working in the other thread in several hours time, after dinner. Maybe see you there.

cheers, Ian
 
UPDATE : So I managed to install Windows 11 on my 2nd hard drive and installed software drivers available on Lenovo site :
- somehow the battery charging percentage for the external battery changed from 79% to 100% earlier, now somehow it has reverted to 79% again on the FreeBSD - maybe I need to log into WIndows again and see how it is there.
- the internal battery however didn't seem to move much from the 5% earlier - it went to 6% and later showed discharged to 3% and now back to around 4% on FreeBSD

I don't know if this is progress of a dead end.

Cy@ and Tracker, still finding it difficult dealing with two ongoing threads about the same issue!
Sorry about that - when I fist posted about this "General" problem, I think one of the mods relegated it to "mobile computing" section - made me wonder if I didn't describe the issue well enough and prompted another post. Sorry!
so far Tracker doesn't seem to have tried some basic tests like removing the external battery -
I have removed external battery - doesn't change much, internal remains at 5%

PS: I also have an extra external - if you would like me to do something and report here - let me know please.
I recently used those to raise apparent remaining capacity of one of my X200 batteries from about 1/3 to 2/3 over 4 cycles.
Hence, I have some hope that not all is lost here, especially when my T430s (over 4 years older than the T480) still has over 50% capacity after 4 years since I bought it as a refurb!
Is there some trick there to making batteries last longer? Not sure I follow
 
Is there some trick there to making batteries last longer? Not sure I follow

In a general way, from my own head:
  1. Only use the battery when it is not near an outlet.
  2. If possible, do not charge the battery to 100% depending on your unplugged workload.
  3. A partial load at 50-80% will increase the service life.
  4. Discharge the battery once a month if plugged in daily. Eliminates battery surge exposure.
  5. Store the battery in a cool place with a 40-50% charge if you are not going to use it for months. Charge once a month.
  6. Do not exceed temperature limits during use and while charging. That includes not charging while your CPU is doing hard work with excessive overheating.
Basically, external conditions and charge cycles will determine the battery life.

(Non-native speaker, some concept may be wrong, I didn't check)
 
OP, your internal battery could be locked and that's why is not charging.

Laptop battery repair & unlock - Yes, even a new battery can die

Somewhere? in an 11 minute video? ... can you point to text anywhere that describes what 'locking' a thinkpad battery means please?

My theory is that Tracker may have set battery0's low/high charge thresholds in April '23, going on hir participation in

https://forums.freebsd.org/threads/how-to-set-battery-charging-thresholds-on-laptop.79807/page-2

and that since it's permanently connected, battery0 might still retain (unknown) poor settings that prevent it charging, even without the external battery1.

I'm not well enough to pursue this much further, having already failed to show up yesterday as I'd offered ... but hope to be back in a few hours with a couple more questions.
 
C'mon is a common sense that hardware producers are locking/whitelist their products to prevent repair, etc.
e.g. A few years back we were able to replace wifi cards without problems on Thinkpads, now they are whitelisted and so on.
 
You're referring to planned obsolescence (an automatic lock that can be hacked and reversed), or a repairable failure not desired by the manufacturer.
Batteries usually don't have more than a 6-month warranty, at least in my country.
 
OP, your internal battery could be locked and that's why is not charging.

Laptop battery repair & unlock - Yes, even a new battery can die
How do I know/check if battery is "locked" ?
My theory is that Tracker may have set battery0's low/high charge thresholds in April '23, going on hir participation in

https://forums.freebsd.org/threads/how-to-set-battery-charging-thresholds-on-laptop.79807/page-2

and that since it's permanently connected, battery0 might still retain (unknown) poor settings that prevent it charging, even without the external bat
How do I check the threshold's set for my dual batteries? Or alternatively set them to another level (say 100/99%) to see if it fixes the situation.
 
That is exactly the first thing that was suggested. I have a 60% threshold for my battery. If the battery is charged with the OS turned off, it keeps the threshold, but I can't find it in the BIOS.
Can resetting or updating the BIOS fix the problem?
 
How do I know/check if battery is "locked" ?
With the help of a multimeter to see if the battery "speaks" with the controller, just like in that movie start. A tool for diagnostics like that guy use in the movie is 360$ US, only the device without the software.

LE: Here is a more detailed process of what I am talking about.
 
C'mon is a common sense that hardware producers are locking/whitelist their products to prevent repair, etc.

In the case of Thinkpads, it actually makes sense not trusting rip-off copies of the embedded firmware in every (at least) T- and X- series that half or less priced Chinese replacement batteries use.

Quite apart from inferior cells and consequent short life, we see enough difficulty keeping genuine batteries' apparent state of charge accurate, that this case exemplifies.

Further, in the other thread we can plainly see both batteries to be originals made by LG.

With the help of a multimeter to see if the battery "speaks" with the controller, just like in that movie start. A tool for diagnostics like that guy use in the movie is 360$ US, only the device without the software.

We know these batteries hold and communicate their information with the EC, no meter required. This is a red herring, though your earlier advice to disconnect internal battery0 may be helpful, iff that resets any thresholds set.

LE: Here is a more detailed process of what I am talking about.

This one is a 22 minute! video. I wasted enough time waiting through the ads to find that out, and have better uses for my time. Please point to text, or at least give min:sec start times of what you want to tell us.
 
UPDATE : So I managed to install Windows 11 on my 2nd hard drive and installed software drivers available on Lenovo site :

Just to be sure, you're talking about the Lenovo 'Vantage' program to examine your batteries, not the native Windows stuff?

Assuming so, does it allow separate settings for internal and external batteries?

Whether or not, does it show any setting of battery0 charge stop / start percentages?

The above are important for me, at least, to understand. Only the Vantage program can do that.

- somehow the battery charging percentage for the external battery changed from 79% to 100% earlier,

Earlier than what / when? Pretend we have defective mindreading skills ;-)

Also, do you have the T480 User Guide as YYY__ mentioned above:
https://download.lenovo.com/pccbbs/mobiles_pdf/t480_ug_en.pdf
There's lots of hits on 'charg' and 'batter' there, and exploring BIOS/UEFI etc.

now somehow it has reverted to 79% again on the FreeBSD - maybe I need to log into WIndows again and see how it is there.

While testing, I suggest regular use of a script something like:
Code:
#!/bin/sh
log=~/myacpiconf.log
date >> $log
acpiconf -i0 >>$log ; echo >> $log
acpiconf -i1 >>$log ; echo >> $log

And grabbing screenshots from Vantage for your own benefit and maybe ours too.

- the internal battery however didn't seem to move much from the 5% earlier - it went to 6% and later showed discharged to 3% and now back to around 4% on FreeBSD

Did you actually try running it without AC power without ext. battery? If so, how long did it last? Despite nominally low 5% capacity, the voltage looked maybe higher than expected, and I've seen batteries saying 'critical discharging' at 0% run for half an hour in BIOS SETUP.

I don't know if this is progress of a dead end.

Neither do I ;-) Have you priced a new (genuine Lenovo FRU) internal battery?

I have removed external battery - doesn't change much, internal remains at 5%

Nominally.

Do you have another machine to use if taking this one out of service for a day or so for a few full discharge / recharge cycles?

PS: I also have an extra external - if you would like me to do something and report here - let me know please.

Maybe after getting battery0 either fixed or replaced ... and is it a genuine Lenovo FRU?

Is there some trick there to making batteries last longer? Not sure I follow

Yes, repeated deep cycling - but it means doing nothing else for at least a day, and depends on no min/max charge settings on battery0.

Let's see answers to above queries first, if you will.
 
Back
Top