OpenWRT を焼いた WZR-HP-AG300H の Web UI から間違って LEDE を書いて壊してしまったので復旧する
普段の拠点とは別の場所で運用中の WZR-HP-AG300H の LEDE を KRACKs 対策のために 17.01.04 に更新しようとして失敗しました。
対象の機材は OpenWRT で動いていたのに間違えて WebUI から LEDE を焼いてしまったのです。
すると、管理画面の UI では OpenWRT と表記されているのに system version は LEDE という謎のハイブリッド構成になってしまい、しかも ssh ログインが不能になってしまいました。
しかしなんとか復旧させることができたので、サマリをメモとして残します
復旧手順サマリ
- 一旦は buffalo_to_ddwrt_webflash-MULTI.bin を tftp で焼く
- DD-WRT化した機材のシェル上で mtd コマンドで LEDE のファームを焼く
この手順で復活させた理由
アップデート方法を間違えて OpenWRT + LEDE な謎構成になったのち、LEDE を tftp で焼こうとしても全く成功しない状況が続きました。焼いても焼いても、元の謎構成で起動してしまいます。
発生中の現象が謎すぎて対処方法が不明だったのですが、なんとなく「DD-WRTを焼きなおしてみよう」と思ってやってみたら DD-WRT は焼けました。
ならばと思って LEDE を tftp で焼く作業を再度行ってみたのですが、やはりうまくいかない。これもやはり何回繰り返しても DD-WRT が起動してしまいます。
tftp での挙動を見ると、ファームウェアは送信できているけど正しく切り替わらない感じでした。
そんな時にふと思い出したのですが、DD-WRT, OpenWRT, LEDE には mtd というコマンドがあって、これでシェル上からファームウェアを焼くことができます。
実行例としてはこんな感じ。
mtd -r write lede-17.01.4-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin linux
この方法でやってみたら、無事に LEDE にすることができました。