注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

有情况

学会慢生活,拥有平常心……

 
 
 

日志

 
 

在Fedora14下面保护thinkpad笔记本电池  

2011-06-22 09:33:33|  分类: 操作系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
ubuntu下面有个tp_smapi模块什么的,可以像windows一样保护电池,google一把,发现fedora这方面居然落伍了,没有将upstream集成进来,可惜可惜,只有麻烦点DIY了。
根据forum.thinkpads.com上高手的指导,搞这个东东需要先使用akmods,装好akmod-tp_smapi之后,再进行modprobe装载smapi电池管理模块,最后设置充电起始和终止的阈值,细节如下:
在http://izhar.fedorapeople.org/tp_smapi-kmod/下载为Fedora编译好的akmod模块,版本低点没关系。
使用rpm -ivh akmod-tp_smapi-0.40-1.fc11.i686.rpm安装之,注意,这个rpm需要kernel devel的支持
调用service akmods restart,

之后rpm -qa|grep smapi一下,可以看到为F14有关kernel弄好的rpm已经生成安装了
这时候可以使用modprobe -l| grep smapi看看模块是不是ready了,

随后modprobe tp_smapi装载模块试试。
于是乎,可以使用下面的指令设置充电阈值,BAT表示笔记本默认的电池(BAT1好像是BIOS电池,不用管它)

# echo 20 > /sys/devices/platform/smapi/BAT0/start_charge_thresh   
# echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh  


做到这里,基本上4和5是在每次需要启用这个功能之前必须做的,因此,不如搞个service,缺省启动,用起来方便(/etc/init.d/tp_smapi):

#!/bin/sh   
#   
# chkconfig: 12345 21 80  
. /etc/init.d/functions   
SMAPILOCK=/var/lock/tp_smapi_lock   
start()   
{   
echo -n $"Starting tp_smapi service: "  
/sbin/modprobe -q tp_smapi   
echo 20 > /sys/devices/platform/smapi/BAT0/start_charge_thresh   
echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh   
echo   
touch $SMAPILOCK   
echo   
}   
stop()   
{   
/sbin/modprobe -r tp_smapi   
rm -f $SMAPILOCK   
}   
status()   
{   
status=0  
if [ -f $SMAPILOCK ]; then   
echo "RUNNING"  
else  
echo "UNUSED"  
status=1  
fi   
return $status   
}   
case "$1" in   
start)   
start   
;;   
stop)   
stop   
;;   
restart)   
stop   
start   
;;   
status)   
status   
exit $?   
;;   
*)   
echo "Usage: $0 {start|stop|status|restart}"  
exit 1  
;;   
esac  


每一次F14升级内核后,有关的akmod都要重新弄,偷懒写个脚本解决吧
#!/bin/sh   

echo 'looking for old rpms ...'  

for rpm in `sudo rpm -qa| grep smapi`   
do  
        echo undeploying $rpm ...   
        sudo rpm -e $rpm   
done   

echo 'installing akmod ...'  
sudo rpm -ivh akmod-tp_smapi-0.40-1.fc11.i686.rpm   
sudo /usr/sbin/akmods --force   
sudo service akmods restart   

echo 'mod status:'  
sudo modprobe -l | grep smapi   

echo 'set battery thresholds ...'  
sudo service tp_smapi restart   

echo 'done.'  

  评论这张
 
阅读(83)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016