ファンコントロール


HGLAN のファームウェアアップデートのページ の Ver1.02 → Ver1.10 のところに、気になる記述を見つけた。
 ・10/100Mbps接続時は、自動的にFANの回転数を落として風切音を低減するよう
  にしました。
ということは、FAN の回転数をソフトウェア的に変更できるということ?

HGLAN のカーネルソースをごそごそすると、、、見つけた。 drivers/net/r8169.c に、

			if( option & _1000bpsF ){
				printk(KERN_INFO "%s: 1Gbps Linked.\n", dev->name);
				out_8(0x80004500, 0x5D);
				out_8(0x80004500, 0x5D);
				out_8(0x80004500, 0x5D);
				out_8(0x80004500, 0x5D);
			} else{
				printk(KERN_INFO "%s: Link status changed.\n", dev->name);
				out_8(0x80004500, 0x5C);
				out_8(0x80004500, 0x5C);
				out_8(0x80004500, 0x5C);
				out_8(0x80004500, 0x5C);
			}
つまり、
  • 1Gbps の時は、]]]] を
  • 10/100Mbps の時は、\\\\ を
    AVR に送っている。

    早速、AVR にコマンドを送ってみる

    [root@giga /root]# echo -n ']]]]' > /dev/ttyS1
    
    ]]]] を送ると、ゴォーとファンがうなりだす。
    うーん GigaHUB につなぐと、こんなにうるさいのか。
    [root@giga /root]# echo -n '\\\\' > /dev/ttyS1
    
    \\\\ を送ると、元通り静かになる。
    GigaHUB につないでも、rc あたりで \\\\ を送ると、静かになりそう。 熱暴走しても知らんけど。

    0x5B('[') を送ると、ファンが止まったりしないかなと '[[[[' を送ってみたが、変化なし、、、
    と思ったら POWER LED が、もわぁ〜と点滅し始めた。 そういえば、[[[[ はスリープの時に送っていた。

    HLAN, 玄箱でも試してみたが、同じようにファンコントロールが可能であった。


    LinkStation/玄箱 をハックしよう → USB ドライブ

    Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp
    山下康成京都府向日市