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评估板功能图:

3.16、4G模块测试

  STK-T536评估板支持4G通信,固件已适配移远模组EC200T、EC200A、EM05。其中EC200系列插接在MINIPCIE接口;而EM05模块插接在M.2接口。以下是STK-T536评估板的MINIPCIE接口(CN20)和M.2接口(CN10)位置:

其中每个接口都有对应的指示灯和SIM卡座,对应关系如下:

接口 SIM卡座 指示灯
MINI PCIE(CN20) CN21(开发板背面) D36
M.2(CN10) CN11(开发板正面) D17

3.16.1、4G模块的特性及驱动方式介绍

每个4G模块都有其特殊性,就拿我们目前支持的几款来说,他们的ID号是不同的。这里说的ID是VID/PID,Linux系统是靠这些ID来识别模块的,具体见下表:

备注:本表来自于《Quectel_UMTS_LTE_5G_Linux_USB_Driver_用户指导_V1.0.pdf》

从表中可以看出,EC200A的ID是VID:0x2c7c,PID:0x6005,可查看Linux内核驱动代码/drivers/usb/serial/option.c来确认模块是否被系统支持。

      另外,在Linux系统下,一个模块可能有多种驱动方式。一般来说驱动方式决定了通信速度和通信的特性。以移远EC200A为例来说,它支持如下4种驱动模式:

驱动方式 说明
ppp模式 最原始的通信模式,通信速度慢,耗费处理器资源,不推荐使用
ecm模式 通过标准的CDC-ECM发起data call,是发送标准的ECM命令,获取局域网ip。这种模式配合cdc_ether驱动使用。
ncm模式  CDC-ECM 的增强版本,提供更高的数据吞吐能力,适合需要更高网络性能的应用场景。
rndis模式 基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡获取局域网ip。这种方式最简单,模块插上手机卡之后,模块会自动拨号上网。一般在Windows下使用。

以上驱动(拨号)方式的区别:

拨号方式 Linux Windows IP地址
ECM拨号 驱动系统自带,很老的内核都支持 需要安装专门的驱动程序 私网IP
RNDIS拨号 驱动是系统自带的,很老的内核都支持 不需要安装驱动程序,Windows系统内已经集成了驱动 私网IP

PPP使用复杂,对CPU负载大,网速上不去,不推荐使用。

ECM不支持IP聚合和复用功能,决定了不适用于高速场景。

RNDIS协议上是支持IP聚合的,但是Linux自带驱动没有使用,所以也不适用于高速场景。

3.16.2、4G通信模块功能的演示

固件中已经集成了自动拨号的脚本,若4G模块的电源、SIM卡、天线均配置正常,系统上电后会自动按照ECM方式进行拨号联网,自动拨号脚本是/etc/init.d/S85_EC801E_dialing.sh,脚本内容如下:

#!/bin/sh
EC801E=`lsusb | grep 0903`
start_dailing() {
	if [ -n "$EC801E" ];then
		echo -e "\033[36m 4G EC801E Device\033[0m"
		echo -e "AT+QCFG=\"nat\",1\r\n" > /dev/ttyUSB2
		echo -e "AT+QNETDEVCTL=3,1,1 \r\n" > /dev/ttyUSB2
	fi
}
case "$1" in
	start)
		start_dailing
		;;
	*)
		echo "Usage: $0 {start}"
		exit 1
		;;
esac
exit $?

系统启动进入shell后,执行如下指令获取IP

Target# udhcpc -i usb0

执行完以上操作,D36指示灯由慢闪(1800ms灭/200ms亮)变为慢闪(200ms灭/1800ms亮)的状态,该状态表示已经正常联网。

通过ping指令判断是否联网成功,如果有数据回复,则说明网络功能正常。

Target# ping www.baidu.com

运行测试结果如下所示:

3.16.3、4G通信模块功能的分步演示

本次验证选择ECM方式,验证过程大概分如下5个步骤,1)连接模块,插入SIM卡;2)等待模块成功加载;3)检查SIM卡是否正常工作;4)配置模块网卡模式;5)拨号上网,以下就每个步骤进行阐述。

(一)4G模块的安装和SIM卡的安装

将4G模块按照下图插入评估板,并使用螺钉锁定,同时要插上配套的天线,否则会因为无信号而测试失败。另外,MINIPCIE接口(CN20)的电压是可调的,短接J1后CN20供电3.7V。

把NanoSIM卡插入如下卡座(CN21),并保证SIM卡正常备案且资费充足,否则可能测试失败。

备注:STK-T536有两个SIM卡座,一个是CN21,该接口位于主板背面,它和CN20(MiniPCIE接口)配套使用;另外一个是CN11,该接口位于主板正面,它和CN10(M.2接口)配套使用;

(二)判断4G模块是否正常工作

输入ls /dev/ttyUSB*指令确认是否存如下设备节点,如果有如下节点,表示4G模块已经工作正常,ttyUSB2节点用来接收AT命令。

Target#   ls /dev/ttyUSB*

root@T536-embfly:~# ls /dev/ttyUSB*
ls /dev/ttyUSB*
#如果为下面的情况即为成功加载
root@T536-embfly:~# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
root@T536-embfly:~# ^C

固件默认使能4G模组,通过ifconfig usb0指令可看到usb0节点。

