echo level auto;控制风扇转速

http://www.google.com.hk/search?hl=en&source=hp&q=echo+level+auto-speed&aq=f&oq=&aqi=

echo level auto > /proc/acpi/ibm/fan

level: auto commands: level <level> (<level> is 0-7, auto, ... root@ T60:~# echo level full-speed > /proc/acpi/ibm/fan

echo level full-speed ... auto , disengaged, full-speed) i.e. the fan speed at level 7 (in theory the ..

 

====================================================

root@w:/etc/modprobe.d# more /proc/acpi/ibm/fan
/proc/acpi/ibm/fan: 没有那个文件或目录
root@w:/etc/modprobe.d# modprobe thinkpad_acpi fan_control=1 experimental=1
FATAL: Error inserting thinkpad_acpi (/lib/modules/2.6.32-5-amd64/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device
root@w:/etc/modprobe.d# modprobe thinkpad_acpi force_load=true
FATAL: Error inserting thinkpad_acpi (/lib/modules/2.6.32-5-amd64/kernel/drivers/platform/x86/thinkpad_acpi.ko): Invalid argument
root@w:/etc/modprobe.d# echo level full-spee > /proc/acpi/ibm/fan
-su: /proc/acpi/ibm/fan: 没有那个文件或目录
root@w:/etc/modprobe.d#

====================================================

 http://rocolex.blog.163.com/blog/static/68446410201110109470537/

 

 

使用thinkfan控制thinkpad风扇

转自:http://vmlinz.is-programmer.com/posts/25834.html

使用thinkfan智能控制thinkpad风扇速度

我的thinkpad在安装了ubuntu 10.04之后,cpu风扇一直是满速运转,风扇声音非常烦人,而
且长时间这样运转可能会把cpu风扇给搞坏了。于是开始在网上找控制thinkpad风扇的方
法。这里就简单记录一下使用thinkfan来控制cpu风扇的过程。

安装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,内容:

vi /etc/modprobe.d/thinkpad_acpi.conf

内容如下:

options thinkpad_acpi experimental=1 fan_control=1

安装thinkfan

安装ubuntu | Debian 里面的thinkfan和sysfsutils(读取和设置sysfs属性)。

aptitude install thinkfan sysfsutils

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

配置和激活thinkfan

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

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

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

sensors 命令可以查看当前风扇的转速

或者查看 more /proc/acpi/ibm/fan

玩thinkpad_acpi的风扇控制接口

cat /proc/acpi/ibm/fan可以得到控制风扇的方法。

  • echo level 0 | sudo tee /proc/acpi/ibm/fan (fan off)
  • echo level 2 | sudo tee /proc/acpi/ibm/fan (low speed)
  • echo level 4 | sudo tee /proc/acpi/ibm/fan (medium speed)
  • echo level 7 | sudo tee /proc/acpi/ibm/fan (maximum speed)
  • echo level auto | sudo tee /proc/acpi/ibm/fan (automatic - default)
  • echo level disengaged | sudo tee /proc/acpi/ibm/fan (disengaged)

我们可以看到其中有一个auto选项,说明驱动本身是要自己实现风扇只能控制的,我之前查看>
的时候就发现驱动的默认设置就是auto,估计还不是thinkfan来管理的自动控制

 

http://www.fwolf.com/blog/post/438

我的旧本子X31风扇很久都不转了,今天查了点资料,搞了搞,感觉状态上好,记录如下:

首先要能了解当前温度和风扇转速,安装lm-sensors包就能用了:

$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +42.0°C  (crit = +91.0°C)                  

thinkpad-isa-0000
Adapter: ISA adapter
fan1:       3614 RPM
temp1:       +42.0°C                                    
temp2:       +48.0°C                                    
temp3:       +48.0°C                                    
temp4:       +42.0°C                                    
temp5:       +32.0°C                                    
ERROR: Can't get value of subfeature temp6_input: Can't read
temp6:        +0.0°C                                    
temp7:       +29.0°C                                    
ERROR: Can't get value of subfeature temp8_input: Can't read
temp8:        +0.0°C      

按说lm-sensors也能控制风扇的,但对我的本子不适用。

然后就是在内核中挂载ThinkPad的高级电源控制模块,在/etc/modprobe.d/options里添加这么一句,后面的参数fan_control很重要:

options thinkpad_acpi fan_control=1

重启,或者手工重新挂载模块:

rmmod thinkpad_acpi
modprobe thinkpad_acpi

好了,控制风扇转速,最基本的方法是(如无意外,本文中的大部分命令都要用root用户操作):

echo level [level] > /proc/acpi/ibm/fan

[level]的取值可以是0-7之间的数字,或者auto,或者disengaged/full-speed,在不同的本子上会有不同的效果,总体来说数字越大转速越高,auto是系统自动判断,但在我的本子上却是不转,disengaged/full-speed是全速。我自己用的本子,设为4左右就能达到温度和噪音的平衡点。

还有人在这个基础上写了一些小工具,比如tp-fancontrol或者ThinkPad Fan Control,主要功能都是定时探测温度,然后安装预先的设定来控制风扇的转速。但由于不同硬件的差异,他们并不适用于所有情况,比如我的X31装上哪一个风扇都是auto不转,只好手工echo然后让风扇常转了。智能一点的,还可以借助cron来个定时开关、定时检测什么的。

 

 

 

 

 

 

 

posted @ 2011-04-22 21:01  陳聽溪  阅读(1496)  评论(0)    收藏  举报