2019年04月27日

WXR-1900DHPの純正ファームウエアのバックアップとDD-WRTからの復元方法

WXR-1900DHP無印の純正ファームウエアのバックアップとDD-WRTからの復元方法になります
ルータの性能としてはCPUは1GHZの2コアとのことで早いほうになり、高速無線に対応できるはずの機種、USB端子つきになります。

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

underpink1.png
オリジナルファイルのバックアップについて

・古い公式ファームにアップデート(下記コマンドが使えない様に対策されていないバージョン、2015年くらいの2.34とか。ただし古すぎる一番初期のやつはだめですといわれます)
・その後下記でログイン
ユーザー名:bufpy
パスワード:otdpopy+ルートのパスワード
・管理→変なurlがでてきますのでここでデバックができる。debugのところから設定で、telnetを有効化する
WXR-1900DHP01.jpg
・teratermというフリーソフトで192.168.1.1にtelnetモードでログインして
cat /proc/mtd

で状態を確認、
mtd0: 00040000 00010000 "boot"
mtd1: 00010000 00010000 "org_nvram"
mtd2: 01d40000 00020000 "kernel"
mtd3: 01b66a4c 00020000 "rootfs"
mtd4: 03000000 00020000 "linux"
mtd5: 01d40000 00020000 "kernel_recover"
mtd6: 01b66a4c 00020000 "rootfs_recover"
mtd7: 03000000 00020000 "linux_recover"
mtd8: 01f00000 00020000 "user_property_raw"
mtd9: 00100000 00020000 "BBT"
mtd10: 0001f800 0001f800 "user_property"
mtd11: 0001f800 0001f800 "nvram"
・mtdの2や3など一通りバックアップしておくのがよいかと、
dd if=/dev/mtdblock/2 of=/tmp/full_flash_backup2.rom

でバックアップ、最後のファイル名は任意
・バックアップファイルはブラウザから下記でファイルを入手できる
http://192.168.1.1/html/py-db/tmp/full_flash_backup4.rom
・USBメモリに保存する場合は
dd if=/dev/mtdblock/2 of=/mnt/usb0_0/full_flash_backup2.rom
という形のコマンドになります
(mountで現在の状況が出るはずなのでusb0_0に割り当てられていること確認)

underpink1.png

DD-WRTからの復旧
・元ファームの kernelとrootfs のバックアップデータを一つに結合する
windowsのコマンドプロンプトを起動して
copy /b full_flash_backup2.rom+full_flash_backup3.rom wxr1900dhp_cfe.trx

これでDD-WRTファームと同様のHDR0から始まるファイルになる(58MBくらい)
・DD-WRTのファームアップのところから更新(設定初期化も)。HDR0から始まる未暗号化ファイルなのでこれが出来ます。
・最初の再起動では何かやってエラーがでたのか時間がかかった後に勝手に再起動が掛かります。この後は正常に行き、192.168.11.1に行くと純正画面が見られるようになるかと思います(本体スイッチをルータモードに)

諸注意
・DD-WRTやOPEN-WRTの状態で
tftpをwindowsで起動した状態でPCを192.168.11.2にし、ファイル名と書き込み先flash0.trxを指定したコマンドをシリアルケーブル経由で入力しようとすると
flash -noheader 192.168.11.2:wxr1900dhp_cfe.trx flash0.trx
flash -noheader 192.168.11.2:wxr1900dhp_cfe.trx nflash1.trx_recovery
を入力しても32M程度転送した段階で転送が中断して更新し始め失敗します。tftpには32MBの壁があるようでこれに引っかかるようです。素直にdd-wrt webから入れてよかったようです
・暗号化されている純正webにあるファーム(bgn~startが見えるファイル)で更新しようとしてもそのままではこの技は使えません

underpink1.png
おまけ:OPEN-WRTからdd-WRTに書き換え(というか本体が起動しなくなったときの復旧方法)は
tftpをPCで起動して、シリアルケーブルをつなぎ(設定は前回の記事参照)
電源投入直後にCTRL+C連打でコマンド入力画面にして、下記コマンド
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年のファームを上書きすることで本格的に使えます


DDWRTの掲示板WXR-1900DHP
https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=986152
(2)CFEプロンプトからの復旧(Buffalo)
https://www57.atwiki.jp/ddwrt_openwrt/pages/115.html
wxr1900dhpにOPENWRTを入れてみたときの失敗例
https://okoya.seesaa.net/article/465149182.html


posted by okoya at 00:40| Comment(0) | 商品レビュー | このブログの読者になる | 更新情報をチェックする

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) | 商品レビュー | このブログの読者になる | 更新情報をチェックする

2019年04月08日

シチズンの8RD208-A03について

シチズンの8RD208-A03です
小型のタイプになりますが、時計機能も内蔵されています
大きさが小さいので見難いと感じる人もいるかもしれません、当方的には小型で場所を取らないのはよいと思います
温度表示ですが当方が入手した8RD208-A03は他社品HB-T03-Wとほぼ同じ数値を示してました。
精度に問題はないのかと思います
8RD208-A03-01.jpg


オーム電機HB-T03-Wのテスト
https://okoya.seesaa.net/archives/201707-1.html
posted by okoya at 21:39| Comment(0) | 商品レビュー | このブログの読者になる | 更新情報をチェックする