Cody Blog

Software development

安裝ThinkFan風扇控制軟體

安裝 Thinkfan

$ sudo apt-get install thinkfan

開啟風扇控制權

系統預設並不容許直接控制風扇速度,所以需要特別設定thinkpad-acpi的config值:

$ sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkpad_acpi.conf

重新載入thinkpad_acpi driver 套用新的設定值

$ sudo modprobe -rv thinkpad_acpi
$ sudo modprobe -v thinkpad_acpi

修改 thinkfan 設定檔

thinkfan 設定檔在 /etc/thinkfan.conf,主要可以設定的要用那些sensor以及設定溫度與轉速的規則。首先先找到溫度量測的檔案:

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

以x220為例,一共找到四個檔:

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

把這四行寫入到 /etc/thinkfan.conf

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

這樣ThinkFan就會取這四個sensor最高溫度來監度

得到目前風扇的速度

$ cat /proc/acpi/ibm/fan
status:     enabled
speed:      4464
level:      auto
commands:   level <level> (<level> is 0-7, auto, disengaged, full-speed)
commands:   enable, disable
commands:   watchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))

從中也可以了解到如何手動控制風扇,例如手動控制風扇用速度7來跑:

$ echo level 7 | sudo tee /proc/acpi/ibm/fan

前景執行 thinkfan

想知道 thinkfan 執行的過程,可以試著跑前景模式,並每一秒更新一次:

$ sudo thinkfan -n -s 1
sleeptime=1, tmax=49, last_tmax=49, biased_tmax=49 -> fan="level 0"
sleeptime=1, tmax=51, last_tmax=49, biased_tmax=51 -> fan="level 1"
sleeptime=1, tmax=50, last_tmax=51, biased_tmax=50 -> fan="level 0"
... 略

Reference

備註: Thinkpad X220 在不同 Level 的轉速

Level RPM
1 2000
2 3000
3 3500
4 3500
5 4000
6 4000
7 4500
8+ 6000 (全速)

Linux Thinkpad

Related Posts

Comments