AVR


Link Station のハードウェア(電源制御、ボタン、LED など)は、 組込み用マイコン AVR で制御しているようである
AVR は UART を介して /dev/ttyS1 の先につながっている。
  • 電源、LED 等のコントロールをするときには AVR にコマンドを送る
  • 「電源」「設定初期化」ボタンは AVR からコマンドが上がってくる(はず)

    AVR へのコマンド

    AVR のコマンドは、
    linkstation # echo -n "command" > /dev/ttyS1
    
    として発行する

    コマンド内容
    \30\30\30\30 /www/script/melsub_diskcheck.sh で
    /mnt がマウントされておらず かつ Samba が動作していれば Samba と atolkd を止めた後に送信
    [[[[ POWER LED がゆっくり点滅(スリープ設定時)
    ]]]] ファンの高速回転
    \\\\ ファンの低速回転
    >>>> ppc_uartd が起動時に送信
    AAAA ppc_uartd が起動時に送信
    CCCC リブート
    shutdown -r now / reboot 実行前に送信
    EEEE シャットダウン
    shutdown -h now 実行前に送信
    FFFF ppc_uartd が起動時に送信
    JJJJ ppc_uartd が起動時に送信
    KKKK ppc_uartd が起動時に送信
    QQQQ タイマ設定時に送信
    RRRR Flash クリア終了
    SSSS Flash クリア開始 /www/script/melsub_init.sh, melsub_flash.sh で送信
    TTTT Flash 更新終了
    ap_servd が使用
    POWER, DISK FULL, DIAG の各 LED の点滅が止まる
    UUUU とペア
    UUUU Flash 更新開始
    ap_servd が使用
    POWER, DISK FULL, DIAG の各 LED が点滅する
    TTTT とペア
    VVVV DISK FULL LED 消灯
    WWWW とペア
    WWWW DISK FULL LED 点灯
    VVVV とペア
    XXXX DISK FULL LED 消灯
    YYYY とペア
    YYYY DISK FULL LED 点滅
    XXXX とペア
    ZZZZ ppc_uartd が起動時に送信
    POWER LED のゆっくり点滅解除?
    ffff DIAG LED の3回点滅(パーティションエラー)の解除
    gggg DIAG LED が3回点滅(パーティションエラー)を繰り返す
    iiii DIAG LED が4回点滅(ファン異常)を繰り返し、 シャットダウンされる
    kkkk DIAG LED が5回点滅(FLASH ROM 異常)を繰り返し、 電源断される
    シャットダウンではないので、要注意
    mmmm DIAG LED が6回点滅(ハードディスク異常)を繰り返し、 シャットダウンされる
    oooo DIAG LED が7回点滅(RAM/LAN/HDD コントローラ異常)を繰り返し、 シャットダウンされる

    AVR からのコマンド

    現時点でわかっていることは、
  • 電源ボタンが長押しされると、
  • ppc_uartd が /www/script/melsub_shutdown.sh を起動し
  • 電源が落とされる
    ことだけである。

    AVR からのコマンドは、ttyS1 を読んだだけでは受けられない
    どのように受けるのかは不明


    LinkStation/玄箱 解析結果
    LinkStation/玄箱をハックしよう

    Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp 山下康成@京都府向日市