/dev/ttyS1 の謎
UART と AVR
ppc_uartd を起動しておかないと、パーティションエラーになる事は、
以前気がついた。
linkstationVine# /etc/rc.d/initd/ppc_uartd xxx
とか実行すると、
Usage: /etc/init.d/smb {start|stop|restart}
と表示されるのは、ご愛敬
パクって来たのバレバレ。
本題
uart という名前、
通常、Universal Asynchronous Receiver Transmitter の略で、
シリアル通信関係である。
linkstationVine# strings /usr/sbin/ppc_uartd
してみると、
/dev/ttyS1
can't open UART
の、文字が見える。シリアル通信していることは、間違いない。
ppc_uartd には、
/www/script/melsub_init.sh&
/www/script/melsub_shutdown.sh 2&
も見える。
ttyS1 を /www/script から grep してみると、出るわ出るわ。
何かのタイミングで、/dev/ttyS1 に 英字4文字を書き込んでいる。
そこには、
### AVR ###
というコメントが。
AVR を、google ってみると、組込み用マイコンのようである。
つまり、ttyS1 の先には、AVR がつながっていて、
英字4文字のコマンドによって
何らかのコントロールをしているようである。
電源 OFF の手がかり
ふと、気が付いた。
/www/script/melsub_init.sh:初期化
/www/script/melsub_shutdown.sh:シャットダウン
って、Link Station の
リアパネルの「設定初期化」ボタンと、
フロントパネルの「電源」ボタンと
に対応しているのではないだろうか???。
AVR から UART 経由で何らかのコマンドを ppc_uartd が受け取り、
そのコマンドによって melsub_init.sh もしくは melsub_shutdown.sh を
実行しているのではないか。
電源が落とせた
早速やってみた。
/www/script というディレクトリを作成し、そこに
### AVR ###
echo -n "EEEE" > /dev/ttyS1
### SYSTEM ###
/sbin/shutdown -h now
というスクリプト melsub_shutdown.sh を書いて、chmod +x した。
電源ボタンを押してみる。3秒後、、、
落ちたぁ!!!
←
BUFFALO Link Station をハックしよう
→ AVR のコマンド
Copyright (C) 2003 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp
山下康成@京都府向日市