死んだBuffalo製ルーターを蘇らせる(DD-WRT)
まえがき
こんにちは、出現率が低いのは日々専門分野の学習に追われてるからってことにしたいBeingです。(専門分野以外の研究室なのでそっちも勉強してますが)とりあえずTOEICは必要点数確保しました。
PenMからもらった(押し付けられた?)BuffaloのWZR-HP-G450Hを使える状態にしていきたいと思います。なにか理由があるわけでもないですが、やってみることにします。応用すれば大体のルーターを修理できるはずです。
準備するもの
- T8ドライバ
- USB-TTLケーブル
- TFTPサーバ
- dd-Wrtのfirmware
- Hex editor
現状
電源を入れてみると電源ランプが点灯し、歯車のマーク( DIAGランプ )が2回点滅を繰り返す状態です。
端的に言えば諦めてくださいって状態らしいです。
DIAGランプの状態
https://www.buffalo.jp/support/faq/detail/905.html
・点灯状態が続く
・1~4回ずつ点滅
状態
商品の故障の可能性があります。
対処法
念のため一旦初期化し、それでも状態が変わらない場合は、当社修理センターへ商品をご送付頂き商品の検査/修理のご依頼をご検討ください。
当然Ethernetケーブルを指してもうんともすんとも言いません。WebGUIにもアクセスできません。完全に死んでいます。RESETボタンを押しても電源再投入しても変化しません。普通だったら買い替えか、Buffaloに送って修理してもらうところですが、これを復活させていきたいと思います。
前情報
受け取るとき、基板にTTLがあるからそこから弄れるとPenMが言ってました。dd-wrt焼けば使えると思うとも。
修理開始
とりあえず、開けてみないことには始まりません。外装を剥がします。四隅のゴム足を剥がすとネジが顔をだす(出すとは言ってない)ので外していきます。妙に穴が深くて手持ちのドライバーだと開けにくかったです。T8だし。某車メーカーは+ドライバーのとこは持ち主が開けていいとこで、特殊なところはサービスマン以外は開けちゃだめって感じで使い分けてるらしいです。それに則ると、Buffaloは開けないでほしいらしいですね、開けますが。
中身はなんだ?
開けるとこんな感じ、ちょっと見てみます。
上のでっかいの(真ん中と右)
GS5014-1の刻印があったので調べてみたら Bothhand製の 1000 BASE –T DUAL PORT MAGNETICS MODULESでした。これが2つで4ポートのGigabitってわけですね。
上のでっかいの(左)
24HSS1041A-2というこれまたBothhand製の1000 BASE-T双方向通信用モジュールでした。 IEEE 802.3ab standard for1000 BASE-Tに準拠した4ペアの UTP-5(日本だとCAT5って表す事が多い規格)をサポートしているようです。
こいつが通信の要ですね。
銀色のシールドの中身
剥がすのが大変なので諦めました。人生諦めが大切です。
どこに繋げばいいのか?
とりあえずシリアルをつなぐ先を探します。すぐに見つかりますが。
ピンアサインがよくわかりません。推測しようにもまず2列あるし。キレそう。
とおもったら見つけました。やっぱWikiは偉大ですね。
Serial Pinout:
https://openwrt.org/toh/buffalo/wzr-hp-g450h
Top Row
GND RX TX VCC
Bottom Row
RX TX GND VCC
USB-シリアル変換について
アマゾンで適当に購入した変換機です。もともと言うことを聞かないnanopi NEO2を調教するために購入しましたが、使っていきます。
ちなみに
赤:Vcc 黒:GND 緑:Tx 白:Rx でした(半分自分用メモ)
そのままだと使えませんが、ドライバ周りにいろいろいじって使えるようにしました。そのへんは自分で調べてください。
いざ、接続
Wikiに書いてあるように接続します。線の配置は左からGND、TX、RX。
Win10なのでTera Termを使用して接続します。設定は以下の通りであとはデフォルトのままです。
写真の通りにジャンパワイヤをぶっ刺して TeraTermで接続し、 ルーターの電源を入れます。
接続に成功すると、こうなります。
BUFFALO U-BOOT Ver 1.00
== CPU:400MHz, DDR:400MHz, AHB:200MHz ==
AP111 (ar7241 - Virian) U-boot
DRAM: 64 MB
WAN port disabling: done
Top of RAM usable for U-Boot at: 84000000
Reserving 258k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8bfd4
Reserving 36 Bytes for Global Data at: 83f8bfb0
Reserving 128k for boot params() at: 83f6bfb0
Stack Pointer at: 83f6bf98
Now running in RAM - U-Boot at: 83fbc000
flash bank #0 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
flash bank #1 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
Flash: 32 MB
In: serial
Out: serial
Err: serial
Memory Test (address line)
uboot use 83F6BFB0 - 84000000
Memory Test start(0x80000000) end(0x83F00000) size(67108864)
Data line test start:0x80000000 pattern 0x00000001 0x00000003 0x00000007 0x0000000F 0x00000005 0x00000015 0x00000055 0xAAAAAAAA
Address line test start:0x80000000 len:0x3f00000 pattern 0xAAAAAAAA 0x55555555
Fill test patnum:5
fill Pattern 5555AAAA Writing... Reading...
fill Pattern AAAA5555 Writing... Reading...
fill Pattern 0000FFFF Writing... Reading...
fill Pattern FFFF0000 Writing... Reading...
fill Pattern AAAAAAAA Writing... Reading...
Memory Test OK
### buf_ver=[1.00] U-Boot Ver.=[1.00]
### build_date(env)=[Apr 6 2011 - 08:52:48] build_date(bin)=[Apr 6 2011 - 08:52:48]
ag7240_enet_initialize...
Reading MAC Address from ENV(0x83f8c322)
No valid address in Flash. Using fixed address
Virian MDC CFG Value ==> 4
: cfg1 0x7 cfg2 0x7114
eth0: 02:aa:bb:cc:dd:23
athrs16_reg_init: complete
eth0 up
Virian MDC CFG Value ==> 4
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
eth1 up
eth0 02:AA:BB:CC:DD:23
, eth1 00:03:7F:09:0B:AD
eth0 link down
tftp server(receive) go, waiting:4[sec]
eth0 link down
Load address: 0x81f00000
TftpServer Timeout;
no file was loaded.
LAN port disabling: done
## Checking Image at bf060000 ...
Bad Magic Number
===========================================
== Broken first FW, Trying second FW... ==
===========================================
Loading second FW to RAM...
## Checking Image at 81f00000 ...
Bad Magic Number
===========================================
== Broken second FW. Need to repair FW...==
===========================================
# LED(0x4000) Blink[2] (Please press 'Ctrl+c' to stop)
見た感じ、Tftpだけでのファーム焼きも可能そうですね。Tftpサーバーが存在しないことを確認してからLANポートを落としてます。その後、ファームを確認してBrokenを検知しています。
Ctrl+cを押すと
ar7240>
となり、入力できるようになるのでprintenvを打ちます。現在の情報が表示されます。
ar7240> printenv
bootargs=console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),1152k@384k(uImage),6592k@1536k(rootfs),64k@320k(ART),64k@8128k(properties),8192k@8192k(flash1),16384k@16384k(flash2)
bootcmd=bootm BF060000
baudrate=115200
ethaddr=02:AA:BB:CC:DD:23
ipaddr=192.168.11.1
serverip=192.168.11.2
tmp_ram=81F00000
tmp_bottom=83F00000
fw_eaddr=BF060000 BEFFFFFF
uboot_eaddr=BF000000 BF03FFFF
u_fw=erase $fw_eaddr; cp.fw $fileaddr BF060000 $filesize; bootm BF060000;
ut_fw=tftp $tmp_ram firmware.bin; erase $fw_eaddr; cp.fw $fileaddr BF060000 $filesize; bootm BF060000;
ut_uboot=tftp $tmp_ram u-boot.bin; protect off $uboot_eaddr; erase $uboot_eaddr; cp.b $fileaddr BF000000 $filesize;
melco_id=RD_BB10082
hw_rev=0
tftp_wait=4
uboot_ethaddr=02:AA:BB:CC:DD:23
DEF-p_wireless_ath0_11bg-authmode=psk
DEF-p_wireless_ath0_11bg-crypto=tkip+aes
DEF-p_wireless_ath0_11bg-authmode_ex=mixed-psk
DEF-p_wireless_ath0_11bg-wpapsk=v6dr3sh3gfxmx
pincode=47295292
custom_id=0
buf_ver=1.00
region=JP
product=WZR-HP-G450H
build_date=Apr 6 2011 - 08:52:48
buf_crc=59581C3B
stdin=serial
stdout=serial
stderr=serial
ethact=eth0
loadaddr=81F00000
Environment size: 1175/65532 bytes
ここで気にするのは以下の3つです。
- ethaddr=02:AA:BB:CC:DD:23
- ipaddr=192.168.11.1
- serverip=192.168.11.2
これで、ファームウエアを焼く準備ができました。
接続(2回目)
今度はEthernetケーブルでPCと直接つないで、PCのIPアドレスを以下のように固定します。
次にコマンドプロンプトを管理者で起動して、route printを実行します。
C:\WINDOWS\system32> route print =========================================================================== インターフェイス一覧 6...00 25 22 a6 fb 65 ......Realtek PCIe GBE Family Controller 1...........................Software Loopback Interface 1 =========================================================================== IPv4 ルート テーブル =========================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331 192.168.11.0 255.255.255.0 リンク上 192.168.11.2 281 192.168.11.2 255.255.255.255 リンク上 192.168.11.2 281 192.168.11.255 255.255.255.255 リンク上 192.168.11.2 281 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 331 224.0.0.0 240.0.0.0 リンク上 192.168.11.2 281 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 331 255.255.255.255 255.255.255.255 リンク上 192.168.11.2 281 =========================================================================== 固定ルート: なし IPv6 ルート テーブル =========================================================================== アクティブ ルート: If メトリック ネットワーク宛先 ゲートウェイ 1 331 ::1/128 リンク上 6 281 fe80::/64 リンク上 6 281 fe80::de4:ce7a:c0cc:3f2f/128 リンク上 1 331 ff00::/8 リンク上 6 281 ff00::/8 リンク上 =========================================================================== 固定ルート: なし C:\WINDOWS\system32> ===========================================================================
インターフェイス一覧
6...00 25 22 a6 fb 65 ......Realtek PCIe GBE Family Controller
1...........................Software Loopback Interface 1
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331
127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331
127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
192.168.11.0 255.255.255.0 リンク上 192.168.11.2 281
192.168.11.2 255.255.255.255 リンク上 192.168.11.2 281
192.168.11.255 255.255.255.255 リンク上 192.168.11.2 281
224.0.0.0 240.0.0.0 リンク上 127.0.0.1 331
224.0.0.0 240.0.0.0 リンク上 192.168.11.2 281
255.255.255.255 255.255.255.255 リンク上 127.0.0.1 331
255.255.255.255 255.255.255.255 リンク上 192.168.11.2 281
===========================================================================
固定ルート:
なし
IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
If メトリック ネットワーク宛先 ゲートウェイ
1 331 ::1/128 リンク上
6 281 fe80::/64 リンク上
6 281 fe80::de4:ce7a:c0cc:3f2f/128
リンク上
1 331 ff00::/8 リンク上
6 281 ff00::/8 リンク上
===========================================================================
固定ルート:
なし
ここで、現在自分がルーターとつないでいるアダプタの前の文字列を記録しておきます。
そのあとに先程記録した番号で
netsh interface ipv4 add neighbors 6 192.168.11.1 02-aa-bb-cc-dd-23
arp -s 192.168.11.1 02-aa-bb-cc-dd-23
ping 192.168.11.2
これでPingが通れば成功
焼いていく
ファームウェアのチェック
iminfoで現状の確認をしていきます。
ar7240> iminfo
## Checking Image at 81f00000 ...
Bad Magic Number
だめみたいですね・・・
ファームウエアの準備
ここから DD-WRT: Webupgrade のほうをダウンロードしてきます。(
DD-WRT: Factory flash のほうをダウンロードしてしばらく詰まってました)
次に、バイナリエディタを使って、ファームウェアを修正します。
具体的には、 27 05 19 56 が先頭に来るように修正します。
ファイル名はfirmware.binとして、適当な作業フォルダに保存します。
Tftpサーバーを立てる
適当なTftpサーバーを入手してファイアウォールを通過させます。設定は以下のようにします。
ディレクトリには作業用のフォルダを、インターフェースには接続先のIPを指定します。
その後、ルーターの電源を再投入して
BUFFALO U-BOOT Ver 1.00
== CPU:400MHz, DDR:400MHz, AHB:200MHz ==
AP111 (ar7241 - Virian) U-boot
DRAM: 64 MB
WAN port disabling: done
Top of RAM usable for U-Boot at: 84000000
Reserving 258k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8bfd4
Reserving 36 Bytes for Global Data at: 83f8bfb0
Reserving 128k for boot params() at: 83f6bfb0
Stack Pointer at: 83f6bf98
Now running in RAM - U-Boot at: 83fbc000
flash bank #0 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
flash bank #1 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
Flash: 32 MB
In: serial
Out: serial
Err: serial
Memory Test (address line)
uboot use 83F6BFB0 - 84000000
Memory Test start(0x80000000) end(0x83F00000) size(67108864)
Data line test start:0x80000000 pattern 0x00000001 0x00000003 0x00000007 0x0000000F 0x00000005 0x00000015 0x00000055 0xAAAAAAAA
Address line test start:0x80000000 len:0x3f00000 pattern 0xAAAAAAAA 0x55555555
Fill test patnum:5
fill Pattern 5555AAAA Writing... Reading...
fill Pattern AAAA5555 Writing... Reading...
fill Pattern 0000FFFF Writing... Reading...
fill Pattern FFFF0000 Writing... Reading...
fill Pattern AAAAAAAA Writing... Reading...
Memory Test OK
### buf_ver=[1.00] U-Boot Ver.=[1.00]
### build_date(env)=[Apr 6 2011 - 08:52:48] build_date(bin)=[Apr 6 2011 - 08:52:48]
ag7240_enet_initialize...
Reading MAC Address from ENV(0x83f8c322)
No valid address in Flash. Using fixed address
Virian MDC CFG Value ==> 4
: cfg1 0x7 cfg2 0x7114
eth0: 02:aa:bb:cc:dd:23
athrs16_reg_init: complete
eth0 up
Virian MDC CFG Value ==> 4
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
eth1 up
eth0 02:AA:BB:CC:DD:23
, eth1 00:03:7F:09:0B:AD
dup 1 speed 1000
tftp server(receive) go, waiting:4[sec]
Load address: 0x81f00000
Abort
no file was loaded.
ar7240>
tftp server(receive) go, waiting:4[sec] が出た時点でCtrl+c を連打します。(おそらく他の人がタイミングがシビアとか、運とか言ってるのはこのあたりですね。)
これでtftpサーバーが待機するようになります。
データの送信
この状態でターミナルからtftpboot 81f00000 firmware.binを実行します。
ar7240> tftpboot 81f00000 firmware.bin
Using eth0 device
TFTP from server 192.168.11.2; our IP address is 192.168.11.1
Filename 'firmware.bin'.
Load address: 0x81f00000
Loading: #################################################################
--中略--
#################################################################
done
Bytes transferred = 28733440 (1b67000 hex)
完了後にチェックするためにもう一度iminfoをします。
ar7240> iminfo
## Checking Image at 81f00000 ...
Image Name: MIPS Linux Kernel Image
Created: 2018-10-10 1:31:39 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1138768 Bytes = 1.1 MB
Load Address: 80060000
Entry Point: 800646d0
Verifying Checksum ... crc32_fw: 81f00040 - 8201608f (len:00116050) calc...
OK
よさそうですね。
焼きまーす
ミスったらお釈迦になるそうですが、焼きます。
printenvの結果から以下の情報を探します。
- fw_eaddr=BF060000 BEFFFFFF
- filesize=1b67000
- fileaddr=81F00000
まず、メモリを消去します。
ar7240> erase BF060000 BEFFFFFF
search sector 0xbf060000 - 0xbeffffff
BANK #1 (6 : 255)
000 PPPP.Poooooooooooooooooooooooooo
032 oooooooooooooooooooooooooooooooo
064 oooooooooooooooooooooooooooooooo
096 oooooooooooooooooooooooooooooooo
128 oooooooooooooooooooooooooooooooo
160 oooooooooooooooooooooooooooooooo
192 oooooooooooooooooooooooooooooooo
224 oooooooooooooooooooooooooooooooo
BANK #2 (0 : 255)
000 oooooooooooooooooooooooooooooooo
032 oooooooooooooooooooooooooooooooo
064 oooooooooooooooooooooooooooooooo
096 oooooooooooooooooooooooooooooooo
128 oooooooooooooooooooooooooooooooo
160 oooooooooooooooooooooooooooooooo
192 oooooooooooooooooooooooooooooooo
224 oooooooooooooooooooooooooooooooo
First 0x6 last 0xff sector size 0x10000
255
First 0x0 last 0xff sector size 0x10000
255
Erased 506 sectors
その後、送信したファームウエアのファイルをコピーします。
ar7240> cp.b 81F00000 bf060000 1b67000
Copy to Flash...
Copy 28733440 byte to Flash...
write data: 81f00000 --> bf060000 (len:fa0000)
write data: 82ea0000 --> c0000000 (len:bc7000)
done
少々時間がかかりますが、doneまで我慢します。その後、電源を再投入します。
修理完了!
BUFFALO U-BOOT Ver 1.00
== CPU:400MHz, DDR:400MHz, AHB:200MHz ==
AP111 (ar7241 - Virian) U-boot
DRAM: 64 MB
WAN port disabling: done
Top of RAM usable for U-Boot at: 84000000
Reserving 258k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8bfd4
Reserving 36 Bytes for Global Data at: 83f8bfb0
Reserving 128k for boot params() at: 83f6bfb0
Stack Pointer at: 83f6bf98
Now running in RAM - U-Boot at: 83fbc000
flash bank #0 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
flash bank #1 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
Flash: 32 MB
In: serial
Out: serial
Err: serial
Memory Test (address line)
uboot use 83F6BFB0 - 84000000
Memory Test start(0x80000000) end(0x83F00000) size(67108864)
Data line test start:0x80000000 pattern 0x00000001 0x00000003 0x00000007 0x00000 00F 0x00000005 0x00000015 0x00000055 0xAAAAAAAA
Address line test start:0x80000000 len:0x3f00000 pattern 0xAAAAAAAA 0x55555555
Fill test patnum:5
fill Pattern 5555AAAA Writing... Reading...
fill Pattern AAAA5555 Writing... Reading...
fill Pattern 0000FFFF Writing... Reading...
fill Pattern FFFF0000 Writing... Reading...
fill Pattern AAAAAAAA Writing... Reading...
Memory Test OK
### buf_ver=[1.00] U-Boot Ver.=[1.00]
### build_date(env)=[Apr 6 2011 - 08:52:48] build_date(bin)=[Apr 6 2011 - 08:5 2:48]
ag7240_enet_initialize...
Reading MAC Address from ENV(0x83f8c322)
No valid address in Flash. Using fixed address
Virian MDC CFG Value ==> 4
: cfg1 0x7 cfg2 0x7114
eth0: 02:aa:bb:cc:dd:23
athrs16_reg_init: complete
eth0 up
Virian MDC CFG Value ==> 4
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
eth1 up
eth0 02:AA:BB:CC:DD:23
, eth1 00:03:7F:09:0B:AD
eth0 link down
tftp server(receive) go, waiting:4[sec]
eth0 link down
Load address: 0x81f00000
TftpServer Timeout;
no file was loaded.
LAN port disabling: done
## Checking Image at bf060000 ...
Image Name: MIPS Linux Kernel Image
Created: 2018-10-10 1:31:39 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1138768 Bytes = 1.1 MB
Load Address: 80060000
Entry Point: 800646d0
Verifying Checksum ... crc32_fw: bf060040 - bf17608f (len:00116050) calc...
crc32_fw: range1 bf060040 - bf17608f
OK
change bootargs
console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240 -nor0:256k(u-boot),64k(u-boot-env),1152k@384k(uImage),6592k@1536k(rootfs),64k@32 0k(ART),64k@8128k(properties),8192k@8192k(flash1),16384k@16384k(flash2) mem=64M
## Booting image at bf060000 ...
Image Name: MIPS Linux Kernel Image
Created: 2018-10-10 1:31:39 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1138768 Bytes = 1.1 MB
Load Address: 80060000
Entry Point: 800646d0
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 800646d0) ...
## Giving linux memsize in bytes, 67108864
Starting kernel ...
[ 0.000000] Linux version 3.10.108-d6 (root@linux) (gcc version 8.2.0 (OpenWr t GCC 8.2.0 r7577-d14647dd59) ) #65347 Wed Oct 10 03:28:47 CEST 2018
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
AR7242
detect mem size
Uart Init
Booting AR7240(Python)...
[ 0.000000] sys id = 1101 Atheros AR7242 ver 1 rev 1.1 (0x1101)
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 04000000 @ 00000000 (usable)
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x00000000-0x03ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000-0x03ffffff]
[ 0.000000] Primary instruction cache 64kB, 4-way, VIPT, I-cache aliases, lin esize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 root=1f02 rootfstype=sq uashfs noinitrd init=/sbin/init
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 61116k/65536k available (2472k kernel code, 4420k reserve d, 585k data, 204k init, 0k highmem)
[ 0.000000] NR_IRQS:83
[ 0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
[ 0.080000] pid_max: default: 32768 minimum: 301
[ 0.080000] Mount-cache hash table entries: 512
[ 0.090000] NET: Registered protocol family 16
[ 0.100000] found calibration data for slot 0 on 0xBF050000
[ 0.100000] Found empty mac address in calibration dataset, leave the respons ibility to the driver to use the correct one
[ 0.110000] Found empty mac address in dataset, leave the responsibility to t he driver to use the correct one
[ 0.120000] registering PCI controller with io_map_base unset
[ 0.140000] bio: create slab <bio-0> at 0
[ 0.150000] usbcore: registered new interface driver usbfs
[ 0.150000] usbcore: registered new interface driver hub
[ 0.160000] usbcore: registered new device driver usb
[ 0.160000] PCI host bridge to bus 0000:00
[ 0.170000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[ 0.170000] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.180000] pci_bus 0000:00: No busn resource found for root bus, will use [b us 00-ff]
[ 0.180000] detected swapped eeprom data
[ 0.190000] pci 0000:00:00.0: fixup device configuration
[ 0.190000] bootstrap returns device 168C:30
[ 0.200000] move calibration data offset 12288
[ 0.200000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1001ffff 64bi t]
[ 0.210000] pci 0000:00:00.0: BAR 6: assigned [mem 0x10020000-0x1002ffff pref ]
[ 0.210000] pci 0000:00:00.0: using irq 72 for pin 1
[ 0.220000] Switching to clocksource MIPS
[ 0.220000] NET: Registered protocol family 2
[ 0.230000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.230000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.240000] TCP: Hash tables configured (established 512 bind 512)
[ 0.240000] TCP: reno registered
[ 0.250000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.250000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.260000] NET: Registered protocol family 1
[ 0.260000] gpio_proc: module loaded and /proc/gpio/ created
[ 0.270000] wl0gpio_proc: module loaded and /proc/wl0gpio/ created
[ 0.280000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.290000] msgmni has been set to 119
[ 0.290000] io scheduler noop registered
[ 0.290000] io scheduler deadline registered (default)
[ 0.300000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.330000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.330000] console [ttyS0] enabled, bootconsole disabled
[ 0.330000] console [ttyS0] enabled, bootconsole disabled
[ 0.350000] check spi banks 2
[ 0.350000] 0000 : EF 40 18
[ 0.350000] found W25Q128BV device on bank#0
[ 0.360000] 0000 : EF 40 18
[ 0.360000] found W25Q128BV device on bank#1
[ 0.360000] SPI flash size total:32 Mbytes
[ 0.440000]
[ 0.440000] found squashfs at 177000
[ 0.450000] Creating 9 MTD partitions on "ar7240-nor0":
[ 0.450000] 0x000000000000-0x000000050000 : "RedBoot"
[ 0.460000] 0x000000060000-0x000001fe0000 : "linux"
[ 0.470000] 0x000000177000-0x000001bd0000 : "rootfs"
[ 0.470000] mtd: partition "rootfs" must either start or end on erase block b oundary or be smaller than an erase block -- forcing read-only
[ 0.490000] mtd: partition "rootfs" set to be root filesystem
[ 0.490000] 0x000001bd0000-0x000001fe0000 : "ddwrt"
[ 0.500000] 0x000001fe0000-0x000001ff0000 : "nvram"
[ 0.500000] 0x000001ff0000-0x000002000000 : "FIS directory"
[ 0.510000] 0x000001ff0000-0x000002000000 : "board_config"
[ 0.520000] 0x000000000000-0x000002000000 : "fullflash"
[ 0.530000] 0x000000040000-0x000000050000 : "uboot-env"
[ 0.730000] PPP generic driver version 2.4.2
[ 0.740000] PPP BSD Compression module registered
[ 0.740000] PPP Deflate Compression module registered
[ 0.750000] PPP MPPE Compression module registered
[ 0.750000] NET: Registered protocol family 24
[ 0.770000] u32 classifier
[ 0.780000] Performance counters on
[ 0.780000] input device check on
[ 0.780000] Actions configured
[ 0.790000] Netfilter messages via NETLINK v0.30.
[ 0.790000] nf_conntrack version 0.5.0 (954 buckets, 3816 max)
[ 0.800000] nf_conntrack_rtsp v0.7 loading
[ 0.800000] nf_nat_rtsp v0.7 loading
[ 0.810000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 0.810000] TCP: westwood registered
[ 0.820000] TCP: hybla registered
[ 0.820000] TCP: vegas registered
[ 0.820000] NET: Registered protocol family 17
[ 0.830000] Bridge firewalling registered
[ 0.830000] 8021q: 802.1Q VLAN Support v1.8
[ 0.840000] searching for nvram
[ 0.840000] nvram size = 0
[ 0.950000] nvram empty
[ 0.950000] Atheros AR71xx hardware watchdog driver version 0.1.0
[ 0.960000] ar71xx-wdt: timeout=15 secs (max=21) ref freq=200000000
[ 0.970000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 0.980000] Freeing unused kernel memory: 204K
start service
starting Architecture code for wzrg450
cannot open /dev/nvram
cannot open /dev/nvram
udevtrigger[245]: parse_config_file: can't open '/etc/udev/udev.conf' as config file: No such file or directory
1970-01-01 00:00:04 main: Version - 0.0.6-7628920
1970-01-01 00:00:04 main: Sanity checks succeeded
load ag71xx or ag7100_mod Ethernet Driver
[ 4.940000] switch0: Atheros AR8316 rev. 1 switch registered on ag71xx-mdio.0
[ 4.950000] libphy: ag71xx_mdio: probed
[ 5.540000] ar8316: Using port 4 as switch port
[ 5.540000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd0 41, driver=Atheros AR8216/AR8236/AR8316]
[ 5.560000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RGMII
configure eth0 to 4C:E6:76:22:B7:86
configure vlan1 to 4C:E6:76:22:B7:86
configure vlan2 to 4C:E6:76:22:B7:86
load ATH 802.11 a/b/g Driver
insmod: ath_pci.ko: module not found
insmod: ath_ahb.ko: module not found
load ATH9K 802.11n Driver
[ 6.120000] lzma_compress: module license 'unspecified' taints kernel.
[ 6.120000] Disabling lock debugging due to kernel taint
[ 6.230000] Loading modules backported from Linux version wireless-drivers-ne xt-for-davem-2017-09-01-0-geb464d4a8d09
[ 6.240000] Backport generated by backports.git backports-20160324-111-g97b8d 7c4
[ 7.150000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[ 7.190000] ieee80211 phy0: Atheros AR9300 Rev:3 mem=0xb0000000, irq=72
interface wlan0 does not exist!
[ 7.570000] eth0: link up (1000Mbps/Full duplex)
[USB] checking...
cannot open /proc/sys/net/ipv4/ip_conntrack_max
cannot open /proc/sys/net/ipv4/ip_conntrack_max
ath9k deconfigure_single: phy0 ath0
[ 10.220000] device br0 entered promiscuous mode
killall: ead: no process killed
[ 10.340000] device vlan1 entered promiscuous mode
[ 10.350000] device eth0 entered promiscuous mode
sh: ead: not found
[ 10.360000] br0: port 1(vlan1) entered forwarding state
[ 10.370000] br0: port 1(vlan1) entered forwarding state
[ 10.380000] device br0 left promiscuous mode
[ 10.390000] device br0 entered promiscuous mode
ifconfig: ioctl 0x8914 failed: Address not available
[ 10.410000] device br0 left promiscuous mode
ath9k deconfigure_single: phy0 ath0
[ 12.370000] br0: port 1(vlan1) entered forwarding state
ath9k configure_single: phy0 ath0
sh: write error: Invalid argument
call mac80211autochannel for interface: ath0
ath0: freq:2412 qual:100 noise:-98 eirp: 20
ath0: freq:2432 qual:98 noise:-97 eirp: 20
ath0: freq:2452 qual:94 noise:-96 eirp: 20
ath0: freq:2422 qual:74 noise:-97 eirp: 20
ath0: freq:2442 qual:71 noise:-97 eirp: 20
ath0: freq:2462 qual:70 noise:-96 eirp: 20
ath0: freq:2417 qual:50 noise:-98 eirp: 20
ath0: freq:2427 qual:48 noise:-97 eirp: 20
ath0: freq:2447 qual:47 noise:-97 eirp: 20
ath0: freq:2457 qual:47 noise:-96 eirp: 20
ath0: freq:2437 qual:46 noise:-97 eirp: 20
mac80211autochannel interface: ath0 frequency: 2412
setup ath0 4C:E6:76:22:B7:86
Configuration file: /tmp/ath0_hostap.conf
Line 46: invalid beacon_int 0 (expected 15..65535)
Line 54: invalid dtim_period 0
Line 58: invalid signal poll time
3 errors found in configuration file '/tmp/ath0_hostap.conf'
Failed to set up interface with /tmp/ath0_hostap.conf
Failed to initialize interface
can't add ath0 to bridge br0: Not supported
killall: roaming_daemon: no process killed
cp: can't stat '/tmp/mycron.d/*': No such file or directory
cp: can't stat '/jffs/mycron.d/*': No such file or directory
cp: can't stat '/mmc/mycron.d/*': No such file or directory
[ 19.570000] device vlan2 entered promiscuous mode
[ 19.590000] fast-classifier: starting up
[ 19.600000] fast-classifier: registered
cat: can't open '/proc/sys/net/netfilter/nf_conntrack_flush': No such file or directory
[ 21.970000] device vlan2 left promiscuous mode
udhcpc: started, v1.29.3
ath9k radio 1: phy0 ath0
cannot open /proc/sys/dev/wifi0/silent
udhcpc: sending discover
/opt/etc/init.d/rcS: No such file or directory
/jffs/etc/init.d/rcS: No such file or directory
/mmc/etc/init.d/rcS: No such file or directory
rmmod: eoip: No such file or directory
killall: proxywatchdog.sh: no process killed
/mnt/smbshare
umount: can't unmount /mnt/smbshare: No such file or directory
rmmod: cifs: No such file or directory
rmmod: fscache: No such file or directory
killall: schedulerb.sh: no process killed
killall: shatd: no process killed
killall: wdswatchdog.sh: no process killed
The Milkfish Router Services
ERROR: Necessary service setting not found: milkfish_username - aborting.
The Milkfish Router Services
Restoring SIP ddsubscriber database from NVRAM...
Empty.
The Milkfish Router Services
Restoring SIP ddaliases database from NVRAM...
Empty.
udhcpc: sending discover
udhcpc: sending discover
DD-WRT v3.0-r37305 std (c) 2018 NewMedia-NET GmbH
Release: 10/10/18
DD-WRT login: root
Password:
==========================================================
___ ___ _ _____ ______ ____ ___
/ _ \/ _ \___| | /| / / _ \/_ __/ _ __|_ / / _ \
/ // / // /___/ |/ |/ / , _/ / / | |/ //_ <_/ // /
/____/____/ |__/|__/_/|_| /_/ |___/____(_)___/
DD-WRT v3.0
http://www.dd-wrt.com
==========================================================
login[1082]: root login on 'console'
BusyBox v1.29.3 (2018-10-10 03:29:17 CEST) built-in shell (ash)
root@DD-WRT:~#
ちゃんとLinuxkernelを読み込んで起動しました、修理成功です!
というわけで修理手順でした。
ディスカッション
コメント一覧
助かりました。文鎮から復活しました。一回は捨てようとしていましたが、復活しました。
機種はWZR-HP-AG300Hですが、ほぼ同じ手順で進めることができました。
大変参考になりました、ありがとうございます。
WZR-HP-G302Hという機種で実施。ファームの転送/書き込みを行う事が出来ました。
(最終的には別のエラーによりルーターの復旧までには至りませんでしたが。)
お礼かたがた、ファームの更新の課程で小生が犯したミスや判明した事項を紹介させて頂きます。
1.PCと接続するLANケーブルはHUBに側に接続しなければいけない。
最初は「WAN側に接続する」というミスをしていました。
2.PCとの接続速度は100Mにしないといけない。
何も気にせずオートネゴシエーション(1000M)で接続し、データ転送に失敗していました。
(WZR-HP-G302Hの場合はこうでした。他のモデルでは1000Mでも良いかもしれません)
3.PCの側192.168.11.1に設定するMACアドレスは、ルータのMACアドレスでなくても良かった。
私が持っているWin10も環境ではPC側が192.168.11.1に対しパケットを送出できるよう、IPと
MACの対応がついてさえいればそれでデータ転送は行える様です。
(WZR-HP-G302Hの場合、ルータ自身は02:AA:BB:CC:DD:1Aなのですが、これを別の値にしても
データ転送自体は正常に行われました。つまり、TFTP転送の際は192.168.11.1宛てのパケット
が自分のポートに届きさえすれば(MACアドレスが異なっていても)通信が行える様です。)
私は上記1と2の問題に気づくまでに丸1日を費やしてしまいました…。
--以上--