【智能设备-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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | CLI> ?
Realtek's command:
Commands Descriptions Usage
-------- ------------ -----
db db <Address> <Len>
dw dw <Address> <Len>
eth eth
wlan0 wlan0
wlan0-va0 wlan0-va0
wlan0-va1 wlan0-va1
wlan0-va2 wlan0-va2
wlan0-va3 wlan0-va3
wlan0-vxd wlan0-vxd
wlan1 wlan1
wlan1-va0 wlan1-va0
wlan1-va1 wlan1-va1
wlan0-va2 wlan0-va2
wlan1-va3 wlan1-va3
wlan1-vxd wlan1-vxd
eb eb <Address> <Value1> <Value2>...
ew ew <Address> <Value1> <Value2>...
alg alg
brconfig brconfig
cat
cpuload cpuload
date show system local time
excep cause exception
fastpath fastpath
getmib getmib
help Displays a list of commands
? Displays a list of commands
hexcat
dump Shows a memory dump
hw_nat hw_nat
ib ib
idd idd
ifconfig ifconfig
ipfw ipfw
irf irf
iw iw
iwpriv iwpriv
ll
mac mac <ifname> [mac addr]
mroute mroute
ob ob
od od
orf orf
ow ow
pdump dump a thread
ping ping
port_fwd port_fwd
version Shows build version
ps Shows a list of threads
reboot Reset the system
reinit reinit
reinit_test reinit_test
reset Reset the system
route set static route
rssi rssi
alias show alias table
rtl_vlan rtl_vlan
sp Sets a threads priority [thread ID]
setmib setmib
show show
tcpstats tcpstats
test_skb test_skb
kill Kills a running thread [thread ID]
release Break a thread out of any wait [thread ID]
trigger_port trigger_port
uptime Shows system uptime
watchdog on/off/res/reboot
Tenda's command:
msg ce_power app_debug build stat_link link_status
iwpriv realtek splx thread mbuf debug
route et wlconf fw ping ifconfig
syslog time tenda_arp arp envram nvram
restart reboot
CLI>
|
方法二:使用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然后其他随便连接在接口上就可以了开始测试了
缺点是贵
参考:
UART串口基础及通过万用表定位UART引脚 | kafroc
更多【智能设备-Tenda AC6 实机拆解与UART串口的区分方法】相关视频教程:www.yxfzedu.com