OpenWrt編 > bootloader経由のインストール > WZR-900DHP編

「OpenWrt編/bootloader経由のインストール/WZR-900DHP編」の編集履歴(バックアップ)一覧に戻る

OpenWrt編/bootloader経由のインストール/WZR-900DHP編 - (2025/05/10 (土) 23:18:43) のソース

※2018/1/5現在で[[WZR-900DHP]]ではLEDE/DD-WRT書き換え後、無線出力が極端に減衰する事象が報告されています。(5GHz帯使用不可、2.4GHz帯が5mも届かない)
 Broadcom bcm53xx targetの他メーカ機種での報告ではflashメモリ上に暗号化して配置された無線LANチップ用firmwareをロードできないためと想定されています。
 この暗号化されたfirmwareはメーカー配布のfirmware imageには含まれておらず、事前取得したflashメモリのフルバックアップ以外では復旧できないようです。
 Buffaloのbcm53xx系機種([[WZR-600DHP2]]以降/900DHP/1166DHP/1750DHP/1900DHPなど)へLEDE/DD-WRTをインストールする際にはご注意ください。

*mini CFE Web Server経由のインストール方法
**概要
WZR-900DHPはbootloaderとして CFE が採用されています。
WHR-G54Sの頃のCFEから大幅に機能が拡張されており、bootloaderの中で簡易Webサーバ機能が組み込まれています。

この「miniCFE web server」にWebアクセスしてファームウェアを書き込むことができます。

**準備
***ファームウェア確認
脆弱性対策で&bold(){debugモードが塞がれていない}バージョンであることを確認します。
WZR-900DHPはver1.14未満、[[WZR-900DHP2]]はver2.18未満のファームウェアにダウングレードします。

管理画面から工場出荷状態に初期化しておきます。

***バックアップ
debugモード画面にアクセスし、ID:bufpy PW:otdpopypassword でログインします。
http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html
telnet daemonを有効にし、telnet で 192.168.11.1 にアクセスします。

MTD領域のアドレス配置を確認しておきます。
cat /proc/mtd

以下のコマンドでmtd領域のバックアップを取得します。
USBメモリを挿入し、そこにcdしてから書き出します。
dd if=/dev/mtdblock/0 of=mtdblick0.dd bs=1
dd if=/dev/mtdblock/1 of=mtdblick1.dd bs=1
dd if=/dev/mtdblock/2 of=mtdblock2.dd bs=1 
dd if=/dev/mtdblock/3 of=mtdblock3.dd bs=1 
dd if=/dev/mtdblock/4 of=mtdblock4.dd bs=1
dd if=/dev/mtdblock/5 of=mtdblock5.dd bs=1
dd if=/dev/mtdblock/6 of=mtdblock6.dd bs=1
dd if=/dev/mtdblock/7 of=mtdblock7.dd bs=1
dd if=/dev/mtdblock/8 of=mtdblock8.dd bs=1
(mtdblock/7はエラー発生する可能性あり)

さらにリストア用のファームウェアを生成しておきます。
cat mtdblock2.dd mtdblock3.dd > wzr900dhp_cfe.trx 
(Windows環境で copy /b mtdblock2.dd+mtdblock3.dd wzr900dhp_cfe.trx でも可)

**インストール方法(基本編)
mini CFE web Serverはnvram設定を変更することでboot中に起動できるようになります。
nvram設定変更はdebugモードにて実施します。

***準備
debugモードのtelnet CLIにて以下を実施します。

nvram set boot_wait=on 
nvram set wait_time=30
nvram commit 
(起動時のWaitをONにし、30秒間 mini CFE Web Server が起動するようにする)

電源を落とし、PCのIPを192.168.1.2/24に設定します。

***mini CFE Web Serverへの接続
bootup中のCFEのIPアドレス 192.168.1.1 宛に連続pingを実施します。
(ping -t 192.168.1.1)

ルータの電源をONにします。
mini CFE Web Serverが起動している間、TTL=100でicmp応答があります。
この間に http://192.168.1.1/ にWeb接続します。

***インストール
フォームで [[lede-17.01.4-bcm53xx-buffalo-wzr-900dhp-squashfs.trx>>https://downloads.lede-project.org/releases/17.01.4/targets/bcm53xx/generic/]]を選択し、uploadを実行します。

wait_time の 30秒の間に転送終了する必要があるので、うまくいかない場合は必要に応じて値を増やしてください。

**インストール方法(別法)
debugモードがない機種や既にOSがbrickしているなど、nvram 設定ができない場合はAOSSボタンを押しながら電源を入れます。nvram設定に関わらず短時間、mini CFE Web Server が起動します。
ただしブラウザからの手動uploadは時間的に間に合わないため、CLIツールのcurlを利用してコマンドラインでのフォーム経由uploadを行います。

***準備
以下のLinkから Windows版curl を入手します。
[[http://opensourcepack.blogspot.jp/p/wget-and-curl.html>>http://opensourcepack.blogspot.jp/p/wget-and-curl.html]]
(wget-1.19.1_curl-7.52.1_win32_win64.7zで実績あり) 

LEDE firmware を C:\temp\ 以下に置きます。
[[lede-17.01.4-bcm53xx-buffalo-wzr-900dhp-squashfs.trx>https://downloads.lede-project.org/releases/17.01.4/targets/bcm53xx/generic/]]

PCのIPアドレスを 192.168.1.2/24 に設定します。

***インストール実施
1)あらかじめ ping -t 192.168.1.1 を実行します。
2)別Windowで以下コマンドラインを準備(まだEnterしないでください) 
 curl -F "name=@c:\temp\lede-17.01.4-bcm53xx-buffalo-wzr-900dhp-squashfs.trx" http://192.168.1.1/f2.htm
 (f2.htm のフォーム内の name に指定したファイルの内容をPOSTメソッドで送信)
3)AOSSボタンを押しながら電源を入れます。 
 正面のLED全点灯後 緑のPower LEDだけが点灯するまで押し続けます。 
4)192.168.1.1 から TTL=100でping応答があったらすかさず別窓のcurl を enter 
 成功すれば Upload completedの文字列が含まれる HTML が返ってきます。 
 curl: (56) Recv failure: や curl: (7) Failed to connect to 192.168.1.1 port 80: は失敗です。 
5)nvramの内容をresetするには以下の方法で可能です。
 curl http://192.168.1.1/do.htm?cmd=nvram+erase

**参考
[[http://mao.5ch.net/test/read.cgi/network/1483357034/>>http://mao.5ch.net/test/read.cgi/network/1483357034/382-]]
[[http://buffalo.jp/support_s/s20160527a.html>>http://buffalo.jp/support_s/s20160527a.html]] ※ここに書かれたバージョン以降、ID:bufpyでのデバッグモードは削除された模樣です。
//////////ページ名変更プラグイン//////////
&setpagename(bootloader経由のインストール(WZR-900DHP))
#settitle(bootloader経由のインストール(WZR-900DHP))