搞定了Ubuntu 10.10上的Thinkpad fan control

笔记本/便携移动设备,手机平板等软硬件
回复
songbai
帖子: 8
注册时间: 2010-08-26 9:36

搞定了Ubuntu 10.10上的Thinkpad fan control

#1

帖子 songbai »

原文在我的blog上:http://hi.baidu.com/baisongblog/blog/it ... 1c779.html

ubuntu有个Thinkpad fan control软件,用来控制CPU风扇。如果不使用,我的X61的风扇就老是转个不停。在夜深人静的时候,其噪音很影响使用感受。遗憾的是,在 10.10下,这个软件的模块之一“tpfan-admin“安装会出现问题,幸亏已经有人讨论并解决了这个问题,在此把整个解决过程记录一下。

一、资源地址
1,Thinkpad fan control主页:http://www.gambitchess.org/mediawiki/in ... an_Control
2,讨论10.10下“tpfan-admin“安装问题的帖子:http://georgia.ubuntuforums.org/showthr ... ?t=1586094
3,参考文章:《x200 风扇控制 tpfan for ubuntu》http://www.ariose.cn/archives/61

二、安装tpfand和tpfand-profiles

1,这部分安装是正常的。打开命令行,先
sudo gedit /etc/apt/sources.list

然后加入以下源地址:
deb http://ppa.launchpad.net/tp-fan/ppa/ubuntu jaunty main
deb http://ppa.launchpad.net/tp-fan/ppa/ubuntu intrepid main
deb http://ppa.launchpad.net/tp-fan/ppa/ubuntu hardy main

然后更新你的软件列表
sudo apt-get update

2,增加验证码
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 59BE7ED0

3,打开新立得,用tpfan关键字搜索,安装tpfand和tpfan-profiles模块

三、安装tpfan-admin

1,安装这个部分比较麻烦,参考的就是“讨论10.10下“tpfan-admin“安装问题的帖子”。下载以下两个包到你的home文件夹:
http://ppa.launchpad.net/tp-fan/ppa/ubu ... u1_all.deb
http://ppa.launchpad.net/tp-fan/ppa/ubu ... u1_all.deb
上面第一个包是可以正常安装的,安装它。

2,你可以下载附件中的“修改后的tpfan-admin_0.96-ubuntu1_all.deb”,这就可以直接跳到第5步。如果你想亲手实践一下,那请继续。在你的home目录下建一个新目录“tpfan-admin-new“,把第二个包解压缩到这里。

3,这是关键的一步,找到~/tpfan-admin-new/DEBIAN/control文件,把里面的“python-gnome2-desktop”替换成“python-gnome2-desktop-dev”

4,cd ~/tpfan-admin-new/,用以下命令重新打包:
dpkg-deb -D --build tpfan-admin_0.96-ubuntu1_all
然后安装这个包。

5,在终端运行sudo gedit /usr/lib/python2.6/dist-packages/tpfand/settings.py7,把里面的170-174行从原来的:

self.product_id = None
self.product_name = None
self.product_pretty_vendor = None
self.product_pretty_name = None
self.product_pretty_id = None

改成:

self.product_id = ""
self.product_name = ""
self.product_pretty_vendor = ""
self.product_pretty_name = ""
self.product_pretty_id = ""

保存退出。

6,运行 sudo /etc/init.d/tpfand restart

这样,tpfan-admin在我的机器上也安装好了,就可以用它来控制触发风扇转动的温度了。
附件
tpfan-admin_0.96-ubuntu1_all.deb
修改后的tpfan-admin_0.96-ubuntu1_all.deb
(69.97 KiB) 已下载 293 次
头像
0cean
帖子: 87
注册时间: 2007-12-07 15:53

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#2

帖子 0cean »

多谢楼主分享,T61上照搬教程,成功安装。
ub7016
帖子: 72
注册时间: 2010-06-13 15:00
来自: 厦门
联系:

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#3

帖子 ub7016 »

我的4745风扇也是比较大声的
有电脑方面的问题或者需要电脑配件的可以联系我!
QQ:675896390 TEL:18965160769
My BBS:http://bbs.gao7.com/
头像
anonymity
帖子: 645
注册时间: 2009-03-14 16:31
来自: 不在故乡的地方

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#4

