2015年3月14日土曜日

TJTAG でフラッシュメモリをバックアップ

バッファロー WHR2-A54G54 を JTAG 制御で無事復旧させることに成功したため、データのバックアップをダウンロードしておくこととしました。

WHR2-A54G54 へ JTAG ケーブルを接続しているところです。

JTAG 制御で利用した HairyDairyMaid_WRT54G_Debrick_Utility は、WHR2-A54G54 のフラッシュメモリの MX29LV320T を認識していたため、問題なくバックアップすることができました。

ついでに、シリアルコンソールで復旧した WHR3-AG54 も今後のトラブルに備えて JTAG でフラッシュメモリのバックアップを取得しておこうと思いました。しかし HairyDairyMaid_WRT54G_Debrick_Utility では、フラッシュメモリを認識出来ず、無限ループ?の状態に移行してしまって Ctrl + C で強制的に終了させる状況となってしまいました。

WHR3-AG54 のフラッシュメモリは認識しませんでした。
JTAG ツール類は、フラッシュメモリを認識しないとトラブルとなるようです。

そこで他にもツールは無いものかと探してみると TJTAG という有料のツールが存在して、評価も上々のようです。そしてこの TJTAG が有料化する前のバージョンが、まだダウンロードできる状況であったため、この TJTAG を使ってみました。なお使用したバージョンは v3.0.2-Final ではなく、v3.0.1 です。v3.0.2-Final は私の環境では動作しませんでした。
TJTAG
http://sourceforge.net/projects/zjtag/files/TJTAG/

この TJTAG も HairyDairyMaid_WRT54G_Debrick_Utility と同様に、起動前に giveip.sys をロードしておく必要がありました。その他は HairyDairyMaid_WRT54G_Debrick_Utility と全く操作は一緒でした。

この TJTAG は、問題なく WHR3-AG54 を認識しました。そしてフラッシュメモリの先頭部分にある CFE の部分だけのものと、フラッシュメモリ全体のものをダウンロードしておきました。

さらに NVRAM の消去で復活したことがある WLAH-G54 もバックアップをしておきました。

WLAH-G54 にもピンヘッダを取り付けて、JTAG ケーブルでフラッシュメモリをバックアップしました。

WHR2-A54G54 や WHR3-AG54 、WLAH-G54 の共通点として、BCM4704 を使っていることにあります。もしかして BCM4704 は、NVRAM 関係でトラブルを発生させやすい機種なのかもしれません。今後、新しく BCM4704 搭載の無線 LAN ルータへファームウェアをインストールする機会があったときには、まず分解をして、JTAG からフラッシュメモリのバックアップをダウンロードしてからファームウェアのインストール作業を行った方が、いろいろと近道ではないかと考えています(笑)。

Linux 版 TJTAG

そして嬉しいことですが、この TJTAG には Linux バージョンも存在していました。Windows 版と一緒に同梱されていました。

Debian Wheezy 上では、プリンタ・ポートの /dev/parport0 を上手く制御権を取得できないようで動作できませんでした。しかし Puppy Linux 5.7.1 では、動作させることができました。この Linux 版の TJTAG は、ソフトウェア自身でプリンターポートと通信を行うようで、Windows 版にあった giveio.sys のようなドライバは必要ありませんでした。

Puppy Linux 5.7.1 上で動作させている TJTAG です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。