今まで、2台にOpenWRTを導入してきたんですが、それらは管理画面のファームウェアアップデートから、OpenWRTのbinファイルを選択してアプデすれば導入できたんですが、こちらの機種ではそう簡単にはうまくいかなかったことについてのメモ。

ハードオフでのジャンクコーナーでACアダプター付きで330円で、open wrt対応とのことで購入してきました。

導入方法

①必要なファイルをダウンロード

こちらから、Factory imageと、Sysupgrade imageをダウンロードします。

②ファイアウォール無効化

TFTP通信がブロックされるかもしれないので、すべてのファイアウォールを無効化します。

③TFTP前の準備

今回、win11で、solarwinds tftp serverというソフトを使います。こちらからダウンロード

インストール後、Cドライブ直下にtftpというフォルダを作り、先ほどダウンロードしたFactory imageファイル(今回はopenwrt-24.10.5-ramips-mt7621-buffalo_wsr-1166dhp-initramfs-kernel.bin)を入れます。

次に、シンボリックリンク(ショートカットのようなもの)を作成するため、コマンドプロンプトを管理者権限で開き、c:\tftpに移動し、次のコマンドでシンボリックリンクを作成する。

mklink linux.trx-recovery openwrt-24.10.5-ramips-mt7621-buffalo_wsr-1166dhp-initramfs-kernel.bin

最後にPCとWSR-1166DHPをLANケーブルで接続し、PCのIPアドレスを192.168.11.2に固定します。(まだWSR-1166DHPは電源切っておく)

④TFTP経由でopen wrtを起動(メモリ上で起動させる)

solarwinds tftp serverを開き(ほかのソフトが同じTFTPポートを使っていないか注意!!)、上の「File」から、「Configure」を押し、「General」タブの「Root Directory」を、さっき作成したc:\tftpを指定してから、上の「Status」の「Start」ボタンを押してTFTPサーバーを起動させる。

そして、WSR-1166DHPの前面にあるAOSSという赤いボタンを押しながら電源を入れる。

すると、solarwinds tftp serverの画面に「開始」、「完了」と出てくるはずです。

するとWSR-1166DHPのPOWERランプが、点滅して(何回か点滅速度が変わる)常時点灯に切り替わります。

常時点灯になったらPCのIPアアドレスを192.168.1.2に変えてブラウザで192.168.1.1を開くとopen wrtのログイン画面が出てきます

⑤ストレージにopen wrtを書き込む

何も入力しないまま、ログインし、上の「System」から、「Backup / Flash Firmware」を開き、「Flash new firmwere image」の項目から、先ほどダウンロードしたSysupgrade imageを選択して、「Flash image」を押すと、前の設定を引き継ぐか?と出てくるので、引き継がないようにチェックマークを外して書き込みます。

これで、open wrt化完了です。

MTDバックアップ(推奨)

①WSR-1166DHPにSSH接続する。

win11なら、powershellを管理者権限で開き、次のコマンドで接続する。。(WSR-1166DHPのipアドレスは192.168.100.91とする。)

ssh root@192.168.100.91

②バックアップを作成する。

まず、MTDにあるファイルを一覧化。

cat /proc/mtd

すると次のように出力される。

root@OpenWrt:~# cat /proc/mtd<br>dev: size erasesize name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 00f90000 00010000 "firmware"
mtd4: 0030a958 00010000 "linux"
mtd5: 00c8568c 00010000 "rootfs"
mtd6: 008a0000 00010000 "rootfs_data"
mtd7: 00020000 00010000 "board_data"

tmpフォルダに移動

cd /tmp

ファイルを指定してバックアップを作成する。(ちょっと時間がかかります)

for i in 0 1 2 3 4 5 6 7; do dd if=/dev/mtdblock$i of=mtd$i.bin; done

作成したバックアップを圧縮する

gzip mtd*.bin

③圧縮したバックアップをダウンロードする。

さっきのpowershellとは別のウィンドウで次のコマンドを実行。

保存するフォルダに移動(今回はデスクトップ)

cd $HOME\Desktop

バックアップをダウンロード

scp -O root@192.168.100.91:/tmp/mtd*.gz .

これで保存されます。

参考サイト

https://qiita.com/9hnder/items/35e0cbfb3dc9828d8852