欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

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

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


前言

在做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的二个焊点焊接上。给路由通电,接入电路,正常输入。

启动信息


输入


注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功