2019年04月14日

wxr1900dhpにOPENWRTを入れてみたときの失敗例と成功例

wxr1900dhpにOpenWrtを入れてみたのですがそのときの失敗例、成功例になります。試そうと思っている人は注意です。話は単純ではないようです。
性能としてはCPUは1GHZの2コアとのことで早いほうになり、WSR-1166DHPの倍くらいの処理速度、高速無線に対応できるはずの機種、USB端子つきになります。消費電力は待機で7Wになりますのでそこそこ使うのは注意でしょうか(WSR-1166DHPは3Wです)。

underpink1.png
諸注意
wxr1900はbrodcomチップになっていて、u-bootからCFEに変わっています
したがって昔のコマンド、経験は使えないので注意です

ファームウエアの入手URL例
DD-WRT
ftp://ftp.dd-wrt.com/betas/2018/02-17-2018-r35034/buffalo_wxr-1900dhp/
(factory-to-dd-wrt.binは純正ファームと同様に暗号化されファイルの先頭にstartがみえ、純正webから更新できるはずのものですが日本語ファームでも英語ファームでも無理なようです)
(buffalo-wxr-1900dhp-webflash.binはHDR0から始まる暗号化されてないほうでカスタムファームOSなどに適用するもの)
DD-WRT nxt 1.5.5とアメリカ版FWの2.30など
http://buffalo.jp/support_ap/support/products/wxr_1900dhp.html
(1.3.4と1.5.5ではファイルサイズが違います。1.3.4入れてから1.5.5入れたほうがいいのかもしれません、また1.4.5はHDR0で始まるファイルに簡単にできますので暗号化がされていないようです)

OpenWrt 17.01.6
https://downloads.openwrt.org/releases/17.01.6/targets/bcm53xx/generic/

日本版純正2.47など--
https://www.buffalo.jp/support/download/detail/?dl_contents_id=61672

試す場合は純正ファームのバックアップとレストアはしたほうがよいかと
別記事として書いておきました
WXR-1900DHPの純正ファームウエアのバックアップとDD-WRTからの復元方法
https://okoya.seesaa.net/article/465384290.html

underpink1.png
・成功例1(DD-WRT-nxtをいれたとき)
アメリカのサイトからr1.3.4入手
http://buffalo.jp/support_ap/support/products/wxr_1900dhp.html
ユーザー名:bufpy
パスワード:otdpopy+ルートのパスワード
でログインして管理→変なurlのfirmupのところから
WXR-1900DHP01.jpg
wxr1900dhp_me_uf2ddwrt-r1.3.4.encのファイルで更新
再起動後しばらくまつとDD-WRT-NXTになります
password
と打つとログインできます
戻すときは日本語純正では出来ないようですので、英語版の2.30にでも更新してから日本語ファームを適用する必要があります
underpink1.png
・成功例2 純正FWからOpenWrtかDD-WRT
USBメモリに
openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx
をコピー。LANの口のところにある青くないUSB2.0端子に接続
 ユーザー名:bufpy
 パスワード:otdpopy+ルートのパスワード
      otdpopypassword
でログインして、管理→変なurlの55debug -> telnetd
のところからtelnetを有効化
telnetでログインして以下実施
cd mnt/usb0_0/
dd if=openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx of=/dev/mtd4 bs=131072
dd if=openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx of=/dev/mtd7 bs=131072
reboot


192.168.1.1にアクセスできるようになっていればOpenWrt利用OK
諸注意:OpenWrtは無線は使えません。ただし、この方法でDD-WRTを書き込めば無線は利用できました。
underpink1.png
・成功例3(DD-WRTからOpenWrtをいれたとき)
DD-WRTのファームアップ機能から、バージョン17、を入れます
 lede-17.01.6-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx
これだけでOpenWrtになります。
このあとに18.06.2や19.07.0にアップデートしましょう。
(bcm53系のOpenWrtは無線は使えません)