root@T536-embfly:~#ifconfig usb0

完成以上步骤,证明4G模块已经工作正常。接下来要验证第三步,确保SIM卡工作正常,只有SIM卡工作正常,才可测试拨号上网功能。

(三)验证SIM卡是否工作正常

一般通过microcom软件和4G模块进行交互,输入如下AT指令,即可判断SIM卡是否工作正常。microcom通过ctrl+x可退出。

Target# microcom /dev/ttyUSB2

在microcom中依次输入以下AT指令,进行拨号上网测试(采用ECM协议,非PPP)。

AT //收到OK,表示主板与4G模组通讯正常

AT+CPIN? //收到READY,表示SIM卡正常识别

测试也可以直接在Linux终端中使用echo指令:

Target#   cat /dev/ttyUSB2 &

Target#   echo -e "AT+CPIN?\r\n" >  /dev/ttyUSB2

#在后台显示/dev/ttyUSB2返回的信息(如果想退出后台显示,使用后面的命令:pkill cat)

cat /dev/ttyUSB2 &

#检查sim卡的状态

echo -e "AT+CPIN?\r\n" >  /dev/ttyUSB2

#如果返回值为如下即为获取sim卡成功

+CPIN: READY

OK

如果遇到无法读卡的问题,可能是卡的触点没有紧密与模块的卡座接触,也可能是模块不支持该SIM卡,可以联系模块的提供商进行解决。

(四)确认4G模块的工作方式

如果之前成功配置过网卡的模式,网卡是会把成功配置的网卡模式保存,就不需要额外再配置网卡模式。

ECM和RNDIS是两种不同的USB网络共享协议。1)ECM(Ethernet Networking Control Model)使用标准的Ethernet II帧格式,在ECM模式下,4G网卡会被识别为一个网络接口,可以直接通过DHCP获取IP地址。2)RNDIS(Remote Network Driver Interface Specification)使用Microsoft Remote NDIS(RNDIS)协议封装数据包,而在RNDIS模式下,4G网卡会被识别为一个USB设备,需要安装相应的驱动程序才能使用。

命令 功能
AT+QCFG=”usbnet” 查询网卡模式
AT+QCFG="usbnet",1 设置网卡为ECM模式
AT+QCFG="usbnet",3 设置网卡为RNDIS模式

操作指令如下:

#查询当前模式
#在后台显示/dev/ttyUSB2返回的信息(如果想退出后台显示,使用后面的命令:pkill cat)
cat /dev/ttyUSB2 &
#查询当前网卡的模式
echo -e "AT+QCFG=\"usbnet\"\r\n" >  /dev/ttyUSB2
#例子:
cat /dev/ttyUSB2 &
[1] 1155
echo -e "AT+QCFG=\"usbnet\"\r\n" >  /dev/ttyUSB2
+QCFG: "usbnet",3
#解析
可以看到返回了3,这个是网卡在RNDIS模式

+QCFG: "usbnet",3 :表示RNDIS模式

+QCFG: "usbnet",1 :表示ECM模式

(五)配置4G模块的工作方式

  • 配置模块网卡模式为ECM
#在后台显示/dev/ttyUSB2返回的信息(如果想退出后台显示,使用后面的命令:pkill cat)
cat /dev/ttyUSB2 &
#配置为ECM模式(返回:OK 代表配置成功)
echo -e "AT+QCFG=\"usbnet\",1\r\n" >  /dev/ttyUSB2
#重启模块(重启模块才能生效)
echo -e "AT+CFUN=1,1\r\n" >  /dev/ttyUSB2
#重启后可以查看配置是否成功生成
  • 配置模块网卡模式为RNDIS
#在后台显示/dev/ttyUSB2返回的信息(如果想退出后台显示,使用后面的命令:pkill cat)
cat /dev/ttyUSB2 &
#配置为ECM模式(返回:OK 代表配置成功)
echo -e "AT+QCFG=\"usbnet\",3\r\n" >  /dev/ttyUSB2
#重启模块(重启模块才能生效)
echo -e "AT+CFUN=1,1\r\n" >  /dev/ttyUSB2
#重启后可以查看配置是否成功生成

如果你完成前面的配置,把网卡成功配置成ECM模式或者RNDIS模式,即可拨号上网。

(六)拨号上网

拨号上网的指令见下表:

命令 功能
AT+qnetdevctl=1,1,1 立即拨号
AT+qnetdevctl=3,1,1 自动拨号(开机自动拨号)
AT+qnetdevctl=0,1,1 断开拨号
AT+QICSGP=1,”apn”,”username”,”password”,2 专网卡拨号

拨号上网流程如下:

#在后台显示/dev/ttyUSB2返回的信息(如果想退出后台显示,使用后面的命令:pkill cat)
cat /dev/ttyUSB2 &
#立即拨号(返回:OK 代表配置成功)
echo -e "AT+qnetdevctl=1,1,1\r\n" >  /dev/ttyUSB2
#自动获取网络
udhcpc -i usb0

执行完以上操作,D36指示灯由慢闪(1800ms灭/200ms亮)变为慢闪(200ms灭/1800ms亮)的状态,该状态表示已经正常联网。

一般通过ping指令判断是否联网成功,如果有数据回复,则说明网络功能正常。

ping www.baidu.com

运行测试结果如下所示:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