はじめに
バッファロー製Wifiルーター WHR-HP-GN(以下エアステーション)にOpenwrtを書き込んで使っていたのですが、諸事情により純正ファームに戻す必要が出てきました。
しかし、導入手順を読み飛ばしてWebインターフェイスからフラッシュしたのでtftpの使い方がイマイチわからない...
試行錯誤の末にうまくいったのでまとめました。
私が試したのはWHR-HP-GNですが、同じシリーズのWHR-HP-G300Nなどでもいけると思います。
ファームウェアの準備
バッファローのサイトから対応する機種のファームウェアをダウンロードして展開しておきます。
http://buffalo.jp/download/driver/index_wireless.html
tftpの用意とipアドレスの設定
「プログラムと機能」-> 「windowsの機能の有効化または無効化」-> 「TFTPクライアント」にチェックを入れます。
ipアドレスを 192.168.11.2、ネットマスクを255.255.255.0に設定します。
エアステーションとPCを一対一で接続した状態で
netsh interface ip show config
を実行して有線接続のインターフェイス名を特定します。
書き込みの準備
arpテーブルの設定のためにエアステーションのMACアドレスを確認します。
初期設定のSSIDがそのままMACアドレスになります。
書き込みはタイミングが重要なので、一発でコマンドを流し込めるbatファイルの作成をお勧めします。
netsh interface ipv4 set neighbors "インターフェイス名" 192.168.11.1 "エアステーションのMACアドレス"
tftp -i 192.168.11.1 put ファームウェアのパス
MACアドレスはコロンではなくハイフン区切りで指定してください。
例:00-24-aa-bb-dd-ee
書き込み
いよいよ書き込みです。
おそらく一回では成功しないので根気よくやってください。
手順
エアステーションのLAN側とPCをつなぎます。
エアステーションの電源を入れ、繋いでいるポートのLEDだけが点灯したらすかさずbatを実行します。
注意:このとき、管理者として実行してください。
ファームウェアの転送に成功したら、その旨がコンソールに出力されます。
DiagランプとPowerランプが点灯します。Diagランプが消灯するまでそのままそっとしておいてください。
転送に失敗した場合は、電源を切り、タイミングを数秒ずらして再トライしてください。
転送の受付時間は4秒なのでかなりシビアです。