underpink1.png
・失敗例1(DD-WRTなどが適用できることを期待した処置含む)
アメリカのサイトからwxr1900dhp-230.zip入手
http://buffalo.jp/support_ap/support/products/wxr_1900dhp.html
ユーザー名:bufpy
パスワード:otdpopy+ルートのパスワード
でログインして管理→変なurlのfirmupのところから
wxr_1900dhp_eu_230のファイルで更新
(このログインしないで英語版に更新しようとすると起動不能になるようです)
再起動後に英語版になっていますので
ユーザー名:bufpy
パスワード:otdpopy+ルートのパスワード
でログインしてsystemのところから
openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx
のファイルで更新
この後再起動が繰り返されてました。

underpink1.png
・失敗例2(DD-WRTの適用)
ユーザー名:bufpy
パスワード:otdpopy+ルートのパスワード
でログインして管理→変なurlのfirmupのところから
buffalo-wxr-1900dhp-webflash.bin(2018年ごろ)
のファイルで更新
この後再起動が繰り返されてました。
なお、英語ファームを経由してみても再起動でしたので簡単ではないようです

underpink1.png
・失敗例3(AOSSを押したまま起動)
tftp32をwindowsで起動した状態でPCを192.168.11.2設定にして、wxr1900dhpを起動すると
 Loader:raw Filesys:tftp Dev:eth0 File:192.168.11.2:firmware.ram
を行うのですが、正しく設定しても
 Loading: PANIC: out of memory!
となって失敗してました(失敗の原因はシリアル接続をして確認しました)
ファイルをダウンロードできていないような挙動でした。

underpink1.png
・失敗例4 mini CFE Web Serverからインストール
AOSSを押したまま起動すると3秒のウエイトがあるのでこのときに更新できるらしいのですが
 curl -F "name=@c:\temp\openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx" http://192.168.11.1/f2.htm

を試してみましたが、mini CFE Web Server自体が起動していない?ようで適用できずでした
nvram設定で時間が変えられるようなのですが、設定の仕方が悪いのか短時間で次ステップに遷移してました
(次項のシリアル接続するかなにかでteratermから下記コマンド入力で設定変更)
nvram show で設定一覧
nvram set wait_time=30 で設定変更

underpink1.png
・失敗例5 DD-WRTからOpenwertへ
webページから直接
openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx
を入れようとすると再起動の繰り返しになりました
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
でした。成功例3を実施する。

underpink1.png
・失敗例6 OpenWrtからDD-WRTへ
webページから直接入れ替えしようとすると再起動の繰り返しになりますので禁止です
telnetで接続してsysupgradeも同様に失敗でした

underpink1.png
2.ふたを開けてシリアル接続
ふたを根性で開けます。ものすごく硬く、破損が前提となります。メーカーの人は特別なアタッチメントか何かでふたを開けるか、ふたの破壊交換を前提として対応していると思われます。
カスタムファームを入れて壊したのをメーカー修理にだす残念な人がいるので、安易にいじれないように対策をしてきているのかもしれません。
wxr1900dhp-02.jpg
星型トルクスドライバーのT6サイズのネジをはずした後に、LAN口側は比較的取りやすいです、のこりの辺は厚み方向で奥のほうにロックがあります。ネジ側はロックが1箇所なのではずしやすいです。のこりの2辺は根性が必要でした。
4ピンが有るところで三角印がある側から
VCC,GND、TX、RX
になります。接続があっているか確認するためにはまずGNDとTRANS(TX)をつないで見るとよいかと思います。
まず2番と3番をつないでteratermで文字化けが出ることを確認
(用いるUSB-シリアル変換ケーブルはTTLという3.3V系に対応したものを必ず用意してください。根性では何とかなりませんので)
(注追記:ルータ側を送信txにつないだら変換ケーブル側は受信rxにつなぐこと。)
teratermの設定を下記にする
 tterm→setup→terminal→で文字をSjisにする
 tterm→setup→serial port→で通信速度を115200
これで文字化けが出なくなります。
4番のRXをつないだ後に
電源を入れたあとの特定のタイミングであればCTRL+Cをうつことでコマンドが入れられるようになります。CTRL+Cを連打してください。動作が止まるので
tftp32をwindowsで起動した状態でPCを192.168.11.2にし、ファイル名と書き込み先flash0.trxを指定したコマンド
 flash -noheader 192.168.11.2:openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx flash0.trx
flash -noheader 192.168.11.2:openwrt-18.06.2-bcm53xx-buffalo-wxr-1900dhp-squashfs.trx nflash1.trx_recovery

