|
警告:刷第三方固件可能会使Moden变砖块,使Moden永久损坏,请务必先阅读相关文档,明白你正在干什么,再继续下面的步骤!!!
买了个洋垃圾GT701-WG(我也不喜欢洋垃圾,谁让哥手头不宽裕呢!不过做工还是不错的),先后刷过Actiontec原厂固件、Qwest固件和
Openwrt,原厂固件界面简单,功能较少,Qwest固件界面漂亮,但Qos功能不太好用,Openwrt好像是为高手们准备的,100多个软件包,我不知道用哪
个好,而且在gt701上面运行速度慢,没有指示灯,看着不爽。搜索到RouterTech支持gt701,决定试一试,经过十多天的摸索,gt701数次刷成砖头,
恢复后再刷,终于成功。本文对我这十多天的摸索进行一个总结,将我的成功与失败的经验与网友们分享。本文可能较长,我试图将其中的原理说清
楚,以使其他人少走弯路。
一、相关知识
gt701的4MFlash有5个分区,分区大小及存放的文件如下(参考http://nuwiki.openwrt.org/oldwiki/openwrtdocs/hardware/actiontec/gt701_wg):
partition start end description
mtd0 0x900d0000 0x903e0000 squashfs filesystem
mtd1 0x90010000 0x900d0000 kernel
mtd2 0x90000000 0x90010000 ADAM2(引导程序)
mtd3 0x903f0000 0x90400000 ADAM2 environment variables followed by `config.xml`
mtd4 0x903e0000 0x903f0000 unknown/unused (32 zero bits followed entirely by ones)
gt701原厂和Qwest的固件是组合固件(separate images)分为三个文件,即kernel、filesystem、config,分别存放在Flash的mtd1、mtd0和
mtd3分区中,大家可以在原厂Recover程序的image文件夹下找到这三个文件(ram_zimage_pad.ar7wrd.nsp.squashfs.bin 、
nsp.ar7wrd.squashfs.img 和config.xml)。原厂恢复的过程其实就是把这三个文件发送到各自的分区。
而RouterTech固件是单一固件(single image),整个固件只有一个image文件。RouterTecn论坛推荐的升级方法是通过web页面升级,可是
gt701的Qwest固件没有web升级页面,虽然Actiontec固件和openwrt有web升级页面,但我试过,不能用来升级RouterTech。
二、升级方法的探索
有了以上的认识,我们可以从以下两个思路来将gt701升级RouterTech:
1、改变gt701Flash的分区,使它适合单一固件,再用pctool工具将RouterTech的固件发送到相应的分区。这是RouterTech论坛推荐的方法,我
也是用该方法升级成功的,下面我会给出详细的步骤。
2、将RouterTech固件解压为三个文件组合的固件,再分别发送到Flash相应的分区,可用的方法有ftp、使用RepairRouterTool等工具,解压的
工具有firmware_tool。论坛上有位美国网友用此方法成功升级了GT704,他推荐我用此方法升级GT701,我也试过,但没有成功,不知道哪里出了问题
。或者用原厂Recover程序将三个文件发送到指定的分区,理论上应该可行,但我没有试过。
危险!请注意:由于升级的过程改变了Flash分区,使得原来固件文件及配置文件丢失,而且由于改变了分区,所以不可能用原厂的Recover程序进行
恢复。我就是在这里卡了很多天,最后买了条TTL线来恢复,下面我还会提到。所以升级前要做好备份。
之所以GT701升级openwrt比较容易,是因为openwrt没有改变Flash的分区,只是增加了一个mtd5分区,所以可以用Recover进行恢复。
切记:无论如何都不能改变mtd2的分区,因为mtd2分区保存引导程序ADAM2,只要ADAM2还在并工作,理论上都可以进行恢复和升级。
三、升级的准备工作
1、最好有TTL线,可以看到升级的过程中Moden发生了什么,这样升级或恢复都更有针对性。最好有备用的Moden,以防刷坏了还可以上网。
2、下载RouterUpgradChecker并运行,这一步千万千万不能省略!!!。RUC不仅分析你的Moden,告诉你用哪个固件,还帮你备份了GT701的
mtd3文件和env(环境)文件以及指示灯的配置。这对升级或恢复都很有用。
3、下载固件,RouterTech从2.92版开始增加了适合GT701的固件(1-port wireless (Adam2 bootloader). Suitable for the Actiontec
GT701WG and other 1-port ADAM2-based AR7WRD routers using the TNETW1130 wireless chip (DO NOT USE WITH ROUTERS USING THE
TNETW1350A WIRELESS CHIP).
4、下载pctool,论坛上有三个版本,我用2.3版升级成功(XP系统)。
5、升级过openwrt的最好把mtd5分区删除和把MAC_PORT设置删除,方法为
UNSETENV mtd5,0x90010000,0x903e0000
UNSETENV MAC_PORT,0
6、恢复原厂配置。
7、阅读所有工具、软件中的文档,做到心里有数。
四、用pctool升级RouterTech的步骤
1、适合单一文件的分区:
setenv mtd0 0x90098000,0x903f0000
setenv mtd1 0x90010090,0x90098000
setenv mtd2 0x90000000,0x90010000
setenv mtd3 0x903f0000,0x90400000
setenv mtd4 0x90010000,0x903f0000
setenv my_ipaddress 192.168.1.1
将上面的代码复制到记事本,并保存为txt文件。代码中最后一行是我自己加上的,把路由器的地址改为192.168.1.1。因为如果用GT701默认的
地址192.168.0.1的话,我试了好多次都不成功,改成192.168.1.1才成功的,怀疑是RouterTech固件是在192.168.1.1才能工作?我不清楚。
2、把GT701用网线连到电脑,电脑设置固定地址192.168.0.99,掩码255.255.255.0,网关192.168.0.1。即Recover的设置。
3、在GT701未通电的情况下,运行pctool,在IP Address文本框中输入192.168.0.1。
4、按住Moden的Rest键,接上Moden的电源,保持按住Rest键10钟以上(使Moden进入ADAM2模式),点出pctool的"Retrieve/Assign IP
Address"使pctool登陆ADAM2,如果成功的话,下面的状态会显示ADAM2登陆成功。登陆成功后可松开Rest键。
5、在“Execute Script Files"(执行脚本文件)栏中点击“Browse”,选择你刚才保存的代码文件(txt文件),再点击“Run Script”。这样
就改变了GT701的Flash分区,使它适合单一的固件文件,并把Moden的地址改为192.168.1.1。
6、拔掉Moden的电源,电脑设置固定地址192.168.1.99,掩码255.255.255.0,网关192.168.1.1。
7、重复3、4步,注意这次在IP Address文本框中输入的是192.168.1.1。用pctool登陆ADAM2。
8、登陆成功后在“Media Type”中选“FLASH”,在下面的框中选“Firmware-kernel/FS”,使它变蓝,再点击“Download”按钮,选择你下载的单一固件文件,我的是“RouterTech_3.6.0D_20100105_2.92_AR7WRD_Adam2_1-Port_firmware.upgrade.img”,pctool就会把固件文件上传到Flash的mtd4分区,这个过程可能要花几分钟,耐心等待直到pctool弹出上传完成的提示。
9、上传完成后,重启Moden,经过几分钟后,就可用浏览器输入192.168.1.1登陆(用户名Admin,密码Admin,注意大写A),最好先恢复默认配置
后,再进行自己的设置。新建一个连接,设置VPI、VCI,用户名、密码等就可以上网了。
五、使用效果
感觉不错,很多功能,还再进一步探索中。连续开机48小时进行BT下载高清没有断线,QOS功能还不错。内置有GT701的指示灯配置文件,但是和
以前好像有点不一样,power和internet灯都是桔黄色,我看过内置的LED配置文件,和我备份的是一样的,不知为什么。无线功能还未调好,我想应
该能用。
六、恢复原厂固件的方法
用pctool先恢复原来的分区,和原来的环境配置(刷RouterTech后增加了几项环境配置,用pctool的download enviroment space功能或在moden
的system/system diagnostics中可看到),再运行原厂的Recover,即可恢复原厂固件,但是我只能恢复Qwest的固件,不能恢复Actiontec的固件,
不知为什么?
七、刷第三方固件体会
首先要有充分的准备,包括相关知识,相关工具的用法,备份原固件等等,对刷新过程可能遇到的问题心里要数,制定清晰的步骤。万一刷死了
,马上停下来,想一想moden发生了什么,怎么样才能恢复。在我的经历中,由于开始没有TTL线,我不知道Moden时发生了什么,一种方法刷不成功
,马上换一种方法刷,用过不少方法,但是都不成功,也无法恢复原厂固件,困扰了我很多天。后来买来TTL线,才发现在我反复刷的过程中,FLASH
的分区产生了很多无效的碎片,致使无论怎么刷,不清除碎片的话,根本无法刷成功。后来用工具清除了碎片后,才刷成功的。
八、GT701-WG的数据线接口
GT701-WG的主板上有两个接口JP603和JP604,其中JP603是串行数据线接口,即TTL线接口(国外叫serial console),接口定义请参考
http://www.tlarson.com/guides/dslhack/serial,利用数据线很容易进入ADAM2模式,看到Moden的启动过程,环境配置等等,有几个命令还比较有
用,如setenv,unsetenv,erase,fixenv等,只要ADAM2还在并工作,就有可能恢复Moden。
JP604可能是某种JTAG接口,但我搜索了很久,都没有相关资料。所以没有办法利用JTAG来备份和恢复GT701。
九、相关链接
本文所用的固件和工具软件都可以在RouterTech官方网站上下载,版权属于原作者,如有需要请到官方网站下载。感谢RouterTech开发和提供固件,希望更多人支持和使用RouterTech。固件需要注册才能下载。大家有什么问题也可以在论坛上求助,只要表达得清楚,会得到帮助,这点上感觉国外的DIY比国内的专业。
1、RouterTech官方网站(http://www.routertech.org);
2、GT701数据线接口定义(http://www.tlarson.com/guides/dslhack/serial);
3、GT701的一些相关知识(http://nuwiki.openwrt.org/oldwiki/openwrtdocs/hardware/actiontec/gt701_wg;http://ar7.wikispaces.com/Actiontec+GT701-WG;http://www.nettwerked.net/actiontec.html)。 |
|