1. 程式人生 > >水星MW300R v2 路由器刷DD-Wrt 小記

水星MW300R v2 路由器刷DD-Wrt 小記

      家裡有一個水星MW300R v2 的路由器,之前在這個路由器上刷過OpenWrt(可參照我這個博文:http://wlpblog.blog.163.com/blog/static/217614257201511252554386/),後來刷回了原系統。最近發覺這個路由器系統有點問題,不太好用了,所以,我乾脆直接把這個路由刷入另一個路由器系統——DD - Wrt。

路由器外觀:


硬體配置:

CPU          AR7241         400MHZ
記憶體          Zentel            32M DDR 500
快閃記憶體          MXIC             4M SPI Flash
WAN         1個
LAN          4個                100M

刷入DD - Wrt 系統

這裡,我先嚐試了使用系統升級的功能進行路由器系統更換,發現這個方法不好用,所以這裡我又使用TTL的方式進行路由器系統的刷入了。

1.接TTL線。

使用萬用電表測量四個點的電壓值,得到VCC、GND、TX、RX的位置,並焊上插針。


2.插入TTL。


3.上串列埠除錯工具。


此處波特率為115200。

連線成功後,發現是亂碼,因為波特率設定的是正確的,所以查閱相關資料,需要把C503電容短接。

這裡我直接把這個電容取下,然後短接。


短接處理


編碼現在顯示正常了

U-Boot 1.1.4 (May 28 2010 - 11:12:30)

AP99 (ar7241 - Virian) U-boot
DRAM:  
sri
ar7240_ddr_initial_config(133): virian ddr1 init
#### TAP VALUE 1 = 0xf, 2 = 0x10 [0x0: 0x1f]
32 MB
id read 0x100000ff
sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
Virian MDC CFG Value ==> 4
: cfg1 0xf cfg2 0x7014
eth0: 00:03:7f:09:0b:ad
eth0 up
Virian MDC CFG Value ==> 4
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 up
eth0, eth1
Autobooting in 1 seconds
4.刷入DD - Wrt韌體。
在UBoot出現“Autobooting in 1 seconds”時,按tpl進入操作命令。

建立TFTP服務,設定server IP進行韌體的上傳。

ar7240> setenv ipaddr 192.168.1.1 
ar7240> setenv serverip 192.168.1.10
輸入檢視命令檢視一下資訊是否配置正確。
r7240> printenv

bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART) REVISIONID
bootcmd=bootm 0x9f020000
bootdelay=1
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.1
serverip=192.168.1.10
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 368/65532 bytes
將韌體讀入記憶體
ar7240> tftpboot 0x80000000 factory-to-ddwrt.bin
dup 1 speed 1000
Using eth1 device
TFTP from server 192.168.1.27; our IP address is 192.168.1.10
Filename 'factory-to-ddwrt.bin'.
Load address: 0x80000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)
擦除Flash,並寫入韌體
ar7240> erase 0x9f020000 +0x3c0000 

ar7240> cp.b 0x80000000 0x9f020000 0x3c0000

引導新韌體
ar7240> bootm 0x9f020000

OK,系統寫入成功,接下來就是見證奇蹟的時!(注:我上面命令中涉及的記憶體地址,只適用於本路由器

5.檢視新系統成果。


看上去還不錯,但是在使得無線中繼時,發現不好用(雖然有6種中繼方式),於是我又想要刷回原來的水星路由器系統了。

再搞回去

雖然新系統DD-Wrt不錯,但是現在對於我用的那一部分不能滿足我的使用需求,所以只能再刷回我原來的系統了。

這裡使用新方法,就不再用TTL這麼麻煩了。

1.遠端連線路由器

進入Telnet,執行開啟,輸入使用者名稱、密碼進入系統。

open 192.168.2.1


2.上傳官方原韌體到記憶體

我這裡用的是搭建web服務的方式進行的,這裡方法很多。


我這裡,將系統寫入了/tmp下。

3.檢視分割槽


4.將韌體寫入系統分割槽


執行寫入命令後,系統會進行重啟(切勿切斷電源,否則路由器就成磚了)

5.檢視系統


熟悉的系統又回來了!

相關下載

注:此教程中涉及到的記憶體地址值,只適應於本路由,切勿隨便使用,非專業人員,不要隨便嘗試,否則路由器很可能變成磚。