帖子 anonymity »

首先,在模块配置里面开启风扇控制(网页上有教程)

代码: 全选

 options thinkpad_acpi fan_control=1
然后,安装thinkfan
其实也就是一个脚本,在deamon中加入thinkfan,开机启动。
检查/etc/thinkfan.conf文件(随thinkfan一起安装的)

检查当前风扇级别和转速:

代码: 全选

[mza@mza ~]$ cat /proc/acpi/ibm/fan 
status:		enabled
speed:		3265
level:		2
commands:	level <level> (<level> is 0-7, auto, disengaged, full-speed)
commands:	enable, disable
commands:	watchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))
Only the dead have seen the end of war!
jesse9966
帖子: 20
注册时间: 2010-01-27 20:24

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#5

帖子 jesse9966 »

楼主,为什么我的运行sudo gedit /usr/lib/python2.6/dist-packages/tpfand/settings.py7 后 里面是一片空白啊 ,我是直接跳到第5步 安装了你的修改文件^^^
davidchenbin
帖子: 62
注册时间: 2008-08-22 20:04

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#6

帖子 davidchenbin »

我的T60不知道能不能成
xtz1990
帖子: 452
注册时间: 2010-06-03 22:51

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#7

帖子 xtz1990 »

非IBM本本也可以用吗?
头像
ahwad
帖子: 1116
注册时间: 2009-05-06 0:36

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#8

帖子 ahwad »

学习了。。。。。。
蓝山咖啡
帖子: 13
注册时间: 2011-05-07 4:40

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#9

帖子 蓝山咖啡 »

俺试了,没好用,唉。。。。。。继续忍受风扇的咆哮
蓝山咖啡
帖子: 13
注册时间: 2011-05-07 4:40

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#10

帖子 蓝山咖啡 »

jesse9966 写了:楼主,为什么我的运行sudo gedit /usr/lib/python2.6/dist-packages/tpfand/settings.py7 后 里面是一片空白啊 ,我是直接跳到第5步 安装了你的修改文件^^^
终于都搞定了,那个是空白说明这个文件不在那个地方,你得进去usr里找,我装完11.04之后里面有3个python分别是2.5, 2.6, 2.7最后被我在2.7里找到settings.py的

现在风扇转速在2700左右,但貌似还是很响。。。。。,不知道是不是电脑上岁数了,考虑换风扇了。
alanfly
帖子: 334
注册时间: 2007-12-19 16:15

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#12

帖子 alanfly »

同楼主,昨晚受不了风扇噪音装了tpfand、tpfan-admin,arch下安装挺方便的,都在aur里,直接yaourt安装就行了;tpfand-profiles内置的方案有点旧无法识别我的机器;
只好按照这篇博文(x200 风扇控制)的介绍自己写配置文件,把识别出的传感器都设置成

代码: 全选

50:0 55:3 60:6 70:255
这样冬天暖手又不吵。 :em09
xyq164288
帖子: 80
注册时间: 2009-01-25 15:13

Re: 搞定了Ubuntu 10.10上的Thinkpad fan control

#13

帖子 xyq164288 »

Ubuntu下Thinkpad风扇配置

[日期:2011-07-12] 来源:Linux社区 作者: Mandrake [字体:大 中 小]
安装thinkfan

thinkfan的配置非常简单,它通过读取配置文件(/etc/thinkfan.conf)中的(FAN_LEVEL, LOWER_LIMIT, UPPER_LIMIT)
三元组来实现使用温度上下限来控制风扇转速级别。底层是需要有thinkpad_acpi内核模块的支持,
内核模块通过/proc/acpi/ibm/fan这个procfs节点给用户空间提供了风扇控制的具体方法。

打开thingkpad_acpi的风扇控制
首先要打开thinpad_acpi的风扇控制支持,具体做法是在加载这个内核模块的时候给它传递一
个打开风扇控制的变量。具体做法如下:

modprobe thinkpad_acpi fan_control=1 experimental=1

要实现开机加载模块时设置,则需要在/etc/modprobe.d/下增加一个配置文件thinkpad-acpi.conf,内容:

