You are not logged in.

#1 2023-10-15 21:04:16

860lacov
Member
Registered: 2020-05-02
Posts: 452

Tlp battery recalibration don't work on new ThinkPad

I wanted to run battery recalibration on new p14s.
I got:

Setting temporary charge thresholds for BAT0:
  stop  = 100
  start =  96
Initiating discharge of battery BAT0 ...............
Error: discharge BAT0 malfunction -- check your hardware (battery, charger).
Battery recalibration aborted.

tlp-stat -b

--- TLP 1.6.1 --------------------------------------------

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 5B10W51865
/sys/class/power_supply/BAT0/cycle_count                    =      3
/sys/class/power_supply/BAT0/energy_full_design             =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  17560 [mWh]
/sys/class/power_supply/BAT0/power_now                      =  51117 [mW]
/sys/class/power_supply/BAT0/status                         = Charging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     96 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =    100 [%]
/sys/class/power_supply/BAT0/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   33.4 [%]
Capacity                                                    =  100.0 [%]

I saw https://bbs.archlinux.org/viewtopic.php?id=255516 but i think that it is not relevant in this case

Last edited by 860lacov (2023-10-15 21:04:59)

Offline

#2 2023-10-17 16:47:09

linrunner
Member
Registered: 2013-04-21
Posts: 52

Re: Tlp battery recalibration don't work on new ThinkPad

What happens here is that TLP times out after 15 seconds because your ThinkPad did  not start discharging the battery. This is probably a malfunction of the embedded controller (EC).  This also seems strange to me:

/sys/class/power_supply/BAT0/power_now                      =  51117 [mW]

Is the battery actually charged or discharged with 50 W(!) here? Seems unlikely to me.

My 1st try would be to reset the EC: shut down the system then press the emergency reset hole (button) on the bottom of the ThinkPad with a paper clip. I also recommend updating the BIOS and the EC to the latest version (using fwupdmgr).

See also: https://linrunner.de/tlp/faq/battery.ht … lfunctions

What surprises me, however, is that you're trying to recalibrate a battery that is obviously not worn out. It still has the full nominal capacity:

/sys/class/power_supply/BAT0/energy_full_design             =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  52570 [mWh]

Why do you do that?

Last edited by linrunner (2023-10-17 16:49:25)

Offline

#3 2023-10-17 17:44:00

860lacov
Member
Registered: 2020-05-02
Posts: 452

Re: Tlp battery recalibration don't work on new ThinkPad

linrunner wrote:

What happens here is that TLP times out after 15 seconds because your ThinkPad did  not start discharging the battery. This is probably a malfunction of the embedded controller (EC).  This also seems strange to me:

/sys/class/power_supply/BAT0/power_now                      =  51117 [mW]

Is the battery actually charged or discharged with 50 W(!) here? Seems unlikely to me.

My 1st try would be to reset the EC: shut down the system then press the emergency reset hole (button) on the bottom of the ThinkPad with a paper clip. I also recommend updating the BIOS and the EC to the latest version (using fwupdmgr).

See also: https://linrunner.de/tlp/faq/battery.ht … lfunctions

What surprises me, however, is that you're trying to recalibrate a battery that is obviously not worn out. It still has the full nominal capacity:

/sys/class/power_supply/BAT0/energy_full_design             =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  52570 [mWh]

Why do you do that?

I tried with EC reset, and it didn't work. (I kept button pressed down about 3 seconds.)
I have the latest bios. Updated from 1.11 to 1.13 with iso downloaded from Lenovo website.

As for the reason question. I have a new laptop and wanted to check if everything is working correctly. Tlp is one of those things.

fwupdmgr shows:

fwupdmgr get-updates 
Devices with no available firmware updates: 
 ? ELAN0676:00 04F3:3195
 ? Fingerprint Sensor
 ? Integrated Camera
 ? SSD 990 PRO 2TB
 ? System Firmware
 ? UEFI Device Firmware
 ? UEFI Device Firmware
 ? UEFI Device Firmware
 ? UEFI Device Firmware
 ? UEFI Device Firmware
 ? UEFI Device Firmware
Devices with the latest available firmware version:
 ? UEFI dbx
No updates available

And as for the:

/sys/class/power_supply/BAT0/power_now                      =  51117 [mW]

current tlp-stat -b shows:

