我有一台运行 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
参考 :
ThinkPad 的配置文件示例:
https://gist.github.com/pauloromeira/787c75d83777098453f5c2ed7eafa42a
答案2
问题似乎是由固件中的错误引起的。我还没有找到解决办法,但我想出了一个可用的解决方法。
发出命令后,tlp setcharge 40 50
充电阈值将在 /sys/devices/platform/smapi/BAT 中设置1尽管笔记本电脑只有一块电池。/sys/devices/platform/smapi/BAT0 中的阈值保持不变。看来,当电池电量低于 BAT 阈值时,该错误会导致开始充电0当达到 BAT 阈值时停止1。
我的解决方法是手动将所需的阈值存储在 BAT0 和 BAT1 子目录中,此后充电将在预期值处开始和停止,尽管启动阈值的存储值错误地显示为停止阈值加一的值。
BIOS 升级可能会解决问题,但正如我之前的评论中所说,我不愿意升级这台笔记本电脑的 BIOS,而且联想的新版本发行说明中也没有专门与电池固件相关的内容。