Link
我的旧本子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来个定时开关、定时检测什么的。
参考
Tags: acpi, fan, hardware, IBM, temperature, thinkpadRelated posts
- 机房搬家过程中的几件趣事 (0)
- [Ubuntu]使用点滴 (7)
- Linux下使用华为h3c Aolynk WuB320G无线网卡 (0)