dd-wrt

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

More than 1 year has 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. 参考サイト