水星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電容短接。
這裡我直接把這個電容取下,然後短接。
短接處理
再搞回去編碼現在顯示正常了
4.刷入DD - Wrt韌體。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
在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
擦除Flash,並寫入韌體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)
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.檢視系統
相關下載
熟悉的系統又回來了!
注:此教程中涉及到的記憶體地址值,只適應於本路由,切勿隨便使用,非專業人員,不要隨便嘗試,否則路由器很可能變成磚。