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