4G模块配置、概念、调试记录

1,cs域和ps域:

CS域是电路承载域,走语音的,PS域是数据域,走得是IP,用于手机上网。

在4g下,接入网同时连接CS和PS,即核心网分割为CS,PS,打电话信号走cs,数据业务信号走PS.

2,【转】PDP上下文:

所谓的PDP上下文,也即是移动场景,英文全称PDP Context,PDP是分组报文协议的简写,Context翻译成上下文。

每一个手机上网,都必须要先附着到SGSN上。当手机需要访问网络时,需要获取一个PDP地址,你可以把它看成移动的私网地址,该地址需要从GGSN(服务GPRS节点:记录移动台的当前位置信息,移动分组数据的发送和接收,为服务区内用户提供双向分组路由)获取。而在GGSN(网关GPRS节点:GPRS和公用数据网间的关口站,协议转换)和SGSN之间保存的这个记录就是PDP Context,手机上网时active PDP Context,就是手机建立附着的SGSN与获取地址的GGSN之间建立一条连接

GPRS附着 与 PDP 上下文

GPRS无线数据传输终端利用网络实现与上位机的全双工数据通信。终端需附着GPRS网络,登陆Internet与连接其上的任意一台普通PC机建立数据链路并随时进行数据传输。欲完成这一过程必须实现GPRS的附着和PDP(PacketDataProtoco1,分组数据协议)上下文的激活。通过GPRS的附着登记用户信息,对用户进行移动性管理,激活过程用于激活IP协议,保证数据能以IP报的形式进行传送,使移动台与GGSN(GatewayGPRSSupportNode,网关GPRS节点)建立一条逻辑通路,进行数据传输。可见,激活过程是系统实现的关键,他由中央控制器软件来实现。分组数据协议的激活涉及到网络的多个协议,如PPP协议、LCP(LinkControlProtocol链路控制协议)、NCP(NetworkControlProtocol,网络控制协议)、PAP(PasswordAuthenticationProtocol,密码认证协议)和IPCP(InternetProtocol,Internet协议控制协议)等。

分组数据协议上下文激活过程

(1)终端设备向移动终端发送AT指令激活IP协议,在指令中包含终端想要连接的APN(AccessPointName,访问点名称)。

(2)终端设备向移动终端发送PPPPLC帧给移动终端,表明PAP是在PDP激活过程中的身份认证协议。

(3)终端设备开始进行PAP认证,认证通过后,移动终端将对终端设备给以回应,表明承认其身份,并且会将用户ID和密码储存下来。

(4)终端设备通过发送NCP-IPCP配置请求信息给移动终端,帧内IP地址为空,表明请求动态分配IP地址。

(5)移动终端向SGSN(ServicingGPRSSupportNode,服务GPRS节点)发送激活PDP上下文的请求信息,信息中包含如下信息:APN、PDP类型,PDP地址为空,代表请求动态分配IP地址。

(6)SGSN请求DNS(DomainNameSystem,域名系统)服务器对APN进行解析,得到APN对应的GGSN的IP地址。

(7)SGSN发送建立PDP上下文的请求消息给被选定的GGSN,消息中应包含:APN、PDP类型,PDP地址为空,代表请求动态分配IP地址、用户更改的QoS和其他选项。

(8)GGSN对用户进行认证,认证通过后,使用RADIUS(RemoteAuthenticationDia-inUserService,远程认证拨入用户服务)服务器、DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)服务器或直接由GGSN为用户分配动态IP地址,GGSN向SGSN返回建立PDP上下文相应消息。

(9)SGSN向移动终端发送激活PDP、上下文接受消息。

(10)移动终端发送NCP-IPCP配置回应帧给终端设备,回应帧包含了被动态分配的IP地址。

至此PDP上下文的激活过程全部完成,移动终端与外部数据网建立起数据通路,数传终端就可以和监控中心以IP数据报的形式进行通信。

3,移远EC20PCIE模块AT配置流程流程图

【1】模块上电

发送AT指令等待模块响应 ok

【2】发送AT+CPIN?命令 :查询SIM卡状态

如果在20s无法识别到SIM卡,则重新启动模块

