在 Ubuntu (ASUS) 上设置电池阈值

Thé*_*nel 8 battery laptop power-management tlp

我最近从 Windows 切换到 Ubuntu,当我发现在 Linux 上无法设置电池阈值时,我有点沮丧。在 Windows 上,我可以选择将电量限制为 60%(笔记本电脑在 60% 时停止充电并在 58% 时继续充电,以延长电池寿命)。我尝试使用 tlp 设置相同的程序,但它仅适用于联想 ThinkPad。我的电脑是华硕 VivoBook S14,我运行的是双启动 Windows 10 - Ubuntu 16.04。

我想知道是否有任何软件可以控制电池充电?或者也许是一种使用 tlp 来设置电池阈值的方法?

Mar*_*uts 9

要在 60% 时停止充电,我使用

echo 60 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
Run Code Online (Sandbox Code Playgroud)

目前我的电池电量为 63%,所以它没有充电(电源 LED 为白色)。如果我使用 70 而不是 60 运行上述命令,它会再次开始充电(电源 LED 变为红色)。

当我重新启动计算机时,此设置丢失。为了使它持久,我添加了

@reboot root echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold
Run Code Online (Sandbox Code Playgroud)

到我的/etc/crontab.

我的笔记本电脑是在 Ubuntu 20.04 LTS 下运行的 Asus Zenbook,但也许这也适用于其他品牌/发行版 - 探索您在/sys/class/power_supply/.


ald*_*nis 3

我拥有一台华硕 X405UQ,它附带了一个控制充电阈值的电池健康充电应用程序。但由于我只使用 Windows 10 玩游戏,所以我设置了工作环境并在 Windows 10 上安装了 Ubuntu 18.04 双启动。只要有可用的交流电源,我就会插入笔记本电脑,并且在我工作时它会保持插入状态。我仅在长途旅行时才使用电池,因此我搜索了适用于 Linux 的类似应用程序。我了解到,完成这项工作的驱动程序是特定于供应商的,而且华硕没有像 Thinkpad 那样支持 TLP 的 Linux 驱动程序。(下次我会买 Thinkpad)。

但我发现,在重新启动到 Ubuntu 18.04 之前启动到 Windows 并将充电阈值设置为 60%(无需关闭电源或关机)将保持充电阈值。即使我断开电源适配器并让它耗尽电池电量,再次插入电源也会充电至 59% 或 79%,具体取决于预设阈值(它始终比指示的阈值水平低 1%)。如果我关闭笔记本电脑电源、拔掉适配器、打开电源并直接启动至 Ubuntu,而不先进入 Windows,或者使用电池应用程序将其设置为 100%,则它只会恢复到原始状态(充电至 100%)在Windows中。

我对这个设置很满意,因为它比根本没有阈值控制要好。然而,我的笔记本电脑回到商店进行维修(5GHz 频段上的 Wi-Fi 连接间歇性),当我收到它时(恢复到原始出厂默认设置,Ubuntu 被删除)并再次安装 Ubuntu 18.04,该功能不再存在。

我尝试过更新 Ubuntu 内核,但没有成功。当我尝试升级 BIOS 时,我发现在撰写本文时安装的版本 305 尚不存在于华硕支持页面上(一些论坛称 Microsoft 更新对此负责),而最新的版本仅为 304 . 我尝试从 Asus 网站下载 WinFlash,但使用 /nodate 技巧降级 BIOS 不起作用。

对我有用的解决方案:

  1. 下载Asus WinFlash 3.0.1并安装。不要使用最新版本 3.2.5 或更高版本,因为它不再允许 /nodate 选项。我猜最近的 BIOS 更新解决了一些幽灵漏洞,他们不希望你降级 BIOS 版本,但我的电池寿命对我来说更重要。

  2. 降级至BIOS 版本 302。您的笔记本电脑型号可能有所不同,因此请根据您的笔记本电脑型号进行选择。解压缩 BIOS 文件。

  3. 在开始菜单中键入“WinFlash”。右键单击 WinFlash 图标并选择“打开文件位置”。这将打开一个 Windows 资源管理器,显示开始菜单快捷方式。右键单击 WinFlash 快捷方式并选择属性。在目标路径最左端的双引号后面添加一个空格,然后键入不带引号的“/nodate”。最终结果将如下所示:“C:\Program Files (x86)\ASUS\WinFlash\WinFlash.exe”/nodate

  4. 使用修改后的快捷方式运行 WinFlash 并选择下载的 BIOS 文件。“更新”按钮不应再显示为灰色。单击“更新”,然后,它会要求您重新启动,以便刷新 BIOS。确保您已插入电源或电池电量充足。

  5. 笔记本电脑将进入 BIOS 屏幕,您将看到一个进度指示器。在此过程中我的笔记本电脑重新启动了两次。我首先允许它启动到 Windows,然后重新启动它并输入 BIOS 设置以禁用安全启动(以允许我的 Ubuntu 18.04 启动)。此时,如果您的阈值水平低于电池当前充电水平,您应该注意到笔记本电脑上的 LED 电源指示灯变成白色而不是琥珀色,表明电池不再充电。即使您在启动到 Ubuntu 之前重新启动了笔记本电脑,这种情况也应该持续存在