                ワッチドッグ・タイマー・インターフェース

                Alan Cox <alan@lxorguk.ukuu.org.uk> 著
                山縣 敦 <ayamagat@phys.metro-u.ac.jp> 訳

                Linux ドライバーとプログラム開発の慣習


現在，以下のワッチドッグ・ドライバーが実装されています:

        ICS     WDT501-P
        ICS     WDT501-P (ファン・タコメーターなし)
        ICS     WDT500-P
        ソフトウェアのみ

4 つ全てのインターフェースが /dev/watchdog を準備します．そのデバイス・
ファイルのオープンから 1 分間以内に書き込みがないと計算機がリブートし
ます．書き込むたびにリブートの時刻が 1 分間延長されます．ソフトウェア・
ワッチドッグの場合，リブートするのは計算機と割り込みの状態に依存します．
ハードウェア・ボードは計算機をオンボード・タイマーから物理的に引き離し，
いつでもリブートします．

WDT501P カードでは，温度を監視する第 2 のインターフェースが利用でき，
/dev/temperature を準備します．これは計算機内部の華氏温度です．読み込
むたびに温度を示す 1 バイトを返します．

第 3 のインターフェースは付加的警告的イベントに関するカーネル・メッセー
ジを記録します．

標準的なカーネルでは，ソフトウェアとハードウェア両方のワッチドッグ・ド
ライバーが使用できます．ソフトウェア・ワッチドッグをお使いなら，おそら
くブート時の引数に "panic=60" を追加してもよいでしょう．

機能
----
                        WDT501P         WDT500P        ソフトウェア
リブート・タイマー         X               X                X
外部リブート               X               X                o
温度                       X               o                o
ファン・スピード           X               o                o
パワー・アンダー           X               o                o
パワー・オーバー           X               o                o
オーバーヒート             X               o                o

現在 WDT ボード上の外部イベント・インターフェースはサポートされていま
せん．しかしながらそのためのマイナー番号は割り当てられています．


ワッチドッグ・ドライバーの例
----------------------------

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

int main(int argc, const char *argv[])
{
        int fd=open("/dev/watchdog",O_WRONLY);
        if(fd==-1)
        {
                perror("watchdog");
                exit(1);
        }
        while(1)
        {
                write(fd,"\0",1);
                sleep(10);
        }
}


連絡先

WDT ワッチドッグ・タイマー・ハードウェアについてのお問合せが続いていま
す: Industrial Computer Source の電話連絡:
 
アメリカ: 619 677 0877 (販売)  0895 (ファックス)
イギリス: 01243 533900
フランス (1) 69.18.74.30

Industrial Computer Source 
9950 Barnes Canyon Road 
San Diego, CA     

お問合せの際は Linux とおっしゃってください．