【3】识别到SIM卡,发送AT+CREG?命令:查询CS域服务

如果等于1或5,这意味着该模块已在CS域服务上注册,如果90s未能在cs域上注册 则重新启动模块

【4】cs域注册后,发送AT+CGREG?或 AT+CEREG?命令:查询PS域服务

如果等于1或5,这意味着该模块已在UMTS/ LTE 网络中的PS域服务上注册。

无论是否在PS 域服务上注册,都可以转到下一步了。(即使不注册成功,也不必重新启动模块)

【5】发送AT+QICSGP命令:配置APN、用户名、密码、和auth类型(配置PDP上下文)

通过 AT+CGQREQ/ AT+CGEQREQ/AT+CGQMIN/ AT+CGEQMIN 配置QoS设置

【6】AT+QIACT=:激活PDP上下文

使用AT+QIACT?查询PDP上下文的IP地址

如果在150s AT+QIACT没有响应,则重新启动模块,如果连续三次停用了PDP上下文,也重新启动模块

如果未能激活PDP上下文,可以通过AT+QIDEACT= 命令禁用 PDP上下文,如果40s没有响应 则重新启动模块

如果成功激活PDP 上下文,发送 AT+QIOPEN命令:开启连接

如果连续五次未能打开连接,或者150s内没有响应 则重新启动模块
【7】TCP连接与维护

AT+QISEND=[,Lenglth]发送数据,建议定期将一个小数据包发送到远程端到maintian,并检测TCPIP连接

通过AT+QISEND= ,0发送ACK查询,

如果90s无法获取ACK,用AT+QICLOSE= 命令关闭连接,然后执行AT+QIOPEN命令去重新建立连接

如果AT+QICLOSE= 关闭连接的命令10s没有响应,则重新启动模块

PS1:请注意,在发送下一个AT命令前,需要等待最后一个AT命令的最终响应(例如OK、CME error、CMS_error),如果60s没有收到响应,则可以重新启动模块PS2:AT+QIACT命令在150s没有响应和AT+QICLOSE命令 在10s没有响应和 AT+QIDEACT命令 在40s没有响应,则重启模块PS3:不建议经常启动模块,当AT指令执行失败连续三次重启,可以设置第一次立即重启,第二次10分钟后重启,第三次30分钟重启,第四次1小时重启等。

4,QNAVIGATOR软件连接命令流程(参考)

/* Start AT SYNC: Send AT every 500ms, if receive OK, SYNC success, if no OK return after sending AT 10 times, SYNC fail */

[2019-05-10 09:48:47:376_S:] AT

[2019-05-10 09:48:47:385_R:] AT

[2019-05-10 09:48:47:391_R:] OK

/* Use ATV1 to set the response format */

[2019-05-10 09:48:47:408_S:] ATV1

[2019-05-10 09:48:47:414_R:] ATV1

[2019-05-10 09:48:47:422_R:] OK

/* Use ATE1 to enable echo mode */

[2019-05-10 09:48:47:435_S:] ATE1

[2019-05-10 09:48:47:445_R:] ATE1

[2019-05-10 09:48:47:445_R:] OK

/* Use AT+CMEE=2 to enable result code and use verbose values */

[2019-05-10 09:48:47:460_S:] AT+CMEE=2

[2019-05-10 09:48:47:465_R:] AT+CMEE=2

[2019-05-10 09:48:47:465_R:] OK

/*获取baudrate,如果值为0 (auto baudrate),则将其设置为115200 (fixed baudrate),以保证DCE与DTE之间的通信可靠,避免由于baudrate未确定而导致DCE与DTE之间的任何问题,使用AT&W */保存IPR值

/* Get the baudrate, if the value is 0 (auto baudrate), then it will be set to 115200 (fixed baudrate) to assure reliable communication and avoid any problems caused by undetermined baudrate between DCE and DTE, value of IPR should be saved with AT&W */

[2019-05-10 09:48:47:480_S:] AT+IPR?

[2019-05-10 09:48:47:488_R:] AT+IPR?

[2019-05-10 09:48:47:494_R:] +IPR: 115200

[2019-05-10 09:48:47:494_R:] OK

