Type-Zer0のブログ

趣味について垂れ流す場所

Thinkpad X220 + Ubuntu18.04 でファン制御

ファンコントロールがしたい!

冬はヒーター代わりになって良いけれど、夏にファンが止まっていると食べ物が焼けるくらいになるので、ファンコントロールをパソコンにさせてみようの巻

Windowsを使えばこの辺は制御できるけど、Linuxはどうなのかと調べてみたところ、Thinkpadは有志が色々とやってくれている模様
ありがたい限りだなぁ

apciの設定ファイルを作る

 $ sudo echo 'options thinkpad_acpi fan_control=1'  >  /etc/modprobe.d/thinkpad_acpi.conf 

管理ソフトをインストール

 $ sudo apt install thinkfan lm_sensors

センサーを読み込ませる

 $sudo sensors-detect

反映されているか確認

 $ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


# Generated by sensors-detect on Sun Jul 15 10:15:23 2018
# Chip drivers
coretemp

どこに書き出されたか

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

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

コレをメモしておいて設定ファイルに書き込めば良い
注意事項として、各ファイルの場所を示すとき先頭はsensorでなくhwmonにすること。

 $sudo vim /etc/thinkfan.conf
~
# I use this on my X220
tp_fan /proc/acpi/ibm/fan
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input                                
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
#/sys/devices/virtual/hwmon/hwmon0/temp1_input
#tp_thermal /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)

起動確認

 $ sudo thinkfan -n

エラーが出てなければ成功

最後に自動起動するように設定 一緒にstartしてもいい

 $ sudo systemctl enable thinkfan

これで真夏のアッチッチ問題から多少解放される?
何かわからないこととか間違っているよってことがあれば教えてくれると嬉しい

[ThinkPad X1]Ubuntu GnomeでCPUファンをコントロール – BOOLEE STREET.net こちらを参考にさせていただきました。
ちなみに、指紋センサーはきちんと作動させられます(精度良く読み取れるとは言っていない