Tenda-i6路由器UART调试
需要的工具
万用表、杜邦线(50根公转母,50根母转母)、路由器、TTL转接
接口介绍
嵌入式里面说的串口,一般是指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,一般也可不接 #这里i6只测出了这个接口
- RX:接收数据pin
- TX:发送数据pin
寻找UART并定位
拆开路由器后看到的正面图
UART口就是下面红圈圈出来的地方
定位GND
将万用表扭到蜂鸣档,然后将黑笔接到板子背面的电源焊锡点
红笔放到UART的那四个点那里测试,万用表有响声并且亮红灯的就是GND了
定位VCC
将万用表扭到20v然后将黑笔放到刚刚初步判断的GND上,再将红笔在UART其它三个PIN上进行测试,当电压为3.3V左右时则判断红笔的那个PIN为VCC。(记住这里得插着电源测试,包括后面的操作都得插着电源),这里我另外两个口我测出来都是2.29v,一开始以为是误差都一样的,后来问了下z1r0师傅发现这是正常的现象
定位TXD
开机有数据传输的时候该引脚电压都会发生变化,利用这个特性就可以测试出TXD。因为单手实在操作不了,所以就不贴图了,和上面差不多,黑的放在GND,然后重启路由器,在第二个第三个测试一下即可发现第三个有变化,所以第三个为TXD,这里变化的比较快,但是两个对比一下还是能看出来的,TXD口会先跳到2.7v左右然后才会跳到3.29v,而另外一个口即RXD口会直接跳到3.29v
定位RXD
这里第四个口只剩下一个了,剩下的自然就是RXD口了。然后如果是5个的话可以GND和TXD引脚连接到TTL,然后插在电脑上一个一个测试,看一下输入之后有没有回显即可,虽然笨但是很有效。(我一开始没有测出VCC口也是使用的这种方法直接插电脑上测试)
将杜邦线插入UART口以及TTL转接
这里需要注意的是路由器上的RXD和TXD需要与TTL上的RX和TX反接,GND要接正确
获取cli
这里使用的是secureCRT这个软件,打开之后点左边的session manager,然后点+号添加调试设置,如下图所选即可
这里在试了几次之后确定了波特率是115200,是tenda比较常用的一个波特率
打开之后将TTL转接连上电脑,并且路由器插上电源,就会出现路由器的启动信息
按几下回车之后就会让你输入密码,这里密码是:Fireitup(给z1r0师傅磕两个)
然后就可以想办法利用telnetd将文件传输到本机了