thinkfan

Thinkpad X201 + (X)Ubuntu 12.10 で作業していると頻繁に再起動してくれるようになっちゃったので
thinkfan を入れて設定したら頻繁に再起動することはなくなったよというメモ。



家でのメイン環境は Thinkpad X201 + (X)Ubuntu 12.10 を使っていているのだけど、数ヶ月前からだいぶ調子が悪かった。
ニコ生(nsen)を裏でかけっぱなしにしながら作業とかしてると突然ノート PC が再起動する。調べたところどうやら熱らしい。


sensors で温度を見ると90度以上になっていて、100度に到達した瞬間に再起動がかかるっぽい。
当初は温度にがくぶるしながら凌いでたんだけど、Emacsリポジトリを bzr pull しただけで再起動してくれやがったりして、
良い加減苦しくなってきたので重い腰を上げてちゃんと対処を調べてみた。


で、どうやら thinkfan という Thinkpad の fan speed を自動調節するプログラムを使うのが常道らしい(今まで困ってなかったから全然知らなかった…)。


まず、Thinkpad の fan speed を制御するために thinkpad_acpi の設定をする。/etc/modprobe.d/thinkpad_acpi.conf に以下のように記載する。

 $ cat /etc/modprobe.d/thinkpad_acpi.conf
options thinkpad_acpi fan_control=1

この上で、thinkpad_acpi モジュールを再読み込みするなり、PC を再起動するなりすれば OK。
# …のはず。やったのかなり前で記憶があやしい。


うまくいっていると、以下のようなコマンドを叩くと thinkpad の fan の speed が変わるはず。disengaged を指定すると fan が轟音を立てはじめて、Thinkpad の温度が急激に下がる。

 $ echo level 1 > /proc/acpi/ibm/fan
 $ echo level 7 > /proc/acpi/ibm/fan
 $ echo level auto > /proc/acpi/ibm/fan
 $ echo level disengaged > /proc/acpi/ibm/fan

普段から disengaged とかしていると煩くてかなわないので、この fan speed を Thinkpad の温度を元に自動調節するようにする。
これには thinkfan を使えば良く、thinkfan は、Ubuntu/Debian であれば、apt-get から簡単に導入が可能。
たぶん、事前に sensors を入れて設定しておく必要はあるような気は…する(lm-sensors パッケージ)。

 $ sudo apt-get install thinkfan

thinkfan の設定は、/etc/thinkfan.conf を参照する。適当にひろってきたサンプルを元に以下のように記載した。

(0,     0,      55)
(1,     48,     60)
(2,     50,     61)
(3,     52,     63)
(4,     56,     65)
(5,     59,     66)
# (7,   63,     32767)
(7,     63,     82)
(127, 80, 32767)

一番左が、level。真ん中と右が温度。Thinkpad の温度がだいたい59度を越えると fan speed の level が 5 になるという感じ。
温度がある程度高くなったときは、level 7 じゃなくて、やはり disengaged になってくれないと心配なのでその設定を追加しただけ。
ぐぐった内容を鵜呑みにした感じだと、127 と指定すると disengaged らしい (ちゃんと調べてない)。
# で、まあ、127 で 80 度越えると disengaged になってるっぽいから気にしていない。


あとは、適当に起動すれば OK。

 $ sudo service thinkfan start

# 起動時に自動起動するように、/etc/default/thinkfan をいじって START=yes とかしたような記憶があるけど、ちょっと定かじゃない…。



リハビリがてら、こんな内容で…(はてな記法を忘れていて愕然とした…)

更新時刻

  • 2013/3/30 00:40