How to control fan speed?special for Thinkpad

本文提供了一步一步的指南来帮助你在Ubuntu Linux系统中控制笔记本电脑的风扇速度。通过安装lm-sensors和fancontrol软件包,配置传感器,并确定哪些温度传感器可用,你可以设置合适的风扇速度水平以保持系统的最佳冷却效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Install lm-sensorsInstall lm-sensors andfancontrolInstall fancontrol packages
  2. Configure lm-sensors

    1. In terminal type sudo sensors-detect and answer YES to all YES/no questions.
    2. At the end of sensors-detect, a list of modules that needs to be loaded will displayed. Type "yes" to have sensors-detect insert those modules into /etc/modules, or edit /etc/modules yourself.
    3. run sudo /etc/init.d/module-init-tools restart This will read the changes you made to /etc/modules in step 3, and insert the new modules into the kernel.
      • Note: If you're running Ubuntu 13.04 or higher, this 3rd step command should be replaced bysudo service kmod start.
  3. Configure fancontrol

    1. In terminal type sudo pwmconfig . This script will stop each fan for 5 seconds to find out which fans can be controlled by which PWM handle. After script loops trought all fans, you can configure which fan corresponds to which temperature.
    2. In my case I set interval to 2 seconds.
  4. Run fancontrol

    1. sudo fancontrol and leave it open in console,

In my case for CPU I used:

   Settings for hwmon0/device/pwm2:  
  Depends on hwmon0/device/temp2_input  
  Controls hwmon0/device/fan2_input  
  MINTEMP=40  
  MAXTEMP=60  
  MINSTART=150  
  MINSTOP=0  
  MINPWM=0  
  MAXPWM=255 



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

This is quick set up guide to control your laptop's fan speed running Ubuntu Linux.

by Kristian Holsheimer, January 2013

This is essentially a translated version of this guide, which was written in German. Before you go on, I would like to make clear that I will not be held accountable for any damage to your machine resulting from using this guide.

 

 

Step 1. Install the thinkfan software and the sensors:

sudo apt-get install thinkfan lm-sensors

 

Step 2. Make sure that the daemon controls the fan by editting the thinkpad.conf file:

sudo nano /etc/modprobe.d/thinkfan.conf
by adding the following line:
options thinkpad_acpi fan_control=1

 

Step 3. Make the daemon load automatically at start-up by editting the file:

sudo nano /etc/default/thinkfan
making sure that the START key is set to yes, i.e. there should be a line that says:
START=yes

 

Step 4. Detect your laptop's sensors:

sudo sensors-detect
and just choose YES whenever you're prompted.

 

Step 5. Load the new modules:

sudo service module-init-tools start

 

Step 6. Figure out which sensors are in use:

sensors
(the ones that indicate 0 degrees are not in use, I don't know why those are "detected" too). Remember which ones are in use.

 

Step 7. Find out the full paths of these sensors:

find /sys/devices -type f -name "temp*_input"
The output should be a list of paths like /sys/devices/...

 

Step 8. Copy-paste the paths to the sensors into the configuration file /etc/thinkpad.conf. To do this, first open up the file:

sudo nano /etc/thinkfan.conf
There should already be a line like
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)
(the #-symbol means that that line is commented out). Add a line starting with sensor (without the #-symbol) and copy-paste you first sensor. Repeat this if you have more than one sensor. For example, on my machine, the output in step 7 yields
/sys/devices/virtual/hwmon/hwmon0/temp1_input /sys/devices/platform/thinkpad_hwmon/temp3_input /sys/devices/platform/thinkpad_hwmon/temp4_input /sys/devices/platform/thinkpad_hwmon/temp5_input /sys/devices/platform/thinkpad_hwmon/temp6_input /sys/devices/platform/thinkpad_hwmon/temp7_input /sys/devices/platform/thinkpad_hwmon/temp1_input /sys/devices/platform/thinkpad_hwmon/temp8_input /sys/devices/platform/thinkpad_hwmon/temp2_input /sys/devices/platform/coretemp.0/temp4_input /sys/devices/platform/coretemp.0/temp2_input
The ones that are in use in my machine are the ones in the first and the last two lines, so I added the three lines:
sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input sensor /sys/devices/platform/coretemp.0/temp4_input sensor /sys/devices/platform/coretemp.0/temp2_input

 

Step 9. Finally we can set the fan speed levels in the configuration file. Open the /etc/thinkpad.conf file if it wasn't open already.

sudo nano /etc/thinkfan.conf
The fan levels I use on my ThinkPad x201 are:
(0, 0, 51) (1, 50, 52) (2, 51, 55) (3, 54, 58) (4, 56, 63) (5, 60, 70) (6, 66, 79) (7, 74, 92) (127, 85, 32767)
The last line ensures full fan speed (127 = "disengaged" i.e. unregulated). You can fiddle with these levels to fit your needs/wishes, but PLEASE BE CAREFUL!

For those people out there familiar with Mathematica, I wrote a short notebook to generate these fan speed values.

 

Step 10. Reboot. Everything should work now. In order to check whether thinkpad is runnning correctly, use

sudo thinkfan -n
which starts thinkfan in verbose mode. You might want to stop the thinkfan daemon first:
sudo /etc/init.d/thinkfan stop
If you want to start the thinkfan daemon again, type:
sudo /etc/init.d/thinkfan start

 

 

Just to be complete, my /etc/thinkfan.conf configuration file is:

# IMPORTANT: # # To keep your HD from overheating, you have to specify a correction value for # the sensor that has the HD's temperature. You need to do this because # thinkfan uses only the highest temperature it can find in the system, and # that'll most likely never be your HD, as most HDs are already out of spec # when they reach 55 °C. # Correction values are applied from left to right in the same order as the # temperatures are read from the file. # # For example: # sensor /proc/acpi/ibm/thermal (0, 0, 10) # will add a fixed value of 10 °C the 3rd value read from that file. Check out # http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may # want to add to certain temperatures. # Syntax: # (LEVEL, LOW, HIGH) # LEVEL is the fan level to use (0-7 with thinkpad_acpi) # LOW is the temperature at which to step down to the previous level # HIGH is the temperature at which to step up to the next level # All numbers are integers. # # I use this on my T61p: #sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) #(0, 0, 55) #(1, 48, 60) #(2, 50, 61) #(3, 52, 63) #(4, 56, 65) #(5, 59, 66) #(7, 63, 32767) # My settings for my ThinkPad X201: (kris) sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input sensor /sys/devices/platform/coretemp.0/temp4_input sensor /sys/devices/platform/coretemp.0/temp2_input (0, 0, 51) (1, 50, 52) (2, 51, 55) (3, 54, 58) (4, 56, 63) (5, 60, 70) (6, 66, 79) (7, 74, 92) (127, 85, 32767)
reference: http://askubuntu.com/questions/22108/how-to-control-fan-speed http://staff.science.uva.nl/~kholshei/thinkfan_guide/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值