options thinkpad_acpi experimental=1 fan_control=1

安装thinkfan
安装Ubuntu软件仓库里面的thinkfan和sysfsutils(读取和设置sysfs属性)。

aptitude install thinkfan sysfsutils

thinkfan会在系统的运行级别中添加thinkfan的后台服务,这样就可实现开机运行。

配置和激活thinkfan
阅读/etc/thinkfan.conf可以知道它是通过thinkpad_acpi提供的风扇控制接口来实现风扇控制的,
它给风扇的转速级别对应了一个上下限温度, 【 Linux公社 www.Linuxidc.com 】 在这个上下限内就设置对应的转速。

安装后发现thinkfan并没有直接生效,阅读了/etc/init.d/thinkfan脚本后发现还需要设置/etc/default/thinkfan
文件中的START=yes。

到这里,thinkpad的风扇控制就应该打开了。

玩thinkpad_acpi的风扇控制接口
Ubuntu对于Thinkpad ACPI的驱动支持相当丰富,而这个模块提供了电脑上几乎所有会发热的部件的信息。

在Shell下运行 cd /proc/acpi/ibm/进入目录。其中的文件就是acpi当前的信息,包括各个指示灯是否亮着,快捷键的状态,是否连接了外设等等。用cat [parm] > filename就可以直接往文件里写数据,这个数据会影响到电脑。而其中的thermal就是显示温度的。运行cat thermal,得到结果如下:

temperatures: 48 39 39 43 28 -128 24 -128 39 40 -128 -128 -128 -128 -128 -128

这里的结果和Thinkpad型号有关,各个数字表示的部件温度也各不相同,在thinkwiki上可以查到资料。都是网友实验出来的,没有官方资料。现在比较确定的是第一个一般是CPU温度。其中-128(就是单字节有符号整数的最小值)表示读不到温度。比如有些读取电池温度而此时电池没装,有些读取Ultrabay扩展底座温度等。

好,接下来是风扇的问题。在同一目录下运行cat fan,将显示当前风扇状态:

status: enabled

speed: 3344

level: 1

commands: level <level> (<level> is 0-7, auto, disengaged, full-speed)

commands: enable, disable

commands: watchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))

其中speed的单位是rpm,level表示转速等级。0表示不转,7最高速。

有了这两个信息之后就是根据温度控制风扇速度了。thinkfan控制软件,配置文件在/etc/thinkfan.conf

我的X200配置如下:

sensor /proc/acpi/ibm/thermal (0, 3, 3, 2, 10, 0, 10, 0, 2, 2)

(0, 0, 45)

(1, 45, 48)

(2, 48, 55)

(3, 55, 58)

(4, 58, 60)

(5, 60, 63)

(6, 63, 65)

(7, 65, 32767)

第一行表示温度值的修正。因为thinkfan根据读取到的最高温度来控制风扇。而部件温度和承受力是不一致的。比如CPU在80度下也能正常工作,而硬盘此时就会挂掉。所以对于读取到的温度值需要修正,这个括号里的数字会直接加到响应的thermal的数字上,一一对应。然后用其中修正过最大温度值进行控制。

下面的配置的格式是(level, min, max),表示温度在min和max之间的时候启动相应的风扇级别。其中0和7一定要配置,而各个级别的区间要合并完整,否则就会在特定温度下失效了。其中0级别从0开始,表示在max温度以下时关闭风扇,而7级别的max一般设成顶值,表示在min温度以上时全速运行。

最后用sudo thinkfan命令启动控制软件。随心所欲的控制温度,延长风扇寿命。

根据实际情况来看,达到0级的上限后会启动比较轻微的1级风扇,如果此时只是上上网的话,温度会马上降下来,风扇就会停止。而如果在打游戏或者大型应用的话,温度会缓缓上去,然后根据配置,风扇级别会缓缓提升,直到最高级别。

注意:

1、这个温度宁愿保守也不要因为风扇比较吵而设的很高,散热问题是笔记本第一杀手。

2、这个控制软件有时候会出错,风扇会一直转或者不转。前一种情况无所谓,后一种就比较危险。如果察觉到电脑很热而风扇没动静的话就要查看是否控制出了问题。一般重启即可
回复