Tenda AC6 实机拆解与UART串口的区分方法
前言
本文介绍Tenda AC6路由器实机拆解,区分UART串口以及使用USB to TTL、JTAGulator等工具进行测试和连接
具体型号如下所示
拆开Tenda AC6在下方可以看到四个连在一起的孔就是我们的UART口
下面介绍两种方法用于区分UART的串口
方法一:万用表测量
- 将万用表调节到蜂鸣档(在电阻档下面)
- 将黑色笔接在PCB板的金属块位置(可以是任意导电部位,我选择的是锡焊电线的地方)
- 红色笔在4个PIN之间移动,如果电表发出响声,则认为该pin脚为GND
以图中为例,左侧第一个孔响而其他孔不响,所以左侧第一个孔为GND串口
之后使用适配电源对路由器PCB板进行通电
下面开始对RX和TX以及VCC口的测试
- 将万用表调节到20v直流电压档位
- 将黑色笔放在刚刚测出的GND上
- 然后将红色笔一个个放在不同的孔上进行测试,电压最大的就是VCC孔,电压一直变化的则是TX孔
但是这里出现了一个问题,不知道是不是笔者的姿势不对或者别的原因,笔者测出的结果是从左2到左4的结果依次是 3.26v、3.27v、3.28v,并且笔者每个孔都放置了将近1min,电压没有任何变化,以此导致笔者无法区分出其他串口
下面是其他区分方法
- 如果其中一个引脚的焊接处呈现正方形,则该引脚是VCC
- 通过万用表测试RX和VCC的电压,一般而言,VCC的电压会稍高几毫伏
- 在设备启动过程中,VCC的电压恒定不会波动,而RX会有几毫伏的波动
笔者猜测左4的正方形应该就是VCC口,当然这样依旧没有办法完全确认,于是笔者用了个损招,直接使用杜邦线将GND和各个串口短接,如果是VCC口,那么路由器就会短路然后触发重启,但是为什么是损招,因为笔者之前对着小米路由器用的时候发现居然冒出了火花,但是这款Tenda路由器并没有这么强烈的反应,不知道会不会对路由器造成什么损害,但是总归是确认了那个方框就是VCC
然后就需要区分TX和RX
- 将万用表调节到20v直流电压
- 黑色笔放在GND上
- 红色笔放在不同的孔上,然后重启路由器,电压稳定的是RX,电压变化的是TX
用这个方法可以测出左2是RX,左3是TX,还是比较明显的,左2的电压一直在3.27-3.28,但是左3的电压在3.28-1.5之间不断变化。
下面使用 FT232 USB to TTL 测一下验证一下结论
如下所示,使用杜邦线将USB to TTL的RXD和TXD连接起来,然后使用SSCOM来测试一下这个USB to TTL是否完好
显然测试结果是它是好的

然后我们使用它来对我们的串口做一个简单的测试
注意USB to TTL的TX应该要接在路由器的RX上,也就是左2,那么USB to TTL的RX就要接在左3上,然后GND对应GND,VCC不需要连接,具体如下所示(笔者没有焊接,直接使用杜邦线连接,只要插得紧和焊接效果应该是一样,如果插不紧那就只能焊接一下了)
然后使用SSCOM软件进行连接,这里多次实验后得知笔者手头这款Tenda AC6路由器的波特率是 38400
每次修改波特率之后需要重启一下路由器,最后没有乱码,并且最后出现CIL就意味着成功了
下面是重启路由器后输出的内容
出现CLI输入?就可以得知路由器中有哪些命令了
使用SecureCRT的界面更好看一点(两个不能同时用,一个占用端口另外一个就用不了了)
1 |
|
方法二:使用JTAGulator来识别
如下所示,GND连接GND,假装我们未知TX和RX随便连接两个接口,VCC不进行连接
同样使用SecureCRT进行连接
然后选择V设定电压为3.3v
然后使用U进行检测
在输出的结果里面可以看到当7号接口(路由器的左3)为TX,6号接口(路由器的左2)为RX,并且波特率为38400的时候可以输出有意义的字符串 Unknown
因此我们可以知道路由器的左2为RX,左3为TX,并且波特率为 38400
显然JTAGulator的优点就是非常方便,只需要测出GND然后其他随便连接在接口上就可以了开始测试了
缺点是贵
使用CH341A进行固件提取
这个部分的内容失败了,并且笔者放弃了…

将红线对着芯片右下角那个圆的位置夹住,然后CH341A插入电脑打开软件分辨芯片型号并进行拷贝
但是不知道什么原因提取
笔者后续查询了很多资料,在软件中切换不同型号的芯片进行提取,但是最后都失败了,并没有找到原因,提取出来的固件尝试使用binwalk进行分解的时候连头文件都没有办法区分出来,最后笔者也是选择放弃
