1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenWrt 化した WSR-3200AX4S を Buffalo 純正ファームウェアに戻す (Restoring Stock Firmware)

Last updated at Posted at 2025-06-20

この記事の目的

この記事は 以前の記事 の兄弟編です。

以前の記事 では OpenWrt 化した WSR-2533DHP2Buffalo 純正ファームウェア に戻す手順を説明しましたが、今回の記事では OpenWrt 化した WSR-3200AX4SBuffalo 純正ファームウェア に戻す手順を説明します。

WSR-1166DHPWSR-2533DHP / DHPL / DHPL2 を Buffalo 純正ファームウェアに戻す場合は、以前の記事 を参照してください。

ネット脅威ブロッカー機能がある WSR-2533DHPLS は WSR-3200AX4S と同じ手順なのではないかと思います。

この記事は、以下のページの「〇おまけ 純正ファームウェアへの復元方法」のコードの可読性を高めるために作成しています。

手順概要

純正ファームウェアの書き込みは以下の手順で進みます。

  1. 書き込み用ファイルの作成
  2. 書き込み用ファイルの転送
  3. ファイルの書き込み

手順 1. 書き込み用ファイルの作成

1. WSR-3200AX4S の公式ファームウェアを取得

Buffalo 公式サイト から最新のファームウェアを取得します。

2. firmware-wintools を取得

以下の GitHub ページから最新の firmware-wintools を取得します。

3. firmware-wintools で WSR-3200AX4S の公式ファームウェアをリカバリデータに変換

取得した Buffalo ファームウェアを firmware-wintools.exe と同じフォルダに移動/コピーして、コマンドラインで以下のコマンドを実行します。
👉 以下は 2025 年 6 月時点での実行例のため、ファームウェアのバージョンが変わった時はバージョン部分を修正して実行してください。

firmware-wintools buffalo-enc -i wsr_3200ax4s_jp_146 -o wsr_3200ax4s_jp_146.dec -d -O 0xc8 -l

: 改行を加えて見やすくするとこんな感じ
firmware-wintools buffalo-enc ^
  -i wsr_3200ax4s_jp_146 ^
  -o wsr_3200ax4s_jp_146.dec ^
  -d -O 0xc8 -l

PowerShell で実行する場合は、上記コマンドの firmware-wintools の部分が ./firmware-wintools.exe に変わります。

./firmware-wintools.exe buffalo-enc -i wsr_3200ax4s_jp_146 -o wsr_3200ax4s_jp_146.dec -d -O 0xc8 -l

# 改行を加えて見やすくするとこうなります
./firmware-wintools.exe buffalo-enc `
  -i wsr_3200ax4s_jp_146 `
  -o wsr_3200ax4s_jp_146.dec `
  -d -O 0xc8 -l

以下のような出力が表示されれば成功です。

===== buffalo-enc モード (復号) =====
 マジック       : 'start'
 シード値       : 0xED
 プロダクト名   : 'WSR-3200AX4S'
 バージョン     : '1.46'
 データ長       : 18763776 bytes
 チェックサム   : 0x9785395

今回の例では、wsr_3200ax4s_jp_146.dec が生成されます。

手順 2. ファイルの転送

生成されたファイルを WinSCP や以下のようなコマンドで WSR-3200AX4S の /tmp に転送します。

scp -O wsr_3200ax4s_jp_146.dec root@192.168.1.1:/tmp

手順 3. ファイルの書き込み

以下のコマンドを実行して Buffalo 純正ファームウェアに戻します。

opkg update
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1

echo "/dev/mtd3 0x0 0x1000 0x20000" > /etc/fw_env.config
fw_setenv boot2 "dual_image_check;if test ${dual_image} = good; then run boot_rd_img;bootm;fi"

mtd erase WTB
mtd erase firmware

cd /tmp
mtd -r write wsr_3200ax4s_jp_146.dec firmware

もしかすると以下のような 恐ろしいエラー が表示され、「書き込みに失敗したかも 😱 」と不安になるかもしれませんが、しばらく待っていると純正ファームウェアで起動します。

Writing from wsr_3200ax4s_jp_146.dec to firmware ...
Rebooting ...
sh: /sbin/reboot: I/O error

補足

WinSCP の接続設定について

WinSCP を使う場合は、 File protocolSCP にしてください。

WinSCP_SCP

以下のコマンドの -O オプションも、上記設定と同様に SCP プロトコルを使うための設定です。

scp -O original_firmware.bin root@192.168.1.1:/tmp

データの転送先に /tmp を使う理由

/tmp はメインメモリ内の領域です。
そのため、Flash としては空き容量が無くても、/tmp であればリカバリデータが転送できます。

💡 OpenWrt では、起動時に圧縮されたカーネルイメージをメインメモリ (RAM) 上に展開して動作します
/tmp/var はそれらのファイルの一時的な保存場所です。 (👉 そのため再起動すると消去されます。)

💡 NAND メモリは 読むだけでも劣化していく 😱 ため、/tmp を使用する方が Flash への負担が少なくなります。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?