で書き込みが完了します。その後
go reboot
で起動スタート、これでOpenWrtになりました。プログラムの配置は純正と変わります
cat /proc/mtd
mtd0: 03000000 00020000 "firmware"
mtd1: 003fffe4 00020000 "linux"
mtd2: 02c00000 00020000 "ubi"
mtd3: 05000000 00020000 "failsafe"
mtd4: 00070000 00010000 "boot"
mtd5: 00010000 00010000 "nvram"
となりました。
~_recoveryを書き込まずに電源いれなおすとAとBが違うと警告が出ているのですが起動はできているようです
flash0.trxだけでなくnflash1.trx_recovery にも書き込めばAとBは同じになり警告がでなくなります

OpenWrtにはなりますが無線の設定が出てきませんでした。無線用のドライバが書いてある領域がOpenWrt化で壊れるからという話があります。brodcom用のドライバはOpenWrtには付いていないという話があるようです

この後シリアル接続やluci web上からでDD-WRT nxt 1.4.5(HDR0で始まるように改変)をいれてみましたが
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
となってました。
buffaloencで複合化が必要な純正ファーム(ファイルのはじめのほうにstartがみえるやつ)は当然適用できません

OpenWrtからdd-WRTに書き換えは上記のシリアル接続で
flash -noheader 192.168.11.2:buffalo-wxr-1900dhp-webflash20150223.bin flash0.trx
flash -noheader 192.168.11.2:buffalo-wxr-1900dhp-webflash20150223.bin nflash1.trx_recovery
を打つことでエラーがたくさん出照るように見えるけど一応起動できるようです。パスワード変更画面が出るのでパスワードの2箇所だけ打つことでログインできます(usernameのデフォルトはroot)
webから2018年のファームを上書きすることで本格的に使えるように見えます
無線も有効化できました、。
underpink1.png
wxr1900dhpのベンチマーク結果としては
○SHA-256の計算:44,643,000
(WSR-1166DHPの場合は21,078,360なので倍の演算性能が出せるようです。)
○消費電力は7Wが実測結果です。
○USB3.0のストレージをSAMBAでファイル共有した場合
(USB接続で300MB/s出せることを確認したSSDをつないだ場合)
(SSD用の電源は別途用意しています)
(CrystalDiskMarkとTCP Monitorを利用)
読み込み:294.6MBps (37.17MB/s)
書き込み:153.6MBps (19.48MB/s)
(USB3.0は無線と干渉しますのであまり期待しないように注意です。DHP3シリーズは純正ファームの初期設定はUSB2.0として動くように変更されたりしています)

参考:
DDWRT の掲示板WXR-1900DHP
https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=986152
OpenWrt編 > bootloader経由のインストール > WZR-900DHP編
https://www57.atwiki.jp/ddwrt_openwrt/pages/70.html
(2)CFEプロンプトからの復旧(Buffalo)
https://www57.atwiki.jp/ddwrt_openwrt/pages/115.html
WSR-1166DHPにDD-WRTを適用する
https://okoya.seesaa.net/article/442415205.html



posted by okoya at 11:35| Comment(2) | 商品レビュー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
1900DHPを入手してOpenWRTかdd-wrtにしようと検討しているものですが、難しいのでどうしようかと思っていたところ、ここにたどり着きました。蓋を開くのは避けたく成功例2に一番興味があります。無線を使うためにはdd-wrtでなければならないと解釈しました。そのためのtrxファイルはどこから入手するのでしょうか?dd-wrtのページにはbinファイルしか置いていないように見えます。また、いきなり最新のものを持ってきても大丈夫でしょうか?
ご回答よろしくお願いします。
Posted by KH at 2019年12月15日 10:36
ftp://ftp.dd-wrt.com/betas/2018/02-17-2018-r35034/buffalo_wxr-1900dhp/
buffalo-wxr-1900dhp-webflash.bin
を使ってみてください
blogに書いたコマンドは変なところに改行が入って見えていることがあるので注意して、ファイル名を書き換えたコマンドを使うです
Posted by okoya at 2019年12月15日 19:22
感想、コメントを残そう
コメント記入ページへ