Posted at

dd-wrtバージョンアップ失敗時の復旧方法まとめ(WZR-HP-G301NH)

More than 3 years have passed since last update.

dd-wrtのファームウエア・バージョンアップに失敗した時の復旧方法をまとめました。対象機器はBuffalo WZR-HP-G301NHです。

なぜか管理画面でのアップデートに失敗し、エラーで立ち上がらなくなる確率がとても高いです。

先人の方々のリソースを最大限に利用し、復旧方法をまとめ整理しました。

かなりリスクの高い作業です、同じ手順で失敗しても当方は一切責任を負えません。自己責任でお願いします。


1. パソコン環境

作業用パソコンのOSはUbuntu 14.10です。Synapticパッケージマネージャで下記をインストールをします。

パッケージ名
   用途

gtkterm
シリアルポート接続用

bless
ファームウェア修正用

tftpd-hpa
ファイル転送用

パソコンの有線LANのIPアドレスを192.168.11.2に設定します。なおWZR-HP-G301NHブート時のIPアドレスは192.168.11.1です。192.168.11.1にpingしても応答はありません。

snapshot1.png


2. 必要なハードウェア

ハードウェア
型式
備考

USB-UART変換モジュール
USB2UART-CP2102
3.3V対応

LANケーブル

ピンヘッダ

ピンヘッダ用接続ケーブル

WZR-HP-G301NHUSB-UART変換モジュール USB2UART-CP2102を結線します。

WZR-HP-G301NHのゴム足を剥がすとネジがあるのでトルクス・ドライバで外し、慎重にケースを開けます。シリアルポートのピン配置は画像の通りです。

snapshot2.jpg

USB2UART-CP2102です。

snapshot3.jpg

配線の組み合わせは下記の通りです。間違わないでください。

WZR-HP-G301NH
USB2UART-CP2102

RX
TXD

TX
RXD

GND
GND

VCC
3.3V


3. 大まかな作業の流れ


  • dd-wrtホームから最新ファームウェアをダウンロードする。

  • ファームウェアをtftp用に修正し、転送できる状態にする。


  • WZR-HP-G301NHとパソコンを接続する(LAN接続とシリアルポート接続)。

  • 修正したファームウェアをWZR-HP-G301NHへ転送し更新する。


4. いざ覚悟して実行


4.1. dd-wrt Other Downloadsから最新ファームウエアをダウンロードします。

今回は12-15-2014-r25648版を利用しました。

snapshot4.png


4.2. blessでファームウェアを編集する。

wzr-hp-g301nh-dd-wrt-webupgrade-MULTI.binを読み込み、

"27 05 19 56"より前を切り取り、 wzr-hp-g301nh-dd-wrt-webupgrade-MULTI.tftpに保存する。

snapshot5.png


4.3. 修正したファームウェアをtftpdのディレクトリにコピーする。

wzr-hp-g301nh-dd-wrt-webupgrade-MULTI.tftp/var/lib/tftpbootにコピーします。

snapshot6.png


4.4. パソコンとWZR-HP-G301NHをLANケーブルで接続する。

WZR-HP-G301NH側はLAN 4ポートのいずれかに接続します。


4.5. パソコンのUSBポートにUSB-UART変換モジュール USB2UART-CP2102を接続する。

その後WZR-HP-G301NHの電源を入れます。

パソコンでgtktermを実行し、通信ポートの設定をします。

きちんと文字が表示されれば大丈夫です。

属性

備考

Port
/dev/ttyUSB0
USB2UART-CP2102の場合です

Baud Rate
115200

snapshot7.png


4.6. ファームウエアの転送と更新をします。

まずWZR-HP-G301NHの電源を入れ直します。

gtktermにブート・メッセージが表示されます。

tftp server(recieve) go, waiting:4[sec]が表示されたら[Ctrl]+[c]を連打して中断させます。

ファームウェアを自動転送させるような思わせぶりをしますが、実際にはされないので中断して手動でファイル転送します。

snapshot8.png

プロンプトar7100>が表示され、下記を入力するとパソコンからの転送が始まります。


tftpboot 81f00000 wzr-hp-g301nh-dd-wrt-webupgrade-MULTI.tftp


snapshot9.png

転送が終わったら転送されたデータサイズを確認します。

今回は18e9000です。

そしてプログラム領域を初期化します。処理終了まで結構時間がかかります。


erase BE060000 BFFDFFFF


転送されたデータをプログラム領域にコピーします。ここで先程の18e9000を利用します。


cp.b 81f00000 be060000 18e9000


処理終了まで結構時間がかかります。

終了したらWZR-HP-G301NHの電源を入れ直して終了です。

snapshot10.png


5. 最後に

dd-wrtのWiFi設定は下記で利用してください。

パラメータ

Regulatory Domain
Japan

TX Power
10dBm


6. 参考サイト