jesse9999之GT701-WG刷机教程续:TI方案猫刷第三方固件RouterTech...

来源:百度文库 编辑:神马文学网 时间:2024/04/27 04:32:52
jesse9999之GT701-WG刷机教程续:TI方案猫刷第三方固件RouterTech AR7RD Custom Firmware ( v2.92 )教程

欢迎加入routertech中国群:68918230  广告下 版主多包涵啊@-@

一、刷机背景

论坛jesse9999发布了GT701-WG刷机教程,我是09年12月刷的,很多高手应该早就刷过,献丑了。我没有ADSL线路测试,只当AP使。论坛ks99发帖找DSL-362T固件,所以做了这个教程。GT701-WG和DSL-362T的BootLoader是一样的,刷GT701-WG我是完全看国外的英文自己摸索的,有了这个经验,这次刷机就轻车熟路了。建议刷机前新手看下jesse9999的教程。由于本人菜鸟一个,对刷机过程中出现的问题不负任何责任。

二、背景知识:

TI的AR7方案在很多ADSL猫上大量使用,现在市面上很多,像中兴的531 608v2就是(注意版本),由于厂家使用了linux系统,必须遵循GPL,所以会公开源代码(在这鄙视下国内的很多企业,使用了linux却不公开源代码),routertech固件的来源也就不用多说了,刷机就是通过bootloader将系统写到Flash里。

DSL-362T(DSL-302T硬件一样)分区记录,注意64KB为一个Flash块,相当于硬盘的扇区。

分区号   分区内容                起始地址            结束地址           大小         说明

mtd0    root (SquashFS)   0x900a0000 - 0x901f0000    1344 kB  (文件系统 21个块)
mtd1    kernel (LZMA)       0x90010000 - 0x900a0000     576 kB  (linux系统内核 9个块)
mtd2    ADAM2                  0x90000000 - 0x90010000      64 kB  (bootloader 1个块)
mtd3    env+config.xml     0x901f0000 - 0x90200000      64 kB  (环境变量和配置文件 1个块)

注意看后边的起始和结束地址,计算下来,实际上的物理顺序是mtd2、mtd1、mtd0、mtd3

硬件需求:由于猫的型号很多,芯片也各有不同,刷机请看好自己的猫是不是支持,比如CPU有7200的,猫无线网卡有1350的,flash和ram大小也各有不同等等。

三、刷机过程

我是不修改MTD分区刷机,因为GT701-WG的刷机经验告诉我,修改MTD分区后厂家的恢复软件会失效(改回来就可以)。

软件还是使用firmware tool将一体化固件解开成内核kernel和文件系统filesystem,配置文件config在下载下来的固件文件夹下(注意这个是固件自带不是解压出来的),这样就得到三个文件:kernel.bin、filesystem.bin、config.img(三个我都改过名字,好记),剩下的就是通过BootLoader将三个文件FTP上传一下就OK了。这里说明下这个BootLoader,BootLoader就像电脑的BIOS,负责完成硬件的初始化和系统镜像的加载,AR7方案的猫主要有两种BootLoader,一个是ADAM2,一个是PSPBOOT(当然也有其他的啊,不再赘述),开发过嵌入式的应该很明白了。ADAM2和PSPBOOT是一种继承关系(不知道用词合不合适),后者是前者的超集,但不兼容,也不通用。

AR7方案猫的启动过程:

注意以下为个人推断:AR7里面应该是双芯的,一个misp内核,一个TI自家的DSP内核(TMS320C6203),故应该是有两个JTAG接口的。加电复位完成后mips内核首先运行一段芯片内部的初始化代码后跳转到BootLoader的起始地址,然后BootLoader开始运行,BootLoader设置硬件后等待一段时间,如果有连接就进入BootLoader功能,比如刷机、设置环境变量什么的(ADAM2的具体命令请自行Google之),否则加载解压系统镜像,完成启动。GT701-WG有复位按钮开机时按住就会进入BootLoader,这就是为什么官方的刷机要按复位键的原因。

现在剩下的就简单了,开机瞬间通过FTP登录BootLoader,写入系统重启就OK了。

不修改MTD分区的弊端是不能使用RouterTech的web自动升级,以后刷新固件还是要FTP。

刷机注意的几个问题:

1、刷机用的网卡要和BootLoader在一个网段,用指定的IP地址,BootLoader的网段是在环境变量里定义的,各种猫不一样。
2、刷机命令注意大小写,下面是我的GT701-WG刷机记录()里是我键盘输入的,//后是注释。

把我已经解包好的三个文件复制到C盘根目录下,WIN+R进入windows命令行,执行CD \命令切换到C盘根目录

C:\>(ftp 192.168.0.1)
Connected to 192.168.0.1.
220 ADAM2 FTP Server ready.
User (192.168.0.1:(none)): (adam2)
331 Password required for adam2.
Password:(adam2)
230 User adam2 successfully logged in.
ftp> (binary)
200 Type set to I.
ftp> (quote MEDIA FLSH)
200 Media set to FLSH.
ftp> (put kernel.bin "kernel.bin mtd1")//这里是上传内核
200 Port command successful.
150 Opening BINARY mode data connection for file transfer.
226 Transfer complete.//上传完成
ftp: 发送 551698 字节,用时 5.31Seconds 103.86Kbytes/sec.
ftp> (put filesystem.bin "filesystem.bin mtd0")//这里是上传文件系统,注意文件系统体积较大,上传时间长些,耐心等待
200 Port command successful.
150 Opening BINARY mode data connection for file transfer.
226 Transfer complete.//上传完成
ftp: 发送 2609152 字节,用时 25.81Seconds 101.08Kbytes/sec.
ftp> (put config.img "config.img mtd3")//这里是上传配置文件
200 Port command successful.
150 Opening BINARY mode data connection for file transfer.
226 Transfer complete.//上传完成
ftp: 发送 9023 字节,用时 0.02Seconds 563.94Kbytes/sec.
ftp> (quote REBOOT)//重启
221-Thank you for using the FTP service on ADAM2.
221 Goodbye.
Connection closed by remote host.


3、不要弄坏BootLoader所在的MTD2分区,当然坏了也不怕,有JTAG搞定,总之要胆大心细。
4、刷机有风险,确认没有问题后操作。
5、刷完网卡设置DHCP,WEB登录192.168.1.1,账号密码Admin,就可以看到久违的WEB配置界面了。
6、Annex A is ADSL over PSTN ( UK ) and Annex B is ADSL over ISDN ( Germany ),亚洲和北美欧洲大多使用Annex A,德国特殊使用Annex B,我国使用Annex A,故刷Annex A的固件


DSL-362T刷机注意的几个问题:

1、原理与GT701-WG相似
2、直接用做好的刷机包点击鼠标搞定刷机,这个简单速度快,网卡设置10.0.0.1 网关10.0.0138 dns10.0.0.138 打开tiupgrade.exe 点击下一步,提示断开电源,点下一步,断开再插上电源(也可以猫不上电这回上电开机道理一样),剩下自动搞定(我的是这样,有可能环境变量不一样,导致FTP连接不上adam2,请修改自己的网段和adam2一致再试)。
3、这个刷机包修改了MTD,后期应该可以直接web升级RT固件
4、关于更新bootloader,更新bootloader不会带来性能的提升 就像linux对电脑的BIOS依赖不大一样 喜欢折腾可以Google尝试 RT论坛也有详细的方法