--- TLP 1.6.1 --------------------------------------------

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..96(default)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 5B10W51865
/sys/class/power_supply/BAT0/cycle_count                    =      4
/sys/class/power_supply/BAT0/energy_full_design             =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  52570 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  37320 [mWh]
/sys/class/power_supply/BAT0/power_now                      =   5601 [mW]
/sys/class/power_supply/BAT0/status                         = Discharging

/sys/class/power_supply/BAT0/charge_control_start_threshold =     60 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   =     80 [%]
/sys/class/power_supply/BAT0/charge_behaviour               = [auto] inhibit-charge force-discharge

Charge                                                      =   71.0 [%]
Capacity                                                    =  100.0 [%]

Last edited by 860lacov (2023-10-17 17:44:52)

Offline

#4 2023-10-18 18:10:57

linrunner
Member
Registered: 2013-04-21
Posts: 52

Re: Tlp battery recalibration don't work on new ThinkPad

I would like to see in addition:

tlp-stat -s

Offline

#5 2023-10-18 19:59:48

860lacov
Member
Registered: 2020-05-02
Posts: 452

Re: Tlp battery recalibration don't work on new ThinkPad

linrunner wrote:

I would like to see in addition:

tlp-stat -s
tlp-stat -s
--- TLP 1.6.1 --------------------------------------------

+++ System Info
System         = LENOVO ThinkPad P14s Gen 4 21K50003GE
BIOS           = R2FET33W (1.13 )
EC Firmware    = 1.11
OS Release     = Arch Linux
Kernel         = 6.5.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 10 Oct 2023 21:10:21 +0000 x86_64
/proc/cmdline  = initrd=\amd-ucode.img initrd=\initramfs-linux.img rd.luks.name=951770a6-5395-4ba9-93d4-773bfc99dc72=cryptroot rd.luks.options=discard,password-echo=no root=/dev/mapper/cryptroot rootflags=subvol=@ rw
Init system    = systemd 
Boot mode      = UEFI
Suspend mode   = [s2idle]

+++ TLP Status
State          = enabled
RDW state      = not installed
Last run       = 21:56:13, 160 sec(s) ago
Mode           = battery
Power source   = battery

Offline

#6 2023-10-20 17:40:47

860lacov
Member
Registered: 2020-05-02
Posts: 452

Re: Tlp battery recalibration don't work on new ThinkPad

In article here :
https://www.phoronix.com/review/thinkpad-p14s-gen4/6

There is an information that p14s doesn't support ACPI Platform Profiles in current bios version.
Could it be related?

Last edited by 860lacov (2023-10-20 17:41:07)

Offline

#7 2023-10-20 18:49:25

linrunner
Member
Registered: 2013-04-21
Posts: 52

Re: Tlp battery recalibration don't work on new ThinkPad

I tried it on a T14 Gen 4 AMD yesterday. Did not work either. Lenovo seems to have changed something in the BIOS. The ACPI call used in the kernel for force-discharge works unchanged with all ThinkPad series since 2011, but apparently no longer with Gen 4. Unfortunately said ACPI call is undocumented/not supported by Lenovo.  Don't expect a solution or workaround anytime soon.

Last edited by linrunner (2023-10-21 05:47:34)

Offline

#8 2023-10-20 18:53:19

linrunner
Member
Registered: 2013-04-21
Posts: 52

Re: Tlp battery recalibration don't work on new ThinkPad

There is an information that p14s doesn't support ACPI Platform Profiles in current bios version. Could it be related?

Unlikely. Completely different functionality.

Offline

#9 2023-10-20 20:16:42

860lacov
Member
Registered: 2020-05-02
Posts: 452

Re: Tlp battery recalibration don't work on new ThinkPad

linrunner wrote:

I tried it on a T14 Gen 4 Intel yesterday. Did not work either. Lenovo seems to have changed something in the BIOS. The ACPI call used in the kernel for force-discharge works unchanged with all ThinkPad series since 2011, but apparently no longer with Gen 4. Unfortunately said ACPI call is undocumented/not supported by Lenovo.  Don't expect a solution or workaround anytime soon.

That is very bad news.
Thank you for the information.

Offline

#10 2023-10-21 05:52:34

linrunner
Member
Registered: 2013-04-21
Posts: 52

Re: Tlp battery recalibration don't work on new ThinkPad

Bad news indeed. But we still only have a sample of 2. 

By the way, I got that mixed up: the T14 was an AMD, your P14s is Intel AMD too.

EDIT: 21K50003GE is AMD

Last edited by linrunner (2023-10-21 08:49:43)

Offline

Board footer

Powered by FluxBB