签约作者:z1r0
前言
继上一篇文章,最后提到了连夜买了一个路由器,买回来发现型号是ac10v3,tenda没有这个固件,所以笔者就想着通过uart进路由器看一下
需要的工具
·万用表
·FT232
·电烙铁
·杜邦线
·路由器
接口介绍
嵌入式里面说的串口,一般是指UART口。同时还有com口,TTL这些东西,这里简单说一下它们的作用和关系。
·UART:通用异步收发器,在嵌入式里串口其实就是UART口,4个pin
·COM口:在台式机上常用的口,9个pin,接口协议只有两种RS232和RS485
UART口、COM口指的是物理接口形式,TTL、RS232和RS485指的是电平逻辑标准
在嵌入式里常用TTL电平即3.3V或者5.0V
UART接口介绍
UART只有数据线收和发,并无时钟线,故为异步串行通信接口,可以实现全双工通信;在嵌入式系统中,常用于控制系统与外设通信,包括控制器与控制器,控制器与终端设备。UART至少包含4个引脚公共引脚GND、电源引脚VCC、输出引脚TXD、接收引脚RXD。
·VCC:供电pin,一般是3.3v,在通电情况下,板子上没有过电保护,这个pin一般不接更安全
·GND:接地pin,有的时候rx接受数据有问题,就要接上这个pin,一般也可不接
·RX:接收数据pin
·TX:发送数据pin
寻找UART并定位PIN
首先给出笔者的路由器背面图
笔者已经把路由器拆开了,有点丑(XD
给出拆开后的正面图
上面红色的就是uart口,4个洞,常规来说数量大约为3-5个的通孔可来作为UART调试串口的初步定位。上图是笔者已经焊接好了的图
1. 定位GND
将万用表扭到蜂鸣档,然后将黑笔接到板子的背面电源焊锡点
红笔就到UART四个焊点那里测试,听到响声就可以初步判断哪个是GND了。(单手操作单手拍照的体验很不好,太难受了,所以就直接分开入图了)
发现只有第一个会响,所以第一个为GND
上图可以看到最上面红了,并有响声,这个就是蜂鸣档
2. 定位VCC
将万用表扭到20v然后将黑笔放到刚刚初步判断的GND上,再将红笔在UART其它三个PIN上进行测试,当电压为3.3V左右时则判断红笔的那个PIN为VCC。
但是在测试的时候右边的三个全都是可以3.3v,这里就有个很好的办法,正负极相连短路来最终确定VCC引脚
首先看一下短路前的图
再看一下短路后的图
只有第四个会短路,所以确定第四个为vcc
3. 定位TXD
开机有数据传输的时候该引脚电压都会发生变化,利用这个特性就可以测试出TXD。因为单手实在操作不了,所以就不贴图了,和上面差不多,黑的放在GND,然后重启路由器,在第二个第三个测试一下即可发现第三个有变化,所以第三个为TXD
4. 定位RXD
上面的都确定了剩下的就是RXD了, 假如有5个的话,我们可以使用一个比较笨的方法,GND和TXD引脚连接到TTL,然后插在电脑上一个一个测试,看一下输入之后有没有回显即可,虽然笨但是很有效。
焊接uart口
一开始是没有笔者上面的4个针的,这是笔者焊接上去的,一开始只有4个洞,如何焊接呢
笔者用的是这个电烙铁
这个比较便宜,但是还是能用的,也可以买更贵的,预热快,这个便宜的预热几分钟
笔者很长时间没有焊接过东西,所以在焊接的时候用洞洞板练习了一下
更加需要注意的是一定要用镊子或者夹子固定住,不要用手!不要用手!不要用手!会被烫到(在焊接下面的时候不要用手抓另一边来固定,不要问为什么笔者这样强调T_T)。没有固定的可以像下面这样焊接
用镊子来固定,可能操作会有点不方便最后焊接好后开始连接电脑来获取cli
获取cli
前面的焊接一定要焊好,不然会发生一些想不到的错误,这是最后一步,通过uart来获取cli
笔者用的是secureCRT这个软件
打开之后点左边的session manager,然后点+号添加调试设置,如上图所选即可
这里的波特率笔者在测试很多次之后确定是38400,好坑,笔者查到tenda的基本都是115200,所以笔者也就115200,导致浪费了一会时间,最后一直continue下去即可
最后面板上会出现刚刚的设置,双击
空白很正常,因为还没有TTL转USB连上来(这里的操作提前),但是笔者遇见一个大无语事件(还是菜,以为一一对应),RXD和TXD需要反接,也就是路由器上的RXD接到FT232的TXD,路由器上的TXD接到FT232的RXD上
FT232这个是笔者在社区换的
最后的连接图
路由器通电secureCRT上应该就会出现启动信息了
回车之后成功进入cli
总结
这里就结束了,弯弯绕绕之后也是成功了,还是靠坚持,一个问题出现之后去一个一个排查。也学到了很多知识,比如需要反接
原文始发于微信公众号(信睿物联网):Tenda-AC10 v3路由器UART调试