Thinkpad风扇配置

参考:http://www.68idc.cn/help/server/linux/20141208138422.html

今天在tg里问了个问题:如何控制风扇启动的临界温度。vickycq给出了答案,操作成功,记录如下。

  1. 安装thinkfan
  1. 打开thinkpad_acpi风扇控制支持

即在thinkpad-acpi.conf中写入:options thinkpad_acpi experimental=1 fan_control=1

  1. 编辑/etc/default/thinkfan
    START=yes

  2. 编辑/etc/thinkfan.conf

(0, 0, 55) (1, 54, 60) (2, 55, 61) (3, 56, 63) (4, 57, 65) (5, 58, 66) (7, 63, 32767)
即0级上限温度调整到55,这意味着当cpu温度小于55度时,风扇就不会工作。

  1. 重启或sudo thinkfan

  2. 查看thinkfan工作状态

若level不为auto,则表示已经开始作。

  1. vickycq补充的一些命令:

显示风扇工作级别 cat /proc/acpi/ibm/fan | grep level:
查看thinkfan工作状态 systemctl status thinkfan
启动thinkfan服务 systemctl enable thinkfan

用了一天,感觉开始的配置并不好。风扇总是频繁启动-停止。作了如下修改:

(0, 0, 45) (1, 40, 55) (2, 50, 66) (7, 63, 32767)

  1. 减少风扇档位。在最常见的温度区域中设置级别;
  2. 高级档位的最小值应较低级档位的最大值有足够的温差。这样在降档前,风扇允分降温,然后再降低转速或停转。

一般主板风扇控制分两种

  1. PWM 调速
    此种方式通过调节方波占空比,实现近似的连续调速
  2. 电压调速
    此种方式存在两个常见问题:(2-1)最低转速较高 (2-2) 档位较少

对于一般的机器,可先尝试能否用 PWM 方式调速

如果看到类似 /sys/class/hwmon/hwmon1/pwm1_enable 的界面,进一步尝试:
对于绝大多数主板:
自动调速:echo 2 | sudo tee /sys/class/hwmon/hwmon1/pwm1_enable
手动调速:echo 1 | sudo tee /sys/class/hwmon/hwmon1/pwm1_enable
停转:echo 0 | sudo tee /sys/class/hwmon/hwmon1/pwm1
转速最大:echo 255 | sudo tee /sys/class/hwmon/hwmon1/pwm1

可在 0-255 之间实现近似无级调速

对于一部分电压调速的 Thinkpad,也有 pwm 界面。但对 pwm1 调节时很快可以发现 0-255 并不连续可调,而是分为有限的几档。本质与 /proc/acpi/ibm/fan 的档位控制相同。

其它部分机器有专用驱动。如戴尔(i8k),Thinkpad(thinkpad_acpi)

参考
forum.ubuntu.org.cn/viewtopic.php?f=48&t=473952
forum.ubuntu.org.cn/viewtopic.php?f=126&t=474986
forum.ubuntu.org.cn/viewtopic.php?f=39&t=476640

自动调速:echo 2 | sudo tee /sys/class/hwmon/hwmon1/pwm1_enable 手动调速:echo 1 | sudo tee /sys/class/hwmon/hwmon1/pwm1_enable 停转:echo 0 | sudo tee /sys/class/hwmon/hwmon1/pwm1 转速最大:echo 255 | sudo tee /sys/class/hwmon/hwmon1/pwm1

我这里的路径稍有差别:/sys/class/hwmon/hwmon1/device/pwm1 以及 /sys/class/hwmon/hwmon1/device/pwm1_enable

只是不知道电压那种控制方式如何停止。