CoM-T536产品特性:
- 采用Allwinner公司Cortex-A55四核T536处理器,最高速度为1.6GHZ;
- 支持2TOPS NPU,仅特定型号支持;
- 支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;
- 支持1-4G Bytes LPDDR4 SDRAM;
- 支持EMMC 4G-64G大容量电子盘,可启动;或支持SPI NAND启动;
- 支持双通道LVDS,分辨率最高1920x1080@60fps;支持MIPI DSI显示, 分辨率最高1920x1020@60fps;
- 支持PCIE2.1;支持最多17路UART;支持四路CANFD;支持双路千兆以太网;
- 稳定的操作系统的支持,可预装LINUX 5.10/Ubuntu 20.04
- 邮票孔198POS设计, 尺寸为:53.5*45MM
CoM-T536功能图

STK-T536评估板功能图:

5G模块通信测试(仅STK-T536 V1.2支持)
STK-T536评估板(V1.2版本)支持5G通信是通过USB3.0信号实现的,固件已适配移远模组RM500U-CNV。RM500U-CNV模块插接在M.2接口,M.2接口(CN10)位置如下:
M.2接口对应的指示灯和SIM卡座连接关系如下:

M.2接口对应的指示灯和SIM卡座连接关系如下:
| 接口 | SIM卡座 | 指示灯 |
| M.2(CN10) | CN11(开发板正面) | D17 |
注意:
- 务必插入SIM卡才能联网成功!
- 插入的SIM卡务必在网且有资费。可通过3.17.3相关章节确认SIM卡是否正常。
- 5G模块务必接入天线,不接入天线信号弱,也无法联网!

5G模块的特性及驱动方式介绍
每个5G模块都有其特殊性,他们的ID号是不同的。这里说的ID是VID/PID,Linux系统是靠这些ID来识别模块的,具体见下表:

