Linux下安装tpacpi-bat 控制thinkpad 充电阈值

原创 2013年10月17日 19:39:59

简介: thinkpad 使用tp_smapi (http://www.thinkwiki.org/wiki/Tp_smapi) 设置电池充电阈值, 此外tp_smapi 还附带了HDAPS(类似win下的硬盘保护).

但是 2013新出的几款Ivy Bridge 平台的thinkpad(X230,T430,T530), 已经无法使用tp_smapi了. 

tp_smapi 项目也有两年多没有更新 : https://github.com/evgeni/tp_smapi


虽然tp_smapi已经无法支持T430, 但是我们还有tpacpi-bat可以使用. 

安装过程:


(1) sudo yum install pmtools iasl

安装acpidump , iasl工具


(2) sudo acpidump -b -t DSDT -o /tmp/dsdt.aml

可能会返回Wrong checksum for FADT!错误, 忽略.

iasl -d /tmp/dsdt.aml

cat /tmp/dsdt.dsl | grep \\\\_SB\.PCI.*HKEY -o | uniq

记住输出的  T430上输出是"\_SB.PCI0.LPC.EC.HKEY"


(3) 下载acpi_call 代码并编译: https://github.com/mkottman/acpi_call
sudo make
sudo make install
sudo depmod -a
sudo modprobe acpi_call

载入acpi_call.ko之后,会多出一个 /proc/acpi/call "文件", 通过写入参数到这个文件, 实现与acpi_call的交互.   tpacpi-bat就是通过这种方式控制电池阈值. 当然也可以通过acpi_call控制独立显卡的关闭(双显卡的机型).


(4) 下载tpacpi_call解压: https://github.com/teleshoes/tpacpi-bat
需要编辑一下 vim  tpacpi-bat

修改 "my $aslBases = ..." 改为自己的, 例如:

my $aslBases = {
  'default'              => '\_SB.PCI0.LPC.EC.HKEY',
  'ThinkPad W520'        => '\_SB.PCI0.LPC.EC.HKEY',
  'ThinkPad T430'        => '\_SB.PCI0.LPC.EC.HKEY',
  'ThinkPad T430u'       => '\_SB.PCI0.LPCB.EC.HKEY',
};
然后把tpacpi-bat 移动到/usr/local/bin .



(5) 添加如下到开机脚本中, 比如/etc/rc.local

/usr/local/bin/tpacpi-bat -s ST 0 70
/usr/local/bin/tpacpi-bat -s SP 0 90

开机会通过tpacpi_call 向/proc/acpi/call 写入参数, 实现充电阈值的控制.






参考:

http://ubuntuforums.org/showthread.php?t=2148044
http://smitran.com/centos-6-thinkpad-t530-prolong-battery-life-with-tpacpi-bat/

http://blog.thekondor.net/2012/09/make-new-thinkpads-charge-thresholds.html

linux下安装网卡驱动——modprobe,U盘

在公司Linux服务器上安装网卡驱动,首先去服务器厂商网站下载对应的网卡驱动。 下载下来后,拷到U盘,然后到机房把U盘插到服务器上,等到终端界面出现提示后,开始挂载U盘。在linux下,若有自动挂载...
  • bytxl
  • bytxl
  • 2014年06月28日 12:38
  • 1312

笔记本电池常识和THINKPAD电源管理器介绍--能设置充电起点和终点

笔记本电池常识 笔记本电池的种类     目前笔记本使用的电池主要分三种:1.镍镉电池、2.镍氢电池、3.锂电池;它们一般表示为:镍镉NI-CD、镍氢NI-MH、锂电 LI。笔记本电池由外壳、电...
  • dscyw
  • dscyw
  • 2013年04月05日 13:41
  • 2142

thinkpad X240 安装Ubuntu14.04 系统并搭建android开发环境

x240 是比较新的笔记本。 开始不想用14.0
  • hox123
  • hox123
  • 2014年05月30日 21:54
  • 1314

Thinkpad T440p安装Linux的种种问题

From: http://blog.csdn.net/quqi99/article/details/25320181 Thinkpad T440p里使用了一些最新的硬件,这些硬件厂商对Linux高...
  • ccwwff
  • ccwwff
  • 2015年01月13日 19:14
  • 2293

linux 内核模块查看,加载,删除命令modprobe

modprobe命令 modprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时...
  • hzhsan
  • hzhsan
  • 2015年02月28日 13:33
  • 12569

modprobe wl.ko 出错,使用如下方法解决,成功安装驱动。

无线网卡不能上网,要么是无线网卡驱动没有正确安装,要么是network manager 不好用。解决方法如下: 一  正确安装官方版本的Linux 驱动(本机的无线网卡型号是 BCM43...
  • shanshan3548
  • shanshan3548
  • 2014年05月18日 19:06
  • 1346

Linux 性能瓶颈阈值分析

本文介绍了哪些工具来分析Linux的性能瓶颈:如CPU、磁盘IO、网络IO、内存等瓶颈问题...
  • timchen525
  • timchen525
  • 2017年07月18日 21:37
  • 451

基于IFB对网络入口流量设置Qos策略

实验目的:Open vSwitch对入口流量的QoS只能做限速操作,本实验是为了能实现像出口流量一样的QoS 实验方法:使用Linux内核直接支持的IFB(Intermediate Function...
  • eydwyz
  • eydwyz
  • 2016年11月29日 14:25
  • 733

Linux如何在系统启动时自动加载模块

下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的: rc.sysinit中有这样的一段代码: # Load other u...
  • qq_29350001
  • qq_29350001
  • 2016年06月14日 10:52
  • 3538

Thinkpad T440s重装系统 Window或者linux

1.首先在开机第一个图片下按下F12进入系统BIOS, Security->Security Boot ,设置为Disabled         2.Startup->UEFI/Legacy Boot...
  • solarsaber
  • solarsaber
  • 2016年09月27日 16:19
  • 1275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下安装tpacpi-bat 控制thinkpad 充电阈值
举报原因:
原因补充:

(最多只允许输入30个字)