一. 背景
最近在做一个需要使用5G网络的系统,需要使用5G模组来搭建5G通信线路。
5G网络技术具有高速率,低时延,大容量的优势。高速率指同样的下载内容需要的时间更短,低时延是高速率的结果,大容量指单位面积所能容纳的支持高速上网的设备数更多。
在使用5G模组时遇到一些问题,在此记录一下探索解决问题的过程。如果个人有说的不正确的地方,欢迎指正。
二. 硬件说明
使用的5G模组基于华为的MH5000-31,网络上关于5G模组的介绍大同小异。
从外观上看,值得注意的有两点,插入SIM的卡槽,和提供的USB接口。用专用线将5G模组和PC连接,将SIM卡(平时自己用的手机卡)插入SIM卡槽,我使用的是移动SIM卡,支持5G的基础流量套餐。
我理解的使用5G模组来上网,就和手机上开数据流量上网而不是用Wifi上网差不多,如果需要上网的设备不支持WiFi,或周围没有WiFi无线网络的话,就要借助这种5G模组来实现上网。
三. 使用探索
1. Windows平台(PC)上操作
-
下载安装5G模块驱动:MH5000_31_Windows_debug_driver(20200331)
-
在电脑设备管理器上查看新出现的端口,记录PC UI Interface端口的端口号,如图1。
-
使用putty登陆上,发送AT指令调试
-
开启回显:ATE1,方便查看自己发送的AT指令
-
拨号:AT^NDISDUP=1,1 ,正常的话此时就能上网了。如果不行大概率是没有切换模组的模式,发送AT^SETMODE=1切换到Windows模式即可,切换后自动重启
-

2. 使用4G网络
我使用的模组打开默认是使用的LTE(4G网络),距离5G基站大约300米,有建筑物墙壁遮挡,进行网速测试,如图2。

3. 使用5G网络
打电话咨询移动运营商客服,查询我周围有没有5G基站,确认是有的。然后客服说我们使用的流量网速主要是和5G基站的距离以及建筑物阻挡情况有关系,和流量业务无关。(但是后来又说分什么基础套餐,提速套餐,尊享套餐,支持的最高带宽是不同的,我...)
基础套餐就够用了,查询我的5G最高网速是300Mbps,顺便查了下4G最高是40Mbps,如果这样的话那还真差不少,但是一般情况下很难跑到300Mbps,能到200Mbps就不错了。
切换5G模式尝试了很久,我的操作方法如下:
-
切换NR-5GC模式:AT^C5GOPTION=1,1,1
-
重启模组:AT^RESET
-
打开SA模式:AT^SYSCFGEX="08",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,
-
查询扩展系统信息:AT^SYSINFOEX
以上操作的效果是切换到了SA网络,直接使用SA网络服务,至于什么是SA,NSA请自行搜索。
我原来看到的说法是,模组打开后,如果周围有5G基站,拨号后会自动连接5G网络,查询方法如下:
-
AT^HCSQ? :如果有NR,表示有5G网络
-
AT^LENDC? : 查5G的连接状态,要在有数据传输时(就是比如你在网络上正在播放视频时)测试,最后一位为1时为连接状态,为0时为未连接状态
但是,我怎么查都没有5G信号。我背着设备跑到附近的5G基站下面测试,也还是显示未连接。找到官方手册,查询看到说AT^LENDC?命令是查NSA下LTE-NR的DC双连接状态,所以可能是我周围的这个基站只支持SA而不支持NSA?
最后5G网络测速如图3所示,与上面4G测试的地点相同,大约是4G的4.75倍(只看下载速度)。已经突破了上面说的4G最大网速限制,所以应该是用的5G网络。

四. 相关AT指令学习
1. ATZ-恢复出厂设置
还有一个是AT&F,好像比较彻底。
2. AT^RESET -重启
3. AT^MSO -关机
4. AT^HCSQ?-查询上报信号强度
用于查询和主动上报当前服务网络的信号强度。如果模块当前已经注册多个服务网络,可以同时查询各个模式下的信号强度。

以查询结果“^HCSQ:"LTE",56,51,106,30”为例。56表示LTE的接收信号强度为-64dBm(56-120=-64dBm),51表示参考信号接收功率(51-140=-89dBm),106表示信号与干扰加噪声比(dB),30表示参考信号接收质量,单位dB。
5. AT^LENDC? :查NSA下LTE-NR的DC双连接状态
查NSA下LTE-NR的DC双连接状态,也可以说是5G的连接状态,最后一位为1时为连接状态,0为未连接状态。
详细说明:AT^ LENDC 命令用于查询LTE 主模下,当前网络中NR 网络的ENDC 双连接状态。终端应该保证在LTE 模下使用该命令,其余模式查询回复失败。
以^lendc:1,0,0,0,0 为例。LENDC:<enable>,<endc_available>,<endc_plmn avaliable >,<endc_restricted>,< nr_pscell >
<enable>使能主动上报;表示当前小区是否支持endc 模式;表示当前小区所选择的PLMN 是否支持endc 模式;<endc_restricted>表示LNAS 注册accept 消息中ENDC 能力bit 位,不用管;< nr_pscell >表示当前Pscell 是否为NR(即是否进入ENDC 双连接状态)
6. AT^C5GOPTION -设置和查询5G接入模式选项,默认是0,1,0
格式:AT^C5GOPTION=<nr_sa_support_flag>,<nr_dc_mode>,<5gc_access_mode>
<nr_sa_support_flag>:是否支持NR接入网。0:不支持NR 接入网以SA 工作;1:支持NR 接入网以SA 工作。
<nr_dc_mode>:NR 的DC 支持模式。 0:不支持辅连接; 1:仅仅支持ENDC; 2:仅仅支持NEDC; 3:ENDC 和NEDC 都支持。
<5gc_access_mode>:允许接入5gc 的制式 0:不允许接入5gc;1:仅仅允许NR 接入5gc;2:仅仅允许LTE 接入5gc; 3:允许LTE 和NR 接入5gc。
使用的华为5G模组支持三个接入模式:OPTION 2,OPTION3,OPTION 2+3,在我这个博客中切换5G就是从OPTION3换到OPTION 2+3。
7. AT^NDISDUP -NDIS拨号
拨号后可上网。
8. AT^SYSINFOEX-查询扩展系统信息

例:^SYSINFOEX:2,3,0,1,,6,"LTE",101,"LTE"
^SYSINFOEX:2,2,0,1,,11,"NR-5GC",111,"NR-5GC"
第一个“LTE”表示是4G网络,第二个“NR-5GC”是切换到5G核心网。
9. AT^SYSCFGEX-设置扩展系统配置

其中,acqorder:网络接入次序;band:表示频带;roam:表示漫游支持状态;srvdomain:表示域设值;lteband:表示LTE频段。
其它请参见官方AT指令手册,这里只介绍本项目中用到的相关AT命令。
五. 下一步计划
在Linux系统平台上测试5G模组的使用,请关注后续更新。