之前软改wr720n后,发现u盘有时候会松,导致路由无法从u盘启动,然后看了一些硬改的文章,觉得也不是很难,于是从淘宝拍了一些材料,自己开始硬改。

使用的硬件为:
1.flash编程器:土豪金XTW100编程器
2.烧录座:宽体 SOP8 转DIP8 烧录座
3.flash芯片:W25Q128FVSG W25Q128FVSSIG FLASH 16M

4.micro usb充电线
5.网线
6.钩针、镊子、撬棒,电烙铁,热风枪(拆芯片用,我用刀片顶的,据说用热风枪好很多。。)
7.linux 和windows主机各一台。

使用的软件为:
1.flash编程器驱动和烧录程序
2.16M编程器固件(自制,包含大神做的u-boot-ar9331-wr720nv3_wr710n.bin ,大小为 128k 字节,官方barrier breaker 14.07 wr720 factory固件,大小为 3,932,160 字节,0xff填充文件,大小为 12,648,448字节,路由器原版art文件,大小为 64k,合计16MB字节)
3.简易http服务器,EasyWebServer
4.perl环境或者其他语言,用来生成0xff填充文件。
5.md5校验程序Hash_1.0.4
6.winscp和putty

1.自制wr720n 16M 编程器 固件
a.备份原路由器art文件,这里面是无线的调试信息,每个路由器理论上都不一样的,必须自己弄。
进入原路由器ssh界面下,输入:

cd /tmp
dd if=/dev/mtd4 of=art.bin

然后winscp登陆路由器,把art.bin拷贝下来,然后看看是不是正好64k,一个字节都不可以差的,最好备份到安全的地方。

b.从官网下载官方barrier breaker 14.07 wr720 factory固件,大小为 3,932,160 字节,当然也可以用自己的4M或者8M固件扩充,或者直接上16M固件

c.制作填充文件,如果使用的是非16M的固件,就要填充
先计算填充值,16M-128K-固件大小-64k
然后写一个perl脚本,生成二进制文件:

#!/usr/bin/perl
use strict;
my $i = 12648448;#需填充的字节
open(FH,'>','12M_FF.bin');
binmode(FH);
my $xff =pack("H*","FF");
while($i>0)
{
  print FH $xff;
  $i--;
}

close FH;

d.下载大神的uboot,我是从恩山论坛上下的u-boot-ar9331-wr720nv3_wr710n.bin ,其他的uboot也用过,但是最后只能认出12M左右的rom,这个大神的uboot可以认出14M。。。

e.生成16M 编程器固件
把uboot文件、art文件、固件、填充文件上传到linux主机(强烈建议打包以后上传,保证完整性),然后运行:

cat u-boot-ar9331-wr720nv3_wr710n.bin openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin 12M_FF.bin art.bin > wr720_1407dashenfullflash.bin
gzip wr720_1407dashenfullflash.bin

然后下载下来就好了,解压后看看大小,一定是16.0 MB (16,777,216 字节)。

2.烧录flash

a.安装编程器驱动和软件,这没啥好说的
b.把winbond 16MB芯片装在烧录座上,然后插到编程器,把编程器插到windows电脑的usb口
c.识别芯片成功后,就可以开始烧录了,这个编程器很快,2分钟就搞定了,然后它会校验的(这个校验不准的,建议手工校验。。。),不放心的话再把写入的内容读出来,保存为1.bin,跟原版的bin算个md5,看看是否一样。一样就ok,准备上机了


AltText

3.拆wr720n路由器,安装flash
a.tp的便携路由器都是防拆的,很难不在外壳上不留痕迹拆开来。。。先用尖锐物品插入缝隙,然后沿边撬开,事前可以先用电吹风吹化周围的胶水
b.拆开后,先卸下交流插座那边的小挡板,然后把金属片拨开一点点
c.拆下led灯上方的塑料
d.用钩针钩住交流插座金属片那边的电路板,往上拉,同时用小镊子顶一下3g开关那边的东东,使得黑色开关跟拨片分离
e.电路板拆下后,翻到背面,一个8脚的flash就在眼前了
f.用烙铁拆下原来的4M flash,注意不要碰到周围的器件。。。
g.焊上新的16M flash,插上micro usb线后,如果灯一亮,然后暗掉,然后再不停地闪,就说明ok了。
h.最后装回去。


AltText

AltText

AltText

问题:
我升级flash一次成功,但是升级后经常启动了几次以后,就无法启动,led灯常亮,但是比一般的要暗一些,这时候重新焊接一下flash又可以正常启动了,然后又几次使用后无法启动,这个问题我还在研究中。回头补图。
另外我买了2块winbond 16M的flash,其中一块第一次写入就报错,后来再写就过不了校验。。。说明flash坏的概率还是很大的,另外一块写了好几次都没有问题。。