最後(?)は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
などであろう。 - /mnt
- 起動後、安定してから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
でも入れてみるか。
0 件のコメント:
コメントを投稿