通过软件停止/开始电池充电?


20

如果笔记本电脑已打开电源并连接到交流电源,是否可以发出命令告诉它不要为电池充电?

编辑:
如果有一种方法可以使系统认为电池已处于100%充电状态,则可能会停止电池充电。


2
有可能-我知道联想计算机能够在Windows加载时执行此操作。不知道Ubuntu是否有实现此功能的工具。
cprofitt 2012年

1
您能解释一下为什么要这样做吗?
coteyr 2012年

我有BIOS选项可以这样做。并不是您想要的,而是在那里看看。
Timo 2012年

@coteyr:这个与我有关的模糊问题解释了为什么将笔记本电脑始终保持100%充电并不理想。
unforgettableid

Answers:


4

在Thinkpad设备上,您可以在Ubuntu中控制电池充电的开始停止。在终端中运行以下命令进行安装tp-smapi

sudo apt-get install tp-smapi-dkms
sudo modprobe tp_smapi

然后将所需的充电阈值(您自己的值)写入以下位置的虚拟文件中/sys/devices/platform/smapi

echo 10 | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo 100 | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh

在以上命令中,您可以将值10和100更改为任何值。第一个值将帮助您选择必须在哪个级别开始充电,第二个值将使您选择必须在什么级别停止充电。


2

这在很大程度上取决于硬件。大多数笔记本电脑在硬件级别上都不允许您停止对电池充电。LION电池实际上受益于较小的充电-充电周期,大多数笔记本电脑将在硬件级别内置该周期。

就像您的电池指示器说的那样,电池实际上是100%放电并再充电一点以保持其健康。此外,对于大多数笔记本电脑而言,100%的笔记本电脑未满。

Windows中的某些笔记本电脑可以选择“禁用充电”,但这只是对NiCad电池的一种抛弃。如今,“设置”所做的就是启用“性能”模式。

如果您正在寻找相同类型的开关,那么我建议使用木星。它使您可以轻松地在性能模式之间切换,但又不能直接控制充电。

因为停止充电周期对于当前的电池非常不利,所以它不是很流行。因为它不流行,所以我怀疑您会找到一个好的GUI工具来完成此操作。您最好的选择可能是在/sys/class/power_supply/BAT0类似的区域四处看看,然后看到可以找到的东西,但是我很确定,您将无法禁用充电功能。


2

您不能使用用户空间中任何已知的软件界面来禁用充电。实际上,电池控件/sys/class/power_supply/BAT0是从ACPI _BIF,_BIX和_BST控件返回的静态和动态读数,它们是只读的。

没有ACPI控件可让您禁用电池充电,并且在我曾经使用过的所有通用x86移动平台上,电池控件均未公开。通常,此数据来自电池电量监测计,通常通过嵌入式控制器使用位冲击i2c进行读取。因此,实际上,您进行反向工程的机会很小,并且大多数都不允许禁用电池充电。


1

在大多数笔记本电脑中,嵌入式控制器就是其中的一个。我建议您学习ec_sys模块。modprobe ec_sys然后hexdump -C / sys / kernel / debug / ec / ec0 / io

您会在充电和放电时看到差异。还有一些更有趣的事情,例如:

1)使用交流电源(如果已连接)2)使用电池(即使已连接交流)3)充电/放电等


您还可以在DSDT acpi表中找到详细的嵌入式控制器映射。
Zibri
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.