Help us understand the problem. What is going on with this article?

シリアル接続でWZR-600DHP2に、DD-WRTやOpenWrtを焼いてみた

More than 1 year has passed since last update.

はじめに

BUFFALO WZR-600DHP2にWeb-GUIからDD-WRTをインストールしようとしたら、またもや再起不能になりました。やっちゃいました文鎮化。ツイてない!
でも大丈夫。箱を開けてシリアル接続すれば、意外と簡単に復旧させることができます。WZR-HP-G301NHと比べると雲泥の差です。ブートローダが賢くなっています。
さらに同じ方法でDD-WRTもOpenWrtもインストールできます。よかった!

参考:

まずはこれ

自己責任でお願いします。

箱を開けます

ここが一番の難所です。

参考:

パソコンを設定します

:one:今回のOSはUbuntu 18.10です。
:two:LANポートのIPアドレスは192.168.1.2です。
:three:必要なパッケージをインストールします。

$ sudo apt-get install tftpd-hpa
$ sudo apt-get install screen

WZR-600DHP2とパソコンを接続します

:one:WZR-600DHP2のシリアル・ピンを確認します。

:two:WZR-600DHP2とUSB-UART変換モジュールを結線します。

今回はUSB2UART-CP2102を利用しました。ピンの対応は下記のとおりです。

WZR-600DHP2 USB2UART-CP2102
RX TXD
TX RXD
GND GND

:three:USB2UART-CP2102をパソコンのUSBポートに接続します。

/dev/ttyUSB0 として認識されました。

$ dmesg | grep cp210x
[  938.409962] usbcore: registered new interface driver cp210x
[  938.409988] usbserial: USB Serial support registered for cp210x
[  938.410031] cp210x 1-1.2:1.0: cp210x converter detected
[  938.412473] usb 1-1.2: cp210x converter now attached to ttyUSB0

:four:screenコマンドを実行し、WZR-600DHP2のコンソールを表示するようにします。

$ sudo screen /dev/ttyUSB0 115200,cs8,-parenb,-cstopb

:five:WZR-600DHP2の電源を入れます。

するとコンソールにブート画面が表示されます。

WZR-600DHP2にDD-WRTやOpenWrtを焼きます

:one:まずはコンソールを確認します。

これでわかること。

  • ブートローダ起動直後、WZR-600DHP2のIPアドレスは192.168.1.1
  • tftpサーバのIPアドレスは192.168.1.2
  • tftpサーバのファイルlinux.trx-recoveryを転送しようとして失敗している。
Bootloader version v0.03 boot_version v0.03
Project name : WG9116H22
Press CTRL+C to cancel startup...
Device eth0:  hwaddr B0-C7-45-2C-BC-F9, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Invalid boot block on disk
Loader:raw Filesys:tftp Dev:eth0 File:192.168.1.2:linux.trx-recovery Options:(null)
Loading: Failed.
Could not load 192.168.1.2:linux.trx-recovery: Timeout occured

:two:ということで、下記を実施すればファームウェアを焼けると思いました。

  • パソコンのIPアドレスを192.168.1.2にする。(既に実施済み)
  • パソコンにtftpサーバ(tftpd-hpa)をインストールする。(既に実施済み)
  • DD-WRTやOpenWrtのファームウェアをダウンロードし、tftpサーバのディレクトリ(/var/lib/tftpboot/)にファイル名linux.trx-recoveryでコピーする。

DD-WRTの場合

$ wget https://download1.dd-wrt.com/dd-wrtv2/downloads/betas/2019/03-11-2019-r39144/buffalo_wzr-600dhp2/buffalo-wzr-600dhp2-webflash.bin
$ sudo cp buffalo-wzr-600dhp2-webflash.bin /var/lib/tftpboot/linux.trx-recovery

OpenWrtの場合

$ wget https://downloads.openwrt.org/releases/18.06.2/targets/bcm53xx/generic/openwrt-18.06.2-bcm53xx-buffalo-wzr-600dhp2-squashfs.trx
$ sudo cp openwrt-18.06.2-bcm53xx-buffalo-wzr-600dhp2-squashfs.trx /var/lib/tftpboot/linux.trx-recovery

:three:最後にWZR-600DHP2を再起動します。

そうするとファームウェアを取得し、新しいファームウェアで立ち上がります。

Bootloader version v0.03 boot_version v0.03
Project name : WG9116H22
Press CTRL+C to cancel startup...
Device eth0:  hwaddr B0-C7-45-2C-BC-F9, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Invalid boot block on disk
Loader:raw Filesys:tftp Dev:eth0 File:192.168.1.2:linux.trx-recovery Options:(null)
Loading: ... 27779072 bytes read
Entry at 0x010a3c38
Reading from 0x010a3c38: Programming...done. 27779072 bytes written
Booting(1): boot -raw -z -addr=0x8000 -max=0xef8000 nflash0.os2:
Loader:raw Filesys:raw Dev:nflash0.os2 File: Options:(null)

:four:OSが立ち上がったら、WZR-600DHP2とパソコン間のLANケーブルを抜きます。

再度ファームウェアを取得しないようにするためです。

:five:コマンドscreenを終了するには、[Ctrl]+[a][k]を入力します。

:six:USB2UART-CP2102をパソコンから取り外します。

さいごに

ださださオリジナル・ファームウェアを捨て、DD-WRTやOpenWrtでプロ仕様のルータ機能を楽しみましょう。(=^・^=)

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした