2015年8月30日日曜日

Buffalo WLA-G54 へ WBR-G54 の CFE 書き込み

昨日フラッシュメモリのバックアップを行ったバッファロー WBR-G54 の CFE を USB 加工に失敗した WLA-G54 へ書き込みを試みました。

なお今回の書き込みにおいて、フラッシュメモリとシステムメモリ(SDRAM)は、もともとボード上に搭載されていたものに戻してあります。また JTAG 端子のところへ追加していたプルアップ抵抗器も除去しました。JTAG 動作が成功した WBR-G54 の状態に出来るだけ近づけて作業をしました。

WLA-G54 のフラッシュメモリへデータを JTAG 経由で書き込んでいるところです。

フラッシュメモリへ書き込みできませんでした

結論から先に述べますと、CFE への書き込みもフラッシュメモリ全体の書き込みも試みましたが、途中で JTAG 動作が停止してしまいました。結果書き込みできませんでした。CFE の書き込みでは 16% の同じ場所で停止していました。フラッシュメモリ全体の時も CFE の書き込みで停止した場所と思われるところで停止しました。どうも書き込みを停止させる何かの要因があるようです。

また JTAG 動作については、WBR-G54 のフラッシュメモリのバックアップで発見した赤い LED が四回点滅することを繰り返す動作ですが、この WLA-G54 では発生しませんでした。この WLA-G54 ではフラッシュメモリのデータが消去されているのでバッファローオリジナルのファームウェアが動作していないため、無線LANカードを撤去していても赤い LED が点滅しないようです。

そのため JTAG 動作方法としては、ボードの電源を投入すると同時に JTAG を操作しているパソコンから JTAG コマンドを実行させることを行いました。まずプローブ動作を行なって、ボード情報が表示された後、しばらくして再度プローブ動作をさせましたが、全て途中でフリーズしてしまいます。安定して JTAG 動作が出来ない状態なのです。

上記のフラッシュメモリへのデータ書き込みもプローブ動作をした後、書き込みを行ったのではなく、電源投入時に直ぐに書き込み動作をさせていました。何度行なっても前方部分は上手く書き込みを行うのですが、だんだんと書き込みが遅くなって、やがて停止する状態です。

ここまでくると、他のボード上でフラッシュメモリを書き込んだ後、WLA-G54 にフラッシュメモリを戻す方法しか手段がないかもしれません。

[考察]

今回の WBR-G54 と WLA-G54 の JTAG によるフラッシュメモリのバックアップと書き込みを行なっていて気になったことが一つあります。それはフラッシュメモリ上のブートコードのバックアップについてです。

この WBR-G54 と WLA-G54 の両者とも 4MB のトップ・ブート(TopB)のフラッシュメモリです。フラッシュメモリのゼロ番地ではなく、 4MB の最後の部分にブートコードが収容される形式(最後尾のフラッシュメモリのブロックが小さく区分けされている)となっています。フラッシュメモリ全体をバックアップしていたときに観察していた感じでは最後尾には "FFFF" ばかりの NONE 状態のデータが詰まっていました。このフラッシュメモリの形式に係わらずブートコードはゼロ番地から始まる部分に存在するのでしょうか? WLA-G54 が起動しなくなったのは NVRAM を JTAG で消去した後からということを考えると NVRAM の最後尾にはブートコードが存在していて、このブートコードが消去されたことから動作しなくなったとも考えられます。もちろん起動に必要なパラメータが NVRAM に存在していて、このパラメータを失ったことによって起動できなかった可能性もあります。

他の多くの無線LANルータでは、ゼロ番地側のフラッシュメモリのブロックの区画が小さく設定されているボトム・ブート(BotB)のフラッシュメモリが採用されていることもあり、トップ・ブート(TopB)のフラッシュメモリの取り扱いがよく解りません。

0 件のコメント:

コメントを投稿