pinewell's farmer blog 農業と電子工作、ソフトウェア、バイク、車

2014年2月17日

NEC Express5800/S70 タイプPJ のCPU換装失敗。

Filed under: 副業 — pinewell @ 11:22 AM

いわゆる鼻毛鯖。
ウチではCentOSをいれてPT3での録画鯖として使っている。
この鯖にはG6950が搭載されているのだが、Core i5 650 が安く入手できたのでCPUを換装してみた。
…動くことは動くのですよ。が、3つ搭載されているファンが全て?全開状態。うるさくて使用できない。
なんとかならないものかと調べてみる。

1.S70の古いタイプではBIOSのバイナリデータを改造することで改善できるモノもある。
2.WindowsではspeedFANを使用して下げることができる。
3.debianでバックポートを入れたkernelでは各種センサーが動くようだ。

これら情報を元に試行錯誤。
1.のBIOS改造はバイナリデータの解析がめんどうすぎで無理と結論。
2.の情報を元に、使用されているセンサー類のドライバーを推測。
i2c-i801 と ADT7490と思われる。
3.の情報をたよりに対応するkernelのバージョンを推測。
CentOS標準の2.6.32ではダメ。2.6.33からADT7490に対応しているようだ。
これは2.6.33のソースから。
linux-2.6.33/drivers/hwmon/adt7475.c に ADT7490の記載がある。
できれば2.6.32+各種パッチ入りの標準カーネルから2.6.33のパッチ無しkernelにはしたくない。
adt7475.cを2.6.32のそれと差し替えてコンパイルできないものか試してみたがダメだった。
これ以上の解析は労力のムダと判断。
新し目のディストリならlm_sensorsでdetectしてpwmconfigでファン調整もできるのかも。

選択肢は
A.CPUを戻す。
B.ディストリを変える。(再インストール/再構築)
これを機にdebian”wheezy”にするか、ubuntuにするかFedoraにするかそれとも・・・・。
C.CentOSのカーネルを非公式カーネルにする。
D.arduinoを使用してファンコントローラを自作。

D.のarduinoのファンコンも調べてみると実例が多々ある。これはこれで面白そうだ。
coretempでCPU温度はとれるのでUSBに繋いだarudinoに伝えて温度にあったファンスピードをPWMで調整とか。

C.はelrepoで3.某の非公式カーネルが存在する。仮想環境で試してみたがカーネルの動作は良好だった。
ただ、ヘッダーファイルとかそれらの依存性をブッタ切ることになるので今後のメンテが面倒そう。

B.も大いに興味をそそられた。が、録画鯖という性質上長く停めたくない。ってか非常に面倒そう。

で、結局。
オークションで相場を調べたら買った価格よりも高く売れそうなのでA.を選択してしまった。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress