GLAN TANKのファンを止める方法

このサイト曰く、「ベースとなるHDL-GW500が停止できるので、可能な筈ですが、hdparamでは停止しないようで実際には何らかの作業が必要になると思われます。」とあります。実際、hdparamでもnoflushdでも、HDDは止まってもファンは止まりません。

しかし、HDL-GXシリーズのファームウェアアップデータの中から、「なんらかの作業」を行うプログラムを取り出すことで、ファンも止めることができることを発見。

自分でHDL-G*シリーズを持っていれば話は早いんですけど…。どなたかHDL-G*シリーズのファームウェア全部(というかルートファイルシステム)を私にください!無理なら/usr/local以下だけでも。

で、正確にはファン「を」止められる。HDDは止まらないので、noflushdやlaptop-mode-toolsを併用するなりしないと危険かも。接続したHDDによってはHDDも止まるのかもしれませんけど、私が使っているHDDは止まりません。


手順:

  1. I-O DATAのファームウェアダウンロードサイトからhdlgx_f106.exeをダウンロード。
  2. 展開
  3. 出てきたupdate.tgzを展開
  4. さらに出てきたupdate-files.tar.gzを展開
  5. usr/local/bin/usbhdmngを取り出す
  6. /tmp/spindownd.confを書く
  7. usbhdmngを実行

/tmp/spindownd.confの書き方は、update-files.ltar.gzを展開すると出てくるusr/local/bin/HDLdisk.pmを解析した結果、とりあえず↓のように書けば、ファンは止まるようです。

IDE:    hda     /dev/hda        /dev/hda        1
IDE:    hdb     /dev/hdb        /dev/hdb        1

各行の最後は、スピンダウンまでの時間。1でたぶん1分。20にすればたぶん20分後に止まる。
HDDが1台の場合は、たぶんhdaだけで良いです。
RAID1にしている場合もたぶんhdaだけで良いです。hdaもhdbでも同じ動きしてますから。



まとめると、こう。

wget http://www.iodata.jp/lib/soft/h/hdlgx_f106.exe
lha x hdlgx_f106.exe
tar zxvf update.tgz
tar zxvf update-files.tar.gz
cp usr/local/bin/usbhdmng /usr/local/bin/
echo "\
IDE:    hda     /dev/hda        /dev/hda        1
IDE:    hdb     /dev/hdb        /dev/hdb        1
" > /tmp/spindownd.conf
/usr/local/bin/usbhdmng


名前からしてUSBポートに接続したHDDのスピンダウンもできそうです。


noflushdとusbhdmngのHDDがアイドルしているかどうかの判定方法が違うと、ファンは止まっているのにHDDは動いているという状態になる可能性があります。その逆はそれほど問題では無いですけど、できればファンとHDDの停止のタイミングを同じにしたい。
usbhdmngを逆アセンブルして、ファンを停止しているのであろう箇所を探して、それをnoflushdのHDDを停止している箇所にインラインアセンブラか何かで組み込めば目的を達成できそうですが、暇があったらやるかもです。たぶんやりません…。
誰かやってください…






…と、問題発見。"ファンは止まったら最後、動き出さない"ということに気づく。ファンをもう一度始動させるには、usbhdmngをkillしないといけない。
うーむ…これは使いものにならない…。
※2006/5/10追記:解決。[id:viver:20060510]GLAN TANK四日目
※2006/6/7追記:改訂。[id:viver:20060607]GLAN TANK五日目