Buffalo WSR-1166DHP OpenWrt インストール

2019-05-03 12:49:29

注意

この手順でやると純正ファームウェアに戻れない。

シリアルコンソールなし、純正ファームウェアのデバッグモードなしの環境ではこの方法でOpenWrt化可能。

OpenWrt 18.06.2 時代の手順。

対象のハードウェアはBuffalo WSR-1166DHP。Buffaloの無線LANルーターはちょっとでも型番が違うと別物なので、WZR-1166DHP、WSR-1166DHP2はこの手順、ファイルでは適用できないと思われる。

Buffalo WSR-1166DHP OpenWrt インストール

  1. 各種ファイルのダウンロード
  2. factoryファームウェアで純正ファームウェアを上書き更新
  3. initramfsファイルでTFTPブート
  4. sysupgradeファイルでファームウェア更新

今回はWindowsパソコンを使う。Windows10 64bit版。scpコマンドとsshコマンドが入っていたので、これを使う。

1. 各種ファイルのダウンロード

1.1 factoryファームウェア 純正ファームウェアから更新できるのはこれだけ

1.2 OpenWrtのinitramfsファイル sysupgradeコマンドでちゃんと更新できるのはこれだけ

1.3 sysupgradeファイル 下記3種のどれでもOK

1.4 Windows TFTPサーバー tftpd64 portable edition

2. factoryファームウェアで純正ファームウェアを上書き更新

TFTPブート可能にするために、いったんfactoryファームウェアを書き込む。

2.1 WSR-1166DHPのHUBへWindowsパソコンを接続する。

2.2 WindowsパソコンのイーサネットのIPv4設定をDHCPサーバーから取得するように設定する。

2.3 WindowsパソコンからWSR-1166DHPの管理Web画面を開く admin/password(初期値)

2.4 純正ファームウェアからfactoryファームウェアをアップロード

ファームウェア更新画面からアップロードする。 これでもう純正ファームウェアには戻れない。

3. initramfsファイルでTFTPブート

sysupgradeコマンドが動作する環境をTFTPブートで作る。

3.1 手順1.4 tftpd64 portable editionのZIPファイルを展開する。フォルダ名はtftpd64

3.2 手順1.2のOpenWrt initramfsファイルを手順3.1のtftpd64フォルダへコピーする。ファイル名はlinux.trx-recovery へ変更すること。

3.3 WindowsパソコンのイーサネットIPv4を設定する。

固定値
IPアドレス 192.168.11.2
ネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.11.1

3.4 Windowsパソコンでtftpd64.exe を起動する。

3.6 WSR-1166DHPのHUBとWindowsパソコンを接続する

3.7 WSR-1166DHPのAOSSボタンを押しながら電源を入れる。

Windowsパソコン側のネットワークが接続状態になったらAOSSボタンを離す。電源を入れてからここまで5秒くらい。TFTPサーバーからlinux.trx-recoveryがWSR-1166DHPへ転送される。 POWER LEDが点滅から常時点灯になればTFTPブート完了

ちなみにTFTPブートしない場合はfactoryファームウェアが起動して、SSH接続するとシェルも使える。 sysupgradeコマンドでsysupgradeファームウェアを書き込んでもfactoryファームウェアが上がってくるので、うまいこと書き込めていない模様。

4. sysupgradeファイルでファームウェア更新

TFTPブートしたinitramfsからsysupgradeコマンドでファームウェアを更新する。

4.1 WindowsパソコンのイーサネットIPv4を設定する。

DHCP自動取得

4.2 手順1.3のファームウェアをSCPで転送する。 fingerprintが毎回変わるのでknown_hostsを削除しないといけないかも。

(例)Windowsパソコンのコマンドプロンプト
del .ssh\known_hosts
scp openwrt-18.06.2-ramips-mt7621-wsr-1166-squashfs-sysupgrade.bin root:192.168.1.1:/tmp/

4.3 SSHで192.168.1.1へ接続する。 fingerprintが毎回変わるのでknown_hostsを削除しないといけないかも。

(例)Windowsパソコンのコマンドプロンプト
del .ssh\known_hosts
ssh root@192.168.1.1
(rootユーザーのパスワードは設定されていない)

4.4 ファームウェアを更新

(例)ssh接続後のWSR-1166DHPのシェルで実行
sysupgrade -n -v /tmp/openwrt-18.06.2-ramips-mt7621-wsr-1166-squashfs-sysupgrade.bin

POWER LEDが点滅から常時点灯になれば更新完了。

4.5 SSHでログイン

(例)Windowsパソコンのコマンドプロンプト
del .ssh\known_hosts
ssh root@192.168.1.1

BusyBox v1.28.4 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06.2, r7676-cddd7b4c77
 -----------------------------------------------------
root@OpenWrt:~# 

参考文献