[原创] Thinkfan安装配置使用

  最近Henry刚刚入手玩玩Ubuntu系统...as a new comer...肯定是一堆让人头疼的问题出现...今天就来处理下这个问题... ThinkPad上面安装Ubuntu后风扇声音问题.(对于其他牌子的电脑Henry没有研究(毕竟是个新手,先把自己电脑搞好再说...嘿嘿),不过前提是你的电脑必须支持acpi(Advanced Configuration and Power Management Interface高级配置和电源管理接口)).Henry的电脑是T420...Ubuntu系统是11.10的,因为这个版本的系统已经有对T420授权认证...驱动是没有问题的(不包括NVIDIA显卡)...好啦,言归正传了...

前提声明:本文一下内容是对Thinkfan官方说明与部分个人讲解结合.任何内容以官方为主.Henry如有遗漏或者说错的地方,请大家及时指出.谢谢关照啦...

介绍:thinkfan是一个简单的风扇控制器的Linux软件.本文介绍了对Debian和Ubuntu的安装和配置.

1:安装thinkfan风扇控制器

sudo apt-get install thinkfan

2:配置thinkfan,需要配置的文件为/etc/modprobe.d/thinkfan.conf,如果在目录下面没有thinkfan.conf文件的话自己新建一个就可以了(gedit,nano,vi(vim)都ok啦).然后编辑里面的内容.

sudo gedit /etc/modprobe.d/thinkfan.conf

添加下面这段内容.

options thinkpad_acpi fan_control=1

然后手动加载当前模块(当然也可以不加载这个模块,设置为自动启动就ok啦)

sudo modprobe -rv thinkpad_acpi
sudo modprobe -v thinkpad_acpi

3:激活thinkfan的开机自动启动,需要修改的文件为/etc/default/thinkfan.

sudo gedit /etc/default/thinkfan

将里面的START设置为yes.

START=yes

4:当让我们还需要让thinkfan知道一个温度的配置,也就是说多少温度的时候风扇级别是多少,thinkfan是没有UI界面的,所以我们只能通过配置文件的形式.看下面这段配置朋友们就会明白啦,需要配置的文件为/etc/thinkfan.conf(当然thinkfan命令也支持引用其他的配置文件,即非系统默认的,请用 thinkfan --version查看参数列表,这里就不过多介绍啦).

sudo gedit /etc/thinkfan.conf

 其中的这7行代表的就是需要修改的.

(0,  0,  55)
(1,  48,  60)
(2,  50,  61)
(3,  52,  63)
(4,  56,  65)
(5,  59,  66)
(7,  63,  32767)

格式:(风扇级别,范围最小温度,范围最大温度),温度在最小温度-最大温度之间时调用相应的风扇级别.(三个参数中间并非空格,而是tab制表符而已),下面是摘自国内与国外网上推荐的温度设置列表.Henry建议根据自己的温度情况(如何查看温度情况将于下面讲解)而定制此配置列表.当然要格外小心哦.注意范围温度值的配置.

官方给出的样例温度配置
(0,  0,  42) (1,  40,  47) (2,  45,  52) (3,  50,  57) (4,  55,  62) (5,  60,  67) (6,  65,  72) (7,  70,  77) (127,  75,  32767)#这一行,确保风扇全速

此种配置并非少写了6级风扇
(0,  0,  52)
(1,  46,  59)
(2,  54,  65)
(3,  58,  69)
(4,  62,  72)
(5,  65,  74)
(7,  68,  32767)

闭合式温度配置(摘自网上)
(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啦,敲命令.停止就是把后面的start变为stop咯.

sudo /etc/init.d/thinkfan start

5:温度显示,接下来我们要查看当前的温度值啦.对于ThinkPad笔记本电脑显示所有温度传感器的值,我们敲击下面命令.

cat /proc/acpi/ibm/thermal

里面有一堆的数字,总之呢,第一个就是CPU的温度值,剩下的Henry也记不太清楚,不过我们可以查看参数说明.到这里如果正常的话我们就能看到一些温度的数值输出啦,不过有些型号的本子不会有thermal这个文件,别急,稍后我会对这个进行讲解,我们先讲解能看到这个文件输出值的情况.还记得/etc/thiinkfan.conf这个文件吧?我们配置了温度范围与风扇等级.我们回过头在里面找一下下面这段内容,就在7个等级的上面一行,当然,默认的应该是被注释掉了.

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

看到了吧.里面调用的参数路径文件就是thermal,我们能改查看实时温度的那个文件咯.这段话是告诉thinkfan以什么地方获取的温度为标准.好啦.如果有thermal的朋友,可以把前面的注释"#"去掉.,也可以不去掉,因为thinkfan默认找到的就是这个路径的文件咯.(好像废话一样...嘿嘿).总之大功告成啦...这样thinkfan的配置就完成啦.欢呼...雀跃...~~~咦.忘记说看不到默认thermal文件的这个事儿了.看下面吧.

6:如果敲了thinkfan start没有找到/proc/acpi/ibm/thermal文件的朋友...别担心哈.

/proc/acpi/ibm/thermal: No such file or directory

因为在系统里面温度值的文件没有在这个位置.这样的话我们还要按照另外一个包包...lm-sensors...敲命令吧.

sudo apt-get install lm-sensors

然后敲击下面命令,一路yes就ok,也可以根据自己需要,不过最后一个"Do you want to add these lines automatically to /etc/modules? (yes/NO)"我们要敲击yes噢~

sudo sensors-detect

完事儿后我们加载到当前内核中去,看好了呀.下面是对于Debian与Ubuntu不同的命令噢.

sudo start module-init-tools             # Ubuntu
sudo /etc/init.d/module-init-tools start # Debian

不敲上面这段代码重启电脑也可以(貌似~~)...然后我们通过下面命令找到几个thinkfan取决温度的标准文件.

find /sys/devices -type f -name "temp*_input"

Henry的本子找到的内容如下:

/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.0/temp2_input
/sys/devices/platform/coretemp.0/temp3_input
/sys/devices/virtual/hwmon/hwmon0/temp1_input

显示的文件取决于本子噢~~ok...取决温度的标准文件我们找到了...copy一下,edit一下...改为以下样子(前面都加上sensor命令...中间的是空格啊~不是tab制表符啦..嘿嘿):

sensor /sys/devices/platform/coretemp.0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp2_input
sensor /sys/devices/platform/coretemp.0/temp3_input
sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input

然后我们将这段内容copy到/etc/thiinkfan.conf文件中...嘿嘿...~~lm-sensors我们可以通过

sensors

查看温度等信息...我们也可以通过下面命令查看到thinkfan与风扇的相关状态

cat /proc/acpi/ibm/fan

 咳咳...这回真的大功告成啦...嘿嘿...看看效果咯...如果出现其他问题了或者Henry哪里说错了请大家指点指点哈...

 

As a new comer...If I help you,I will be very happy...



posted on 2012-03-03 20:28  HenrYau  阅读(9065)  评论(2编辑  收藏

统计