Linux

如何調整筆記本電池的充電門檻值?

  • February 19, 2022

我的筆記型電腦是聯想 T400,作業系統是 Ubuntu 12.04。

我無法調整電池開始充電和停止充電的門檻值。我觀察到它目前的開始充電門檻值約為40%,停止充電門檻值約為60%。我忘了是不是我,我用哪個程序控制電池在 60% 時停止充電並在 40% 時開始充電。

我關注了我之前的文章https://askubuntu.com/questions/58789/how-to-check-charged-percentage-of-battery-and-to-adjust-its-thresholds,但我沒有找到/sys/devices/platform/smapi. 我也有/proc/acpi/battery/BAT0/,但我只有三個文件 alarminfostate.

我想調整門檻值。所以我想知道如何做到這一點?

您需要安裝tp_smapi-dkms,只需執行

apt-get install tp_smapi-dkms

完成後,用於lsmod | grep tp_smapi檢查模組是否已載入,調整充電門檻值,執行以下操作

echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 60 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

添加這些行以/etc/rc.local在啟動時執行它們。

該模組至少在 X220 上工作。

較新的 Lenovo ThinkPad(例如我的 E540)與 tp_smapi-dkms 不兼容。幸運的是,我發現TLP 實用程序可以使用不同的模組——例如 tp_smapi 或 thinkpad_acpi DKMS 模組——將門檻值傳達給電池。其他聯想筆記型電腦可能會使用 acpi_call 核心模組與電池進行通信。

**注意:**當核心 5.17 可供您使用時,它將有一個名為 natacpi 的新核心模組,它消除了對 tp_smapi 的需要。此外,最新版本的 TLP 在一些其他製造商的硬體中支持收費門檻值

如今,TLP 可通過標準 Ubuntu 或 Debian 儲存庫獲得。(儘管您可能會受益於使用TLP 網站安裝軟體包的最新版本。)

安裝 TLP 後,使用配置文件 /etc/default/tlp 中的兩行設置電池充電門檻值

START_CHARGE_THRESH_BAT0=65
STOP_CHARGE_THRESH_BAT0=80

此範例告訴 TLP 將電池門檻值設置為在 65% 時開始充電並在 80% 時停止充電。我發現即使啟動到沒有安裝 TLP 的不同作業系統時門檻值仍然正確。(儘管我認為如果您啟動到 Windows 或其他安裝了電源管理工具的作業系統,該作業系統可能會覆蓋之前設置的充電門檻值。)

要暫時將電池充滿電,請發出以下終端命令:

$ sudo tlp fullcharge

然後電池將充電至其最大容量,然後恢復到之前的門檻值。

**注意:**如果您的筆記型電腦不是“ThinkPad”,TLP 可能無法設置您的電池電量。但是,最近的版本增加了對其他品牌和型號的支持

如果您的供應商為 Windows 提供電源管理實用程序,您可能可以使用某種形式的 Windows 啟動以設置電池充電水平,然後重新啟動進入 linux。根據我的經驗,電池充電門檻值設置在系統重新啟動後仍然存在。

引用自:https://unix.stackexchange.com/questions/48534