Thinkpad E50 上的 tlp 忽略了电池充电阈值

Thinkpad E50 上的 tlp 忽略了电池充电阈值

我有一台运行 MX Linux 21.2.1 的 Thinkpad Edge E50,我正在尝试配置它以获得最佳电池寿命。如果我正确理解了手册页,那么使用命令tlp setcharge 40 50后跟在tlp start电池电量降至 40% 时激活充电并在 50% 时停止充电就足够了,但这并没有发生在我身上。无论电量水平如何,充电始终会开始,并持续到 100%,

我也尝试在 /etc/tlp.conf 中设置 BAT0 和 BAT1 的阈值,但没有任何效果。

我已阅读“为什么我的电池充电到 100%”一节tlp 常见问题解答 并且所需的内核模块似乎已加载

root@thinkpad:~# lsmod | grep tp_smapi
tp_smapi               45056  0
thinkpad_ec            16384  1 tp_smapi

tlp-stat 没有报告任何问题

root@thinkpad:~# tlp-stat -b
--- TLP 1.5.0 --------------------------------------------

+++ Battery Care
Plugin: thinkpad-legacy
Supported features: charge thresholds, recalibration
Driver usage:
* tp-smapi (tp_smapi) = active (status, charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  2..96(default)
* STOP_CHARGE_THRESH_BAT0/1:   6..100(default)

+++ ThinkPad Battery Status: BAT1 (Ultrabay / Slice / Replaceable)
/sys/devices/platform/smapi/BAT1/manufacturer               = (not available)
/sys/devices/platform/smapi/BAT1/model                      = (not available)
/sys/devices/platform/smapi/BAT1/manufacture_date           = (not available)
/sys/devices/platform/smapi/BAT1/first_use_date             = (not available)
/sys/devices/platform/smapi/BAT1/cycle_count                = (not available)
/sys/devices/platform/smapi/BAT1/temperature                =      0 [°C]
/sys/devices/platform/smapi/BAT1/design_capacity            = (not available) 
/sys/devices/platform/smapi/BAT1/last_full_capacity         = (not available) 
/sys/devices/platform/smapi/BAT1/remaining_capacity         = (not available) 
/sys/devices/platform/smapi/BAT1/remaining_percent          = (not available) 
/sys/devices/platform/smapi/BAT1/remaining_running_time_now = (not available) 
/sys/devices/platform/smapi/BAT1/remaining_charging_time    = (not available) 
/sys/devices/platform/smapi/BAT1/power_now                  = (not available) 
/sys/devices/platform/smapi/BAT1/power_avg                  = (not available) 
/sys/devices/platform/smapi/BAT1/state                      = none

/sys/devices/platform/smapi/BAT1/start_charge_thresh        =     40 [%]
/sys/devices/platform/smapi/BAT1/stop_charge_thresh         =     39 [%]
/sys/devices/platform/smapi/BAT1/force_discharge            =      0

我注意到 tlp-stat 显示的是 BAT1 的值,而我原本预计的是 BAT0,因为这台笔记本电脑只有一块电池,这可能有关系吗?它还报告了错误的停止阈值值 (39),该阈值设置为 40,但常见问题解答提到,这对于 Edge 系列来说是正常现象,充电阈值应该按配置工作。

答案1

该命令tlp setcharge不是您想要的命令,因为它只在下次启动前有效。

您应该永久更改配置文件中的充电参数/etc/tlp.conf。以下内容可能会有所帮助:

# Main / Internal battery (values in %)
START_CHARGE_THRESH_BAT0=40
STOP_CHARGE_THRESH_BAT0=50

参考 :

答案2

问题似乎是由固件中的错误引起的。我还没有找到解决办法,但我想出了一个可用的解决方法。

发出命令后,tlp setcharge 40 50充电阈值将在 /sys/devices/platform/smapi/BAT 中设置1尽管笔记本电脑只有一块电池。/sys/devices/platform/smapi/BAT0 中的阈值保持不变。看来,当电池电量低于 BAT 阈值时,该错误会导致开始充电0当达到 BAT 阈值时停止1

我的解决方法是手动将所需的阈值存储在 BAT0 和 BAT1 子目录中,此后充电将在预期值处开始和停止,尽管启动阈值的存储值错误地显示为停止阈值加一的值。

BIOS 升级可能会解决问题,但正如我之前的评论中所说,我不愿意升级这台笔记本电脑的 BIOS,而且联想的新版本发行说明中也没有专门与电池固件相关的内容。

相关内容