Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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

somainit
dd-wrt, OpenWrt, pfSense, ESP8266, Raspberry Pi, Asterisk, FreePBX を中心に活動します。 最近は、子どもやお年寄りに優しい仕組みや、クルマのIoTに関心があります。 コピペには自信があります。(=^・^=)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away