从表中可以看出,RM500U-CNV的ID是VID:0x2c7c,PID:0x0900,可查看Linux内核驱动代码/drivers/usb/serial/option.c来确认模块是否被系统支持。
另外,在Linux系统下,一个模块可能有多种驱动方式。一般来说驱动方式决定了通信速度和通信的特性。以移远RM500U-CNV为例来说,它支持如下4种驱动模式:
| 驱动方式 | 说明 |
| ecm模式 | 通过标准的CDC-ECM发起data call,是发送标准的ECM命令,获取局域网ip。这种模式配合cdc_ether驱动使用。 |
| ncm模式 | 是 CDC-ECM 的增强版本,提供更高的数据吞吐能力,适合需要更高网络性能的应用场景,例如5G通信 |
| rndis模式 | 基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡获取局域网ip。这种方式最简单,模块插上手机卡之后,模块会自动拨号上网。一般在Windows下使用。 |
| MBIM模式 | MBIM(Mobile Broadband Interface Model,移动宽带接口模型)是一种基于USB的通信接口标准,主要用于移动宽带设备(如4G/5G调制解调器)与主机操作系统(如Windows)进行通信。MBIM规范基于USB通信设备类(CDC)规范,是网络控制模型(NCM)的优化扩展,专为移动宽带设备设计,一般在Windows下使用。 |
5G通信模块功能的演示
5G模块和SIM卡安装妥当后,上电启动到Linux,终端中会出现如下信息:
root@T536-embfly:/#
[ 23.320413] usb 2-1.4: new SuperSpeed Gen 1 USB device number 3 using xhci-hcd
[ 23.349344] usb 2-1.4: New USB device found, idVendor=2c7c, idProduct=0900, bcdDevice= 4.04
[ 23.358756] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 23.367047] usb 2-1.4: Product: RM500U-CN
[ 23.371551] usb 2-1.4: Manufacturer: Quectel
[ 23.376334] usb 2-1.4: SerialNumber: 0123456789ABCDEF
[ 23.408756] cdc_ncm 2-1.4:1.0: MAC-Address: 96:1e:ee:6d:87:00
[ 23.416452] cdc_ncm 2-1.4:1.0 usb0: register 'cdc_ncm' at usb-xhci-hcd.19.auto-1.4, CDC NCM, 96:1e:ee:6d:87:00
[ 23.428894] option 2-1.4:1.2: GSM modem (1-port) converter detected
[ 23.436302] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[ 23.444542] option 2-1.4:1.3: GSM modem (1-port) converter detected
[ 23.451853] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[ 23.460054] option 2-1.4:1.4: GSM modem (1-port) converter detected
[ 23.467374] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 23.475582] option 2-1.4:1.5: GSM modem (1-port) converter detected
[ 23.482946] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[ 23.491157] option 2-1.4:1.6: GSM modem (1-port) converter detected
[ 23.498472] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB4
从以上信息中,可看到“new SuperSpeed Gen 1 USB device number 3 using xhci-hcd”字样,这个SuperSpeed表示的是USB 3.0超高速。可以看到信息“Product: RM500U-CN“,表示5G模块的型号是RM500U-CN;最后可以看到信息“sb0: register 'cdc_ncm' at usb-xhci-hcd.19.auto-1.4, CDC NCM, 96:1e:ee:6d:87:00“,这个表示该模式的工作模式是NCM。
STK-T536的固件中已经集成了自动拨号的脚本,若5G模块的电源、SIM卡、天线均配置正常,系统上电后会自动按照NCM方式进行拨号联网,自动拨号脚本是/etc/init.d/S85_ncm_dialing.sh,脚本内容如下:
#!/bin/sh
RM500U=`lsusb | grep 0900`
start_dailing() {
if [ -n "$RM500U" ];then
echo -e "\033[36m 5G RM500U-CN Device\033[0m"
echo -e "AT+QCFG=\"nat\",0\r\n" > /dev/ttyUSB2
echo -e "AT+QCFG=\"usbnet\",5\r\n" > /dev/ttyUSB2
echo -e "AT+QNETDEVCTL=1,3,1 \r\n" > /dev/ttyUSB2
#echo -e "AT+CFUN=1,1 \r\n" > /dev/ttyUSB2
fi
}
case "$1" in
start)
start_dailing
;;
*)
echo "Usage: $0 {start}"
exit 1
;;
esac
exit $?
系统启动后,D17指示灯变为常亮的状态,该状态表示已经拨号成功。此时主板进入shell后,执行如下指令获取IP:
Target# udhcpc -i usb0
root@T536-embfly:/# udhcpc -i usb0
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 10.5.78.215, server 10.5.78.1
udhcpc: lease of 10.5.78.215 obtained from 10.5.78.1, lease time 86400
deleting routers
adding dns 202.96.134.33
adding dns 202.96.128.166
如果获取IP失败(多次出现udhcpc: broadcasting discover),表示拨号没有成功,可通过3.17.3章节中的相关章节AT指令确认是否拨号成功。
最后,通过ping指令判断是否联网成功,如果有数据回复,则说明网络功能正常。
Target# ping www.baidu.com -I usb0
运行测试结果如下所示:
root@T536-embfly:/# ping www.baidu.com -I usb0
PING www.baidu.com (183.240.99.224): 56 data bytes
64 bytes from 183.240.99.224: seq=0 ttl=51 time=81.704 ms
64 bytes from 183.240.99.224: seq=1 ttl=51 time=40.276 ms
64 bytes from 183.240.99.224: seq=2 ttl=51 time=40.026 ms
64 bytes from 183.240.99.224: seq=3 ttl=51 time=37.512 ms
64 bytes from 183.240.99.224: seq=4 ttl=51 time=39.567 ms
64 bytes from 183.240.99.224: seq=5 ttl=51 time=39.307 ms
64 bytes from 183.240.99.224: seq=6 ttl=51 time=45.262 ms
64 bytes from 183.240.99.224: seq=7 ttl=51 time=36.581 ms
64 bytes from 183.240.99.224: seq=8 ttl=51 time=39.600 ms
64 bytes from 183.240.99.224: seq=9 ttl=51 time=38.366 ms
64 bytes from 183.240.99.224: seq=10 ttl=51 time=33.241 ms
64 bytes from 183.240.99.224: seq=11 ttl=51 time=58.317 ms
64 bytes from 183.240.99.224: seq=12 ttl=51 time=42.715 ms
64 bytes from 183.240.99.224: seq=13 ttl=51 time=62.564 ms
64 bytes from 183.240.99.224: seq=14 ttl=51 time=43.239 ms
64 bytes from 183.240.99.224: seq=15 ttl=51 time=42.103 ms
64 bytes from 183.240.99.224: seq=16 ttl=51 time=57.172 ms
5G通信模块功能的分步演示
本次验证选择NCM方式,验证过程大概分如下3个步骤,
1)检查SIM卡是否正常工作;
2)配置5G模块的驱动类型;
3)配置模块网卡模式;
4)拨号上网,以下就每个步骤进行阐述。
现在我们只需要通过简单的几步就可以使用5G模块上网。在命令行下执行下面指令。其中ttyUSB2是驱动提供的接口,可以下发AT指令配置模块。如果没有ttyUSB2节点,说明模块没有初始化。
Target# microcom /dev/ttyUSB2 -s 115200
1) 检查SIM卡是否工作
进入AT命令行后,我们先输入“AT”指令,看看模块是否工作正常,如果工作正常,模块会显示”OK”,然后输入查询SIM卡状态的命令(AT+CPIN?),信息如下:
root@T536-embfly:/# microcom /dev/ttyUSB2
AT
OK
AT
OK
AT+CPIN?
READY
执行AT+CPIN?,返回OK,表示SIM卡工作正常。
下表是常用的RM500的指令表:
| 命令 | 说明 | 返回值 |
| AT | AT测试指令 | OK |
| ATE | ATE1设置回显 | OK |
| ATE0关闭回显 | ||
| AT+CGMI | 查询模组制造商 | OK |
| AT+CGMM | 查询模组型号 | OK |
| AT+CGSN | 查询产品序列号(IMEI) | OK |
| AT+CSUB | 查询模块版本以及芯片 | OK |
| AT+QGMR | 查询固件版本序列号 | OK |
| AT+IPR? | 设置模块硬件串口波特率 | +IPR: |
| OK | ||
| AT+CFUN=1,1 | 复位模块 | OK |
| AT+QUIMSLOT? | 查询SIM卡选用情况: | +QUIMSLOT: 1/2 |
| 返回1,选择SIM卡1; | OK | |
| 返回2,选择SIM卡2 | ||
| AT+CPIN? | 查询SIM卡状态,返回READY,SIM卡能正常识别 | +CPIN: READY |
| AT+COPS? | 查询当前运营商,正常联网后会返回运营商信息 | +COPS: |
| OK | ||
| AT+CEREG? | 查询网络注册状态 | +CEREG: |
| OK | ||
| AT+C5GREG? | 查询5G网络注册状态 | +C5GREG: |
| OK | ||
| AT+QENG="servingcell" | 查询UE系统信息 | |
| AT+QNWPREFCFG="mode_pref",AUTO | 自动网络模式 | OK |
| AT+QNWPREFCFG="mode_pref",NR5G | 优先5G网络 | OK |
| AT+QNWPREFCFG="nr5g_band",79 | 固定N79频段 | OK |
| AT+QNWPREFCFG="mode_pref",LTE | 优先4G网络 | OK |
2.) 配置驱动类型
RM500U-CNV支持的驱动类型(其实就是协议类型)有以下几种,我们只需要配置为其中一种即可。详细请自行查找相关说明文档。设置完成后,配置将记录在5G模块中,板子重新启动不用重新配置。
AT+QCFG="usbnet",5 配置网卡拨号方式及驱动类型为 NCM;
AT+QCFG="usbnet",1 配置网卡拨号方式及驱动类型为 ECM;
AT+QCFG="usbnet",2 配置网卡拨号方式及驱动类型为 MBIM;
AT+QCFG="usbnet",3 配置网卡拨号方式及驱动类型为 RNDIS。
我们选择第一个即可,就是配置成AT+QCFG="usbnet",5这个驱动类型。参数配置重启后生效。建议开机时通过 AT+QCFG="usbnet"查询当前配置;若当前配置和期望不同,可按上述方法进行配置并重启模块。
输入AT指令配置驱动类型,回车,可能返回结果失败,我们再配置几次直到成功。
AT+QCFG="usbnet",5
输入AT指令查询驱动类型,回车,可以看到是我们配置的“5”,为NCM驱动类型。
AT+QCFG="usbnet"

