家里有一个水星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 environmentIn: 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> printenvbootargs=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=eth0Environment 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.查看系统
相关下载
熟悉的系统又回来了!
所涉及到的固件和软件下载地址:http://download.csdn.net/detail/lecepin/9429182
注:此教程中涉及到的内存地址值,只适应于本路由,切勿随便使用,非专业人员,不要随便尝试,否则路由器很可能变成砖。
博客名称:王乐平博客
博客地址:http://blog.lepingde.com
CSDN博客地址:http://blog.csdn.net/lecepin