2
1

More than 5 years have passed since last update.

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

Posted at

はじめに

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でプロ仕様のルータ機能を楽しみましょう。(=^・^=)

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1