3) 配置拨号模式
拨号模式有以下几种,我们需要配置为网卡模式。配置将记录在模块中,下次不用重新配置。
AT+QCFG="nat",0 配置拨号模式为网卡模式;
AT+QCFG="nat",1 配置拨号模式为路由模式;
AT+QCFG="nat",2 配置拨号模式为网桥模式。
参数配置重启后生效。建议开机时通过 AT+QCFG="nat"查询当前配置,若当前配置和期望不同,可按上述方法进行配置并重启模块。
输入AT指令配置拨号模式,回车,可能返回结果失败,我们再配置几次直到成功。
AT+QCFG="nat",0

输入AT指令查询拨号模式,回车。可以看到是我们配置的“0”,为网卡模式。

按Ctrl +x组合键退出交互模式,然后重启开发板。
这里需要说明的是执行AT+QCFG="nat",1执行也可以上网,执行AT+QCFG="nat",0后,获得的IP是公网IP(例如:10.4.179.126),而执行AT+QCFG="nat",1指令后,获得是局域网的IP(以192.168.开头的IP,例如:192.168.42.2)。
4)执行拨号
模块配置完成后,就要执行拨号动作,拨号成功后,即可连接广域网。我们这里选择配置为自动拨号,断联后自动重播。指令如下:
AT+QNETDEVCTL=1,3,1
具体命令解释见《Quectel_RG200U-CN&Rx500U-CN_网卡拨号应用指导.pdf》

5)上网测试
配置完成后重启开发板,等待一小会,输入ifconfig指令查看获取到的ip地址。
Target# ifconfig -a
如果未获得ip,可执行如下指令获得ip
Target#udhcpc -i usb0

如检验是否可以上网,一般是通过ping指令,-I(大写的i)选项是指定网卡设备。
Target# ping www.baidu.com -I usb0

看到有数据回复,说明5G模块已经联网。
976



被折叠的 条评论
为什么被折叠?