/* Use ATI to get module information of Manufacturer ID, Device module and Firmware version */

[2019-05-10 09:48:47:509_S:] ATI

[2019-05-10 09:48:47:516_R:] ATI

[2019-05-10 09:48:47:524_R:] Quectel

[2019-05-10 09:48:47:524_R:] EC20F

[2019-05-10 09:48:47:524_R:] Revision: EC20CEFILGR06A01M1G

[2019-05-10 09:48:47:524_R:] OK

/* Use AT+GSN to query the IMEI of module */

[2019-05-10 09:48:47:540_S:] AT+GSN

[2019-05-10 09:48:47:550_R:] AT+GSN

[2019-05-10 09:48:47:555_R:] 869756045658157

[2019-05-10 09:48:47:555_R:] OK

[2019-05-10 09:48:47:561_S:] ATI

[2019-05-10 09:48:47:565_R:] ATI

[2019-05-10 09:48:47:565_R:] Quectel

[2019-05-10 09:48:47:565_R:] EC20F

[2019-05-10 09:48:47:565_R:] Revision: EC20CEFILGR06A01M1G

[2019-05-10 09:48:47:565_R:] OK

[2019-05-10 09:48:47:572_S:] AT+QURCCFG="URCPORT","usbat"

[2019-05-10 09:48:47:577_R:] AT+QURCCFG="URCPORT","usbat"

[2019-05-10 09:48:47:590_R:] OK

/* Use AT+CPIN? to query the SIM card status : SIM card inserted or not, locked or unlocked */

[2019-05-10 09:48:47:615_S:] AT+CPIN?

[2019-05-10 09:48:47:623_R:] AT+CPIN?

[2019-05-10 09:48:47:629_R:] +CPIN: READY

[2019-05-10 09:48:47:629_R:] OK

/* Use AT+CIMI to query the IMSI of SIM card */

[2019-05-10 09:48:47:649_S:] AT+CIMI

[2019-05-10 09:48:47:655_R:] AT+CIMI

[2019-05-10 09:48:47:663_R:] 460022314967188

[2019-05-10 09:48:47:663_R:] OK

/* Use AT+QCCID to query ICCID number of SIM card */

[2019-05-10 09:48:47:677_S:] AT+QCCID

[2019-05-10 09:48:47:688_R:] AT+QCCID

[2019-05-10 09:48:47:694_R:] +QCCID: 898600C30315F0544689

[2019-05-10 09:48:47:694_R:] OK

/* Use AT+CSQ to query current signal quality */

[2019-05-10 09:48:47:707_S:] AT+CSQ

[2019-05-10 09:48:47:718_R:] AT+CSQ

[2019-05-10 09:48:47:718_R:] +CSQ: 31,99

[2019-05-10 09:48:47:718_R:] OK

/* Use AT+CREG? /AT+CGREG? to query the network registration status. */

[2019-05-10 09:48:47:732_S:] AT+CREG?

[2019-05-10 09:48:47:737_R:] AT+CREG?

[2019-05-10 09:48:47:737_R:] +CREG: 0,1

[2019-05-10 09:48:47:737_R:] OK

[2019-05-10 09:48:47:745_S:] AT+CGREG?

[2019-05-10 09:48:47:752_R:] AT+CGREG?

[2019-05-10 09:48:47:752_R:] +CGREG: 0,1

[2019-05-10 09:48:47:752_R:] OK

/* Use AT+COPS? to query current Network Operator */

[2019-05-10 09:48:47:766_S:] AT+COPS?

[2019-05-10 09:48:47:772_R:] AT+COPS?

[2019-05-10 09:48:47:781_R:] +COPS: 0,0,"CHINA MOBILE",7

[2019-05-10 09:48:47:781_R:] OK

/*Use AT+CEREG? to query current EPS Network Registration Status*/

[2019-05-10 09:48:47:792_S:] AT+CEREG?

[2019-05-10 09:48:47:803_R:] AT+CEREG?

[2019-05-10 09:48:47:808_R:] +CEREG: 0,1

[2019-05-10 09:48:47:808_R:] OK

以上只是模块连接完成 ,以上只是处理一些vpn配置、发送数据等的命令