[T450] Battery erratic behaviour need probably to reflash EC firmware
Posted: Wed Jul 22, 2020 7:31 am
First time, I'm posting something here, apologies for anything wrong with the formatting.
Hey all, it's a long story, but basically after having enabled the battery threshold feature on Linux using TLP with two batteries (one internal and external).
I have been getting charging issues and I removed the internal battery thinking that was kinda of the root of the issue since it was non-official.
My issue is that the external battery is not charging after almost a full charge ( after hours and hours of being in charge, the state of the battery changes to unknown on Linux and on Windows says it's plugged, not charging usually around 90-95%) unless I physically unplug & replug the battery from the computer (Plug & Unplug AC doesn't change anything, rebooting neither).
Even if I uplug and replug the battery, only the battery state changes from not charging to charging, the battery does not charge up more than where she stopped at.
I have two external batteries, one official 24Wh (45N1124 / FRU 45N1775) from Lenovo which has around 400 cycle counts and an unofficial one I bought which is 48Wh (45N1734).
I use only the unofficial one so far.
The external battery also drops from 40% to 5% kind of instantly.
I disabled the Battery threshold first on Linux, disabled and uninstalled TLP but it held no success.
I thus went on to install Windows and Lenovo Vantage to check if the battery threshold was indeed deactivated, I needed also Windows to easily flash a new version of the BIOS (I was hoping that flashing a new BIOS would also flash the EC (Embedded Controller) but I think I ran out of luck).
Checking for the option in Lenovo Vantage showed it was disabled. But then I don't really understand why when trying to fully charge the battery the computer starts slowly lowering the energy-rate/wattage given to the battery the more the battery gets closer to 100% (I have never gotten to 100% so far) as well as the time expected to get the battery full going over 5-6 hours when getting at 90%, whilst while beginning to charge it is like 1 or 2 hours which seems much more normal.
Battery gauge reset does not work in Lenovo Vantage and shows an "Error : failed unexpectedly".
I tried to plug the official external battery and see if there was any change.
So I shut down the computer, unplug AC, plug official external battery, startup the computer on Windows and I see that the Charge threshold is active for the battery in Lenovo Vantage which is leading me to believe that the charge threshold is active even when it isn't supposed to be.
If I do the same procedure with my unofficial battery, the charge threshold shows up as active as well with values at start charging when below 90% and stops at 100% (and every time I disable it there is literally no changes).
I read on the https://linrunner.de/tlp/faq/battery.ht ... ter-models that some people had issues such as mine.
But what I also saw afterwards https://linrunner.de/tlp/faq/battery.ht ... s-not-work was my doom, it is also stated that for people who cannot deactivate the battery threshold, it is needed to flash/update the EC firmware (The workaround without BIOS update does not work despite all my attempts).
My question here is, is it possible to kind of force flash the same EC firmware version again ? (If yes, how should I proceed ? If anyone has a clue) Did anyone ever try to do that ?
Flashing a new BIOS version didn't seem to flash the EC firmware again (because only the BIOS needed an update when I got the laptop, no updates were made to the EC firmware since 2016 according to the text file information of BIOS updates at https://support.lenovo.com/mo/fr/downloads/ds102109).
If it is not possible, then is it safe to downgrade to an older BIOS/EC firmware, it would be downgrading from 2019 to 2016, and I'm not sure if it would fail and brick the laptop, I'm also thinking what if the downgrade is successful but then upgrading back from 2016 to 2019 would fail unexpectedly.
I've been wanting to try to read exactly the EC registers that stores maybe some data that could be saying if the threshold is definitely set or not. Maybe I should investigate how TLP sets the battery threshold and how it talks with the correct drivers that actually writes to the EC registers.
This problem I'm facing is a bit hard to describe because there is a lot of issues that happens with just one battery.
TL;DR Activated battery threshold on Linux with TLP, cannot deactivate anymore, probable fix is flashing EC firmware, battery percentage going from 40% to 5% instantly, battery when having been plugged and being in charge for awhile (6-9 hours) does not charge anymore unless the battery is physically unplugged & replugged.
Hey all, it's a long story, but basically after having enabled the battery threshold feature on Linux using TLP with two batteries (one internal and external).
I have been getting charging issues and I removed the internal battery thinking that was kinda of the root of the issue since it was non-official.
My issue is that the external battery is not charging after almost a full charge ( after hours and hours of being in charge, the state of the battery changes to unknown on Linux and on Windows says it's plugged, not charging usually around 90-95%) unless I physically unplug & replug the battery from the computer (Plug & Unplug AC doesn't change anything, rebooting neither).
Even if I uplug and replug the battery, only the battery state changes from not charging to charging, the battery does not charge up more than where she stopped at.
I have two external batteries, one official 24Wh (45N1124 / FRU 45N1775) from Lenovo which has around 400 cycle counts and an unofficial one I bought which is 48Wh (45N1734).
I use only the unofficial one so far.
The external battery also drops from 40% to 5% kind of instantly.
I disabled the Battery threshold first on Linux, disabled and uninstalled TLP but it held no success.
I thus went on to install Windows and Lenovo Vantage to check if the battery threshold was indeed deactivated, I needed also Windows to easily flash a new version of the BIOS (I was hoping that flashing a new BIOS would also flash the EC (Embedded Controller) but I think I ran out of luck).
Checking for the option in Lenovo Vantage showed it was disabled. But then I don't really understand why when trying to fully charge the battery the computer starts slowly lowering the energy-rate/wattage given to the battery the more the battery gets closer to 100% (I have never gotten to 100% so far) as well as the time expected to get the battery full going over 5-6 hours when getting at 90%, whilst while beginning to charge it is like 1 or 2 hours which seems much more normal.
Battery gauge reset does not work in Lenovo Vantage and shows an "Error : failed unexpectedly".
I tried to plug the official external battery and see if there was any change.
So I shut down the computer, unplug AC, plug official external battery, startup the computer on Windows and I see that the Charge threshold is active for the battery in Lenovo Vantage which is leading me to believe that the charge threshold is active even when it isn't supposed to be.
If I do the same procedure with my unofficial battery, the charge threshold shows up as active as well with values at start charging when below 90% and stops at 100% (and every time I disable it there is literally no changes).
I read on the https://linrunner.de/tlp/faq/battery.ht ... ter-models that some people had issues such as mine.
But what I also saw afterwards https://linrunner.de/tlp/faq/battery.ht ... s-not-work was my doom, it is also stated that for people who cannot deactivate the battery threshold, it is needed to flash/update the EC firmware (The workaround without BIOS update does not work despite all my attempts).
My question here is, is it possible to kind of force flash the same EC firmware version again ? (If yes, how should I proceed ? If anyone has a clue) Did anyone ever try to do that ?
Flashing a new BIOS version didn't seem to flash the EC firmware again (because only the BIOS needed an update when I got the laptop, no updates were made to the EC firmware since 2016 according to the text file information of BIOS updates at https://support.lenovo.com/mo/fr/downloads/ds102109).
If it is not possible, then is it safe to downgrade to an older BIOS/EC firmware, it would be downgrading from 2019 to 2016, and I'm not sure if it would fail and brick the laptop, I'm also thinking what if the downgrade is successful but then upgrading back from 2016 to 2019 would fail unexpectedly.
I've been wanting to try to read exactly the EC registers that stores maybe some data that could be saying if the threshold is definitely set or not. Maybe I should investigate how TLP sets the battery threshold and how it talks with the correct drivers that actually writes to the EC registers.
This problem I'm facing is a bit hard to describe because there is a lot of issues that happens with just one battery.
TL;DR Activated battery threshold on Linux with TLP, cannot deactivate anymore, probable fix is flashing EC firmware, battery percentage going from 40% to 5% instantly, battery when having been plugged and being in charge for awhile (6-9 hours) does not charge anymore unless the battery is physically unplugged & replugged.