Ubuntu 中的电池阈值(戴尔)

Ubuntu 中的电池阈值(戴尔)

正如原帖中问到的其他问题,我想要一个电池阈值。

然而,对我来说,当我在终端中输入

echo 80 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold

即使我在“echo”之前输入“sudo”,终端也会显示“权限被拒绝”的消息。

我还能怎样做呢?

编辑:我在 Dell Latitude 7390 上使用 Ubuntu 20.04。

这就是为什么我去的时候会进入航站楼/sys/class/power_supply/

在此处输入图片描述

当我进入该文件夹时BAT0,我得到的内容如下:

在此处输入图片描述

编辑:

这是我跑步时得到的smbios-battery-ctl --set-charging-mode custom

在此处输入图片描述

答案1

  1. 从以下位置下载适用于 Ubuntu 20.04 的 Dell Command Configure这里下载链接

  2. 根据安装本文

tar -xvzf command-configure_4.4.0-<Build Number>.<Ubuntu Version>_<architecture>.tar.gz

sudo dpkg -i srvadmin-hapi_9.3.0_amd64.deb

如果由于依赖性问题导致安装失败,则运行以下命令从 Ubuntu 存储库安装所有依赖包: apt-get -f 安装

sudo dpkg -i command-configure_4.4.0-<Build Number>.<Ubuntu Version>_<architecture>.deb
  1. 进入安装目录。cd /opt/dell/dcc

  2. 运行sudo ./cctk --PrimaryBattChargeCfg=Custom:low-high(例如:sudo ./cctk --PrimaryBattChargeCfg=Custom:50-70

选项文档

答案2

请通读整篇文章。我给出了两种可能的解决方案,以及一种可能的解决方案路线(如有需要,可进一步探索)。

解决方案 1

此主题提到了cctk戴尔专用的应用程序(客户端配置工具包)。
命令cctk --PrimaryBattChargeCfg=Custom:50-70可能会起作用。CCTK
可能会被Dell 命令 | 配置,我不确定 CCTK 是否在某些系统中仍然有效。

解决方案 2

此主题指的是传输层协议和戴尔。但是官方文档显示戴尔的电池阈值无法通过 TLP 控制。 在帖子底部,结果表明 可以帮助,通过
smbios-battery-ctl --set-custom-charge-interval low high
(和smbios-battery-ctl --set-charging-mode custom)。

另一条可能的路线

在我的联想中,我有 charge_start_thresholdcharge_stop_threshold,但没有 charge_control_start_thresholdcharge_control_end_threshold。在/sys/class/power_supply/BAT0

这个老答案显示联想的文件start_charge_threshstop_charge_thresh目录。/sys/devices/platform/smapi/BAT0/

因此,您的戴尔电脑中的文件名和/或目录可能有所不同。您可以尝试所有相同的方法,但文件名改为charge_end_threshold, charge_stop_thresholdcharge_control_stop_threshold 然后跟进您链接的 OP。

额外信息

  1. 这个旧线程提到如果你在 Windows 中设置阈值,Linux 将遵守这些阈值,尽管无法在 Linux 内部更改它们。我不知道这个解决方法是否对你有用,而且这些信息可能已经过时了。

  2. 提到
    为了在很少使用电池的情况下实现最长的使用寿命,请设置自定义充电阈值,以在电量达到 40% 时开始充电并在电量达到 50% 时停止充电,并保持 ThinkPad 凉爽。可以在 Lenovo Power Manager 的电池维护设置中调整阈值
    如果电池使用频率较高,请将启动阈值设置为 85% 左右,并在 90% 时停止。与将电池充电至 100% 相比,这仍将带来良好的使用寿命优势

答案3

借助大量额外数据和Dell Latitude 7390 用户手册,看来 BIOS 没有配置为允许您的电池使用某些高级电源管理功能,如charge_control_end_thresholdcharge_stop_threshold

第一个线索来自Permission denied设置时的错误charge_control_end_threshold,因为我们无法添加任何/sys/class/不存在的内容。当出现同样的错误时charge_stop_threshold,它迫使我们重新考虑确定电池是否名为BAT0BATTBATCBAT1在几款 Acer 型号上为或)。但是,最终确认是在/sys/class/power_supply/BAT0/伪目录的输出中看到的。这些“文件”是使用电池时的 API 接口,这就是我们无法添加(或删除)其中任何一个的原因。

不幸的是,我附近没有戴尔电脑可以测试这一点,但是,根据用户手册,通过调整 BIOS 中的几个设置可能可以激活所需的功能。

我们来试试这个:

  1. 重启机器

  2. 进入 BIOS

    F12当戴尔徽标出现时按下 键以访问包含有效设备列表的启动菜单。选择“其他选项”,然后进入“BIOS 设置”

  3. 找到“电源管理”

  4. 找到“主电池充电配置”并将值更改为“自定义”。根据文档:

    如果选择了自定义充电,您还可以配置自定义充电开始和自定义充电停止。

  5. 保存设置并重新启动 Ubuntu

完成此操作后,只要您的电池支持设置(和显示)充电阈值的功能,您就应该在该位置看到charge_control_end_threshold和/或。charge_stop_threshold/sys/class/power_supply/BAT0

希望这能给你你想要的东西

相关内容