先日の PowerBook G4 が壊れた件, どうも世界各地で起きている, 「トラックパッドの温度センサが狂った」事例のひとつみたいだ.
確かにいつも使っている Hardware Monitor というユーティリティでは, トラックパッドの温度が 150°C とかになっている (!!) し, /var/log/system.log には
Jan 25 09:42:17 cherry kernel[0]: Power Management received emergency overtemp signal. Going to sleep.
というメッセージが多数残っている.
手元の AlPB は 2005 年の春頃買ったものだけど, どうもこの頃のロットが去年の春以降, 各地でこういうトラブルを起こしているらしい. アップル, 悪い奴.
この修理に 5 万円払うのは悔しいので ここ の教えに従って, 以下の処置を施してみる.
% sudo su
# mkdir /kext.backup
# cd /System/Library/Extensions
# mv AppleLM7x.kext IOI2CControllerPMU.kext IOI2CLM6x.kext IOI2CLM7x.kext IOI2CLM8x.kext /kext.backup
# cd /System/Library/
# rm Extensions.kextcache Extensions.mkext
再起動して, ブート時に
cmd + opt + O + F
OpenFirmware の画面が出る
> reset-nvram
> reset-all
リブートされる
これだけ見て何をすればいいか, どういう意味か, 分からない人は手を出さない方がいいと思う.
ところが, うちではこれをやってもまったく効き目がなかった. 実際に web を見てみてもこれで OK だったという人もいれば, 駄目だったという人もいるらしい.
そこで, 同じように次の kext も消してみる (命がけだ:-)
AppleThermal.kext
AppleCPUThermo.kext
AppleHWSensor.kext
それでも駄目だった. さすがにここまで来て潔く (!?) 諦めて, /kext.backup にあったのを元に戻した.
ただ情報を総合する限り, 問題は温度センサあるいはその周辺にあり (つまりハードウェアの問題), 上記のソフトウェア的対策はセンサの変な情報を読み取って sleep しないようにしただけなので本質的な問題解決にはなっていないことに注意.
しかし, これだけ kext を外してもセンサを読み続けているのは誰なんだ? 実際には外したつもりの kext が実は動いている? でも Hardware Monitor からは読めなくなっていたよなぁ.
# 後は kext ではなく, カーネルそのものに手を入れるという手もあることはあるのだが…