2004年3月 6日

HD-HGLANの話(8) ppc_uart

HD-HGLANの話(3) ps -axwwで示した謎のプロセスの追求の「その3」である。
最後(?)はppc_uart。これも/usr/sbin/に置かれている。

psで見ると、

250 ?        S      0:00 /usr/sbin/ppc_uartd
となっていて、/etc/rc.d/rc2.d/S95ppc_uartdで起動されている。

OBS266からLinkStationに持って行っているstringsコマンドでppc_uartを見てみた。一部抜粋する。

/dev/ttyS1
can't open UART
uart daemon
error folk
error setsid
error chdir
/mnt
/var/run/smbd.pid
/www/script/melsub_init.sh&
/www/script/melsub_shutdown.sh 2&
/etc/melco/timer_sleep
because it's just after booting up
because now time is re-initialized
because timer file is re-initialized
on<>%2d:%2d<>%2d:%2d%*s
Timer is set with %d/%d %02d:%02d-%d/%d %02d:%02d. (%s)
Timer is released. (%s)
Timer is released. (because timer file isn't able to be read)
can't output value to UART:%c
can't execute program:%s

この内容と、山下さんの Vine のインストールの「DIAG LED が6回点滅」の記述、
Vine へいろいろなパッケージのインストールの「ハードディスク異常問題再び」の記述、
/dev/ttyS1 の謎
AVR のコマンド
続 AVR コマンド
パーティション異常
fsck との戦い再び
AVRなどを総合して整理してみよう。

以下のようなことが言えると考える。

  • 電源ON後のある時間内にAVRに対してコマンドを送らないとWatch Dog Timer機能により、電源が落とされる。
  • 本体からAVRへのコマンドは/dev/ttyS1経由である。
  • 起動後のppc_uartが動くのはrunlevel 2になってから。よって、起動時にrunlevel 1で動くfsckに長時間を要すると、runlevel 2に行く前に時間切れになり電源が落とされる。
  • ppc_uartが監視したり、実行して動作を確認しているのは、
    • /mnt
    • /var/run/smbd.pid
    • /www/script/melsub_init.sh&
    • /www/script/melsub_shutdown.sh 2&
    • /etc/melco/timer_sleep
    などであろう。
  • 起動後、安定してからppc_uartを停止させても電源が落ちないとのことなので、AVR側に定期的にコマンドを送る必要は内容である。(そういう意味では厳密にはWatch Dog Timerとは言えない。)
  • 起動時に送るコマンドはAAAAFFFFJJJJ>>>>VVVV>>>>ZZZZVVVVKKKKぐらいかな。

Debian化したものの方は、起動時に

echo -n "AAAA" > /dev/ttyS1
echo -n "FFFF" > /dev/ttyS1
echo -n "JJJJ" > /dev/ttyS1
echo -n ">>>>" > /dev/ttyS1
echo -n "VVVV" > /dev/ttyS1
echo -n ">>>>" > /dev/ttyS1
echo -n "ZZZZ" > /dev/ttyS1
echo -n "VVVV" > /dev/ttyS1
echo -n "KKKK" > /dev/ttyS1
でも入れてみるか。

投稿者 his : 2004年3月 6日 13:52
このエントリーのトラックバックURL: http://hoop.euqset.org/blog/mt-tb2006.cgi/51173
コメント
コメントする









名前、アドレスを登録しますか?





画像の中に見える文字を入力してください。