JTAG, TTL, CFE

  • CFE 简单点的理解就是相当于PC的BIOS, 通常还称为 Bootload。

Common Firmware Environment (CFE)

CFE stands for Common Firmware Environment. The Broadcom Common Firmware Environment (CFE) is a collection of software modules for initialization and bootstrap of designs incorporating Broadcom MIPS64™ processors. CFE is used to bootstrap the OS.

On startup, CFE performs the following low-level initialization:

  1. Reset and ROM trap handler vectors
  2. CPU and FPU initialization
  3. L1 and L2 Cache initialization
  4. Multiprocessor initialization
  5. Memory controller initialization
  6. PCI and LDT bus configuration
  7. Environment variables
  8. Console device initialization
  9. Bootstrap device initialization

Corrupted CFE is an uncommon reason for a bricked router. But it could happen.

  • JTAG, TTL

网上那些关于JTAG的复杂解释我就不废话,说点简单的,JTAG就是在你的路由器变砖时能够让路由器起死回生的法宝,他可以刷CFE、清除NVRAM(譬如超频失败、改内存输错参数)、刷固件等(速度非常之慢,严重不推荐),当然了CFE能刷什么就能备份什么。

JTAG接口的引脚是标准的吗?不是,不同的厂家甚至不同型号的路由器的引脚排序都不一样的,这个需要google一下才能找到(当然本网站也会收集这些资料跟大家分享的)。不过不是所有的机器都带JTAG,如果路由器上某处有10到14脚的DIP直插焊盘,那么是JTAG的可能性比较大。如果你的机器没有JTAG接口,那算我上面的都白说。

 

说完JTAG,再说说TTL接口和线,有些路由器带4针的TTL接口(也有可能只有焊盘,需要自己把针焊上去),接上TTL线后你可以在你的电脑上看到路由器控制台的信息(从CFE阶段到固件引导完毕),并且可以输入平时那些telnet之后输入的命令。TTL线现在一般都是USB接口了,一边是4 芯的线(只需要用到3芯,4芯中的VCC线不用),将3芯跟路由器的TTL接口接好,另外一边是USB插头,插入到PC的USB接口并安装好驱动后(驱动模拟出COM口)就可以用超级终端、PuTTY等工具连接串口(Serial)看到路由器的控制台信息了。

当路由器出现故常时,接上TTL就可以看到故障的原因和错误代码了,如果自己看不懂的话就把信息发给热心的网友帮忙一起分析一下。

 

  • 实践

http://hi.baidu.com/f_fx/blog/item/b9fdacfd78baf21a08244d6a.html

TTL线刷机前的准备

1. 购买USB转TTL线,价格一般在12到20之间。

2. 在PC上装好TTL线驱动(一定要先装驱动在将TTL线插到电脑上)。

3. 认识TTL线。TTL线一头是USB接口,另外一头一般有4个带杜邦头的插管,分别是GND、RX、TX、VCC,一般GND是黑色,VCC是红色,其他是RX和TX,不清楚的一定要咨询卖家。见下图,你手上的TTL线可能与我提供的图片不同。

4. 下载并安装SecureCRT v6.5.8.380 汉化版
下载地址:http://u.115.com/file/f672fcb574
SecureCRT-v6.58H.rar

安装好后,我们在PC windows上打开设备管理器,点开端口,我们能看到COM x已经作为TTL通信口。(根据每台电脑的具体情况,COM口会不一样,大多数会是COM2口,我自己的是COM5口,需要自己去设备管理器里查看)

如上图那样选中Prolific USB-to Serial Comm Port (COMx), 鼠标右键弹出菜单, 选择属性,然后如下图那样进行设置



5. 拆开机器。初看上去,设备的后盖一般是看不到螺钉的。但后盖4个角上一般都有4个圆形的海绵垫片,螺钉就藏在下面,请先去除之,然后拧开螺钉,打开后盖,我们就能看到电路板了。下面就请在电路上寻找TTL插针,4 个插针是并排的,一般而言,电路板上只有这样一组并排插针,所以并不难找。请注意并排插针的引脚标注GND,标有GND的插针就是GND。而靠近GND右边一般都是RXD插针,其他依次是TXD、VCC插针。请将TTL线的GND的细长型插管插到GND插针上。TTL线的RXD插到RXD插针上,TXD也如此办理。但VCC插针请不要插,千万小心。

上面我们描述的是一般规律,但也有例外。

RG100A-AA、DCHG-800-A、G120-T、HA910、H108Bv1.2电路板上TTL的GND右边依次是RXD、TXD、但VCC却在 GND左边,其详细接线图请参考chinadsl.net 站长yesdong提供的示意图:


 

RG100A-AA 刷机必须要用到ttl线

RG100A-AA,H108B请参考以下接法

 

jtag线用于刷错cfe时修复用,jtag线连接方法:

 

6.将网线一段连入猫的LAN口,任意一个都可以,另一段连接电脑。设置电脑的IP地址为192.168.1.100 ,255.255.255.0 ,192.168.1.1
OK,到此我们的准备工作就做好了
下面我们就开始刷机过程。


刷机步骤

1. 重复检查准备工作。

2. 我们在PC上启动程序SecureCRT

选择菜单“文件”,然后选择快速连接,并按下图进行设置

SecureCRT快速连接

点击连接,我们就能看到如下界面:


SecureCRT快速连接2

3. 然后打开电源,这时SecureCRT窗口会有E文滚动,当滚动到*** Press any key to stop auto run (1 seconds) ***,任意按下键盘任意一个键,就会进入CFE> ,这样我们就进入了CFE命令行界面。

4.CFE>e a 回车
再输入y回车(目的是清空flash)
这一步也有可能要输入用户名和密码,telecomadmin/telecomadmin 或者telecomadmin/nE7jA%5m

5.浏览器地址栏输入192.168.1.1,如果提示要用户名和密码则输入telecomadmin/telecomadmin 或者telecomadmin/nE7jA%5m,进入后会看到FW界面(忘记截图了,不过很简单的,都是中文)

6.1,到这一步要分两种情况对待了,如果你能确定你的CFE可以刷openwrt,直接进入6.2。
我现在只知道RG100A V1.1电信原版的CFE可以刷openwrt,其他不知。保险的方法是先刷至电信原版带CFE固件。我之前就在这个地方走了弯路,因为CFE不合适,刷不上openwrt的。我之前是DLINK固件。RG100A V1.1电信原版带CFE下载地址(一定不要断电或者接触不良等突发状况,不然就只能JTAG了)
刷好原版固件后,会自动重启,按上面的方法进入CFE。再次e a,进入下一步。

6.2,e a后在浏览器进入192.168.1.1,这次要选择openwrt固件刷新了,openwrt固件不含CFE,刷不死的。这里有下载,LUCI3.12版
最新版本可去openwrt中文网查找。

7.设备刷完后会再次重启,我们也要再次进入CFE状态。

b        修改board ID、MAC地址、FLASH格式等等信息。
e         就是人们经常说的清nvram操作,输入e 回车后会看到帮助信息。
i         清除配置文件。
r         run命令,启动已经刷好的系统。

我们先输入b,回车(接上边说的,有些猫刷完2次FW后已经停在这个界面了)。
第一步是boardID,CFE会返回所有支持的型号,输入型号后边的数字来定义,如果找不到你自己的设备,保持默认就好。
之后会让你修改MAC长度,一般为12,这里务必修改正确。
回车后会让你输入MAC地址,一般会有个默认地址,按照列出的默认地址格式修改就可,当然嫌麻烦也可以不修改。
后边还有几项设置,一般不需要修改,一路回车就好。
我的CFE启动信息及配置:
CFE> Boot Address 0xbe000000

Initializing Arena.
Initializing Devices.
Parallel flash device: name AM29LV320MT|S29GL128-A, id 0x2201, size 16384KB
Flash Layout: Boot[0,0xbe000000] Kern[1,0xbe020000]
              AuxFS[95,0xbebe0000] Misc[125,0xbefa0000] PSI[127,0xbefe0000]
Flash RootFS Partition Length: 12320768
CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz
CPU running TP0
Total memory: 33554432 bytes (32MB)

Total memory used by CFE: 0x80401000 - 0x80529860 (1214560)
Initialized Data:          0x8041E740 - 0x80421060 (10528)

Board IP address                  : 192.168.1.1:ffffff00
Host IP address                   : 192.168.1.100
Gateway IP address                :  
Run from flash/host (f/h)         : f
Default host run file name        : vmlinux
Default host flash file name      : bcm963xx_fs_kernel
Boot delay (0-9 seconds)          : 1
Board Id (0-8)                    : 96358VW
Number of MAC Addresses (1-32)    : 12
Base MAC Address                  : 见你的路由器背面,格式为XX:XX:XX:XX:XX:XX
PSI Size (1-64) KBytes            : 64
Flash Block Size (1-128) in KBytes: 128
Auxillary File System Size Percent: 24
Main Thread Number [0|1]          : 0

再进行一下清除操作
输入“e n”,回车 按提示输入y 回车 清nvram
输入 i   回车 按提示输入y 回车 清除配置文件
完成了上述修改和清除操作后,输入 r 回车 系统就会启动 不必关了电源再开。
到这里刷新完毕,如果顺利,你已经可以进入http页面了。

END

参考资料:
OpenWrt刷机教程
http://www.openwrt.org.cn/hdwiki/index.php?doc-innerlink-OpenWrt%E5%88%B7%E6%9C%BA%E6%95%99%E7%A8%8B

[新手教学]TTL线修改CFE参数 和通过CFE刷新固件的流程
http://www.chinadsl.net/thread-28078-1-2.html
RG100A-AA、DCHG-800-A、G120-T、HA910、H108Bv1.2等设备的TTL接线图
http://www.chinadsl.net/viewthread.php?tid=30576&highlight=ttl

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值