はじめに
BUFFALO WZR-600DHP2にWeb-GUIからDD-WRTをインストールしようとしたら、またもや再起不能になりました。やっちゃいました文鎮化。ツイてない!
でも大丈夫。箱を開けてシリアル接続すれば、意外と簡単に復旧させることができます。WZR-HP-G301NHと比べると雲泥の差です。ブートローダが賢くなっています。
さらに同じ方法でDD-WRTもOpenWrtもインストールできます。よかった!
参考:
まずはこれ
自己責任でお願いします。
箱を開けます
ここが一番の難所です。
参考:
パソコンを設定します
今回のOSはUbuntu 18.10です。
LANポートのIPアドレスは192.168.1.2です。
必要なパッケージをインストールします。
$ sudo apt-get install tftpd-hpa
$ sudo apt-get install screen
WZR-600DHP2とパソコンを接続します
WZR-600DHP2のシリアル・ピンを確認します。
WZR-600DHP2とUSB-UART変換モジュールを結線します。
今回はUSB2UART-CP2102を利用しました。ピンの対応は下記のとおりです。
WZR-600DHP2 | USB2UART-CP2102 |
---|---|
RX | TXD |
TX | RXD |
GND | GND |
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
screenコマンドを実行し、WZR-600DHP2のコンソールを表示するようにします。
$ sudo screen /dev/ttyUSB0 115200,cs8,-parenb,-cstopb
WZR-600DHP2の電源を入れます。
するとコンソールにブート画面が表示されます。
WZR-600DHP2にDD-WRTやOpenWrtを焼きます
まずはコンソールを確認します。
これでわかること。
- ブートローダ起動直後、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
ということで、下記を実施すればファームウェアを焼けると思いました。
- パソコンの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
最後に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)
OSが立ち上がったら、WZR-600DHP2とパソコン間のLANケーブルを抜きます。
再度ファームウェアを取得しないようにするためです。
コマンドscreenを終了するには、[Ctrl]+[a][k]を入力します。
USB2UART-CP2102をパソコンから取り外します。
さいごに
ださださオリジナル・ファームウェアを捨て、DD-WRTやOpenWrtでプロ仕様のルータ機能を楽しみましょう。(=^・^=)