首页
社区
课程
招聘
[原创]路由器基本调试一 UART定位
2019-7-3 11:31 15522

[原创]路由器基本调试一 UART定位

2019-7-3 11:31
15522


前言

在做IOT分析的时候,拿到设备的UART接口然后进行调试,这是一个很常见的操作。UART至少包含4个引脚公共引脚GND、电源引脚VCC、输出引脚TXD、接收引脚RXD。我们需要用到其中的3个引脚TXD、RXD、GND。

如果找到UART,通过SecureCRTPortable就可以在PC上得到路由器得控制shell。

那么有业界朋友就会好奇了,定位个UART还需要写一篇文章吗?如果UART被厂商做了手脚,不能输入或者显示数据怎么办?这个就是我今天要和大家分享的内容

第一步 定位找UART引脚

这里用Tplink某个型号为例,该路由有很明显的是个接口,判断相对容易。下面介绍通用的方法。

1   定位GND

GND和至少和一根外接天线是连接相通的,将万用表的档位调整至蜂鸣档,一只表笔置于天线的焊锡点,一只表笔置于串口,如果发出蜂鸣声,就是GND。

2      定位VCC

给路由器通电,VCC是供电引脚,路由器的VCC电压始终未3.30不会发生变化,找到它可以帮助我们排除RXD、TXD。

将万用表调整到直流20V上。将一只表笔放在GND上,测试其他哪只引脚电压为3.3V, 该引脚就为VCC。

3      定位TXD

输出引脚TXD,每次有数据传输的时候该引脚电压都会发生变化。什么时候有数据传输呢?根据个人经验路由器开机的时候有启动信息会从这个引脚输出,这时候电压就会发生变化,此引脚即为TXD。

4   定位RXD

输入引脚RXD,每次有外部数据传输到路由器的时候,RXD的电压都都会发生变化。这里其他3个引脚都确定了就剩下一个很容易的确定了RXD。

有时候会遇见有多个引脚的情况,不能确定RXD,有个最笨,但有效的方法,GND和TXD引脚连接到TTL,然后插在电脑上,一个个测试不能确定的引脚(注意不要接入VCC),输入有回显示的就是RXD引脚

第二步将UART引脚通过TTL接入电脑

USB到TTL接线方法:

GND引脚对应TTL的GND

RXD引脚对应TTL的TXD

TXD引脚对应TTL的RXD


第三步 疑难排查

找到引脚后,焊好排针, 然后用USB转TTL连接到电脑。

打开Serial,选择COM口,填写波特率,

启动路由,正常的显示出了启动信息,但是发现有正常的启动路由信息输出,但输入却没有响应,检查路由硬件吧。

这款路由芯片是MT7628AN,找到了芯片的DataSheet。发现147、148分别对应TXD和RXD。


观察


首先,RXD、TXD等引脚最终都会接入CPU,在物理上来说,串口引脚和芯片引脚有一条处于通路的电路。

怀疑厂商在出厂时,将RXD到芯片的电路做了断路处理。

1.验证猜想

前面已经找到了TXD的芯片引脚,拿出万用表开始检查电路吧。

将万用表调整到蜂鸣档位,将万用表的表笔一只放在芯片147引脚另一只放在找到的TXD引脚,这时传来持续的滴滴声响,表示线路是相通的,前面的都是正确的。再用相同的方法测试芯片148和RXD的时候则没有声响,果然被厂商做了处理。

2.找出问题

观察调试引脚附近一共有三个电阻R89、R18、R288。将万用表调至蜂鸣档测试

R89电阻属于TXD线路,

R18电阻属于GND线路

R288有二个焊点,但没有焊上电阻。芯片148 号RXD引脚到第一个焊点线路为通路,UART

引脚(RXD)到第二个焊点为通路。第一个电阻和第二个焊点为断路,问题很简单了,这里有一个电阻未焊接。



3.解决问题

这里电阻的主要作用为分压。由于我手上并没有电阻,用点简单粗暴的办法,点上一点焊锡吧。拿出电烙铁和焊锡丝将R288的二个焊点焊接上。给路由通电,接入电路,正常输入。

启动信息


输入



[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

最后于 2019-7-3 15:55 被maxk编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (9)
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
malokch 2 2019-7-3 12:02
2
0
那是个做阻抗匹配的电阻吧
雪    币: 12129
活跃值: (15560)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2019-7-3 14:56
3
0
mark,楼主辛苦了,这是系列文章吗??
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hlmmf 2019-7-4 12:18
4
0
mark
雪    币: 3539
活跃值: (911)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
smartdon 1 2019-7-5 14:16
5
0
谢谢楼主
雪    币: 4
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
佐须之男 2019-7-6 00:40
6
0
补充下,路由器UART有两种电平,CMOS、TTL。文中R288是上拉电阻。
雪    币: 365
活跃值: (126)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
maxk 1 2019-7-8 10:20
7
0
对于电路我并不专业,感谢各位指点 。
雪    币: 13935
活跃值: (1215)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
严启真 2019-7-16 19:16
8
0
支持,让我想起了当年苦逼地用TTL刷机顶盒安第三方应用…
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
从简Pro 2020-4-25 10:36
9
0
多谢提醒,经过以上操作,路由器uart已经down掉了
雪    币: 320
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
I_CAN 2020-6-3 22:15
10
0
楼主辛苦  
游客
登录 | 注册 方可回帖
返回