1) You can get acpi_call here:https://github.com/mkottman/acpi_call
Extract and "cd" to that folder (in the terminal).
sudo make
sudo make install
sudo depmod -a
sudo modprobe acpi_call
(2) install acpidump
sudo apt-get install acpidump
sudo acpidump -b -t DSDT -o /tmp/dsdt.aml
这里有点不一样,上面命令执行错误
执行sudo acpidump -b 得到很多.dat只需用到 dsdt.dat (maybe an error: Wrong checksum... I got it but it is ok)
iasl -d dsdt.dat
~$ cat dsdt.dsl | grep \\\\_SB\.PCI.*HKEY -o | uniq\_SB.PCI0.LPC.EC.HKEY输出为(ThinkPad-X240):\_SB.PCI0.LPC.EC.HKEY
(3) Get tpacpi-bat here:https://github.com/teleshoes/tpacpi-bat
git clone https://github.com/teleshoes/tpacpi-bat tpacpi-bat
Extract and "cd" to that folder (in the terminal).
Open the tpacpi-bat file in the folder with gedit: (sudo) gedit tpacpi-bat
Change "my $aslBases = ..." to what we got in (2). I changed all of them, default, W520, L430,... all.
sudo cp tpacpi-bat /opt/sbin (路径)
(4) Now you may follow the README, for example (at the tpacpi-bat folder):
sudo tpacpi-bat -v -s ST 1 50
batt1 is going to change the start threshold to 50%.
sudo tpacpi-bat -v -s ST 2 50
batt2 is going to change the start threshold to 50%.
sudo ./tpacpi-bat -v -s SP 0 90
changes the stop at 90%.
(5) Reboot.
You WON'T notice difference in the battery icon in unity-indicator. But the voltage settles down when it is charged to 90%, for example.
Let me know any mistakes I made.
(6)查看结果
sudo /opt/sbin/tpacpi-bat -v -g ST 2
Call: \_SB.PCI0.LPC.EC.HKEY.BCTG 0x2 Response: 0x332lled50 (relative percent)
Last edited by tpmaxwell; May 24th, 2013 at01:22 AM.