/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
山下康成京都府向日市