1、硬件连接及驱动支持
MH5000模块上包含了USB和SIM卡槽,使用时将USB与主芯片USB连接。如果MH5000是通过串口相连,默认波特率为115200,8bit数据位,1bit停止位,校验位和流控均为NONE。
配置Linux系统驱动,修改代码,修改代码请参照《华为模块 Linux内核驱动集成指导》。正常加载成功之后执行“ifconfig”后会出现“wwan0”设备,此时表明主机已经和MH5000网卡连接成功,可以进行拨号操作。
2、拨号流程
整体拨号流程如下图所示:
1、版本信息查询命令:"at^version?"
执行此命令之后会返回相应的版本信息,根据版本信息确定是否正确,不正确则联系FAT进行升级。根据手册提供的版本信息应该是“MH5000-31”。
2、设置主机端显示MH5000模块回复信息,命令:"ATE1"
执行此命令之后,每次向MH5000发送完指令之后都会显示出回显内容,以此来判定命令是否执行完成。
3、查询USIM卡或SIM卡的IMSI(International Mobile Subscriber Identity)值,命令:"AT+CIMI"
执行此命令后,返回15个数字的的IMSI序列号(十进制表示)。其构成如下:
| 2个数字 | 2或3个数字 | -
| MCC(国家代码) | MNC(网络代号) | MSIN(标识移动用户身份)
如:23002021666683;MCC为230,MNC为02,MSIN为0216666831。
4、网络注册
①、注册命令:"at^ndisdup=1,1",若加APN直接在后面添加"APN名称"。如"at^ndisdup=1,1,"CloudVision"","at^ndisdup=1,1,"huaweiall""。
该命令执行成功,会返回OK字符。
②、查询连接状态,命令:"at^ndisstatqry?"。执行该命令返回结果如下:
^NDISSTATQRY:<stat>,[<err_code>],[<wx_state>],[<PDP_type>],其中:
<state>表示连接状态:0-连接断开,1-已连接,2-连接中(仅在模块自动连接时上报),3-断开中(仅在模块自动连接时上报)
<err_code>错误码:0-未知原因/未知错误,other error code-参照手册中定义查找原因
<wx_state>WiMax数据卡子状态(目前不支持)
<PDP_type>字符串类型,表示PDP状态:"IPV4"-IPV4协议,"IPV6"-IPV6协议
③、查询IP地址,命令:"at^cgpaddr"。执行该命令时返回所有定义的IP地址。通过"ifconfig"可以在"wwan0"设备中看到IP地址。
此时已经完成拨号设置,从华为官网获得一张拨号成功图示如下:
④、锁频。在拨号成功之后为了保证频点一致性,对该频率进行锁频操作。
锁频命令:"AT^FREQLOCL=1,"04",500,,,2"
"AT^FREQLOCK=<n>,[<mode>,<freq>,<band>,<psc>,<pci>]",该命令用于查询、开启或关闭锁频功能。设置命令用于开启或关闭锁频功能,读命令用于查询锁频的当前状态信息。其中:
<n>:整数类型,表示锁频功能是否启用;0-关闭锁频功能(默认值),1-开启锁频功能
<mode>:字符串类型,表示当前锁频的网络制式;"01"-GSM,"02"-WCDMA(默认值),"03"-LTE,"04"-CDMA 1X,"05"-TD-SCDMA,"06"-Wimax,"07"-CDMA EVDO
<freq>:整数类型,表示当前锁定的频率值
<band>:字符串类型,表示锁频的频段。用于区分频点重复的频段。只在GSM制式下才可以设置。"00"-850,"01"-900,"02"-1800,"03"- 1900
<psc>:整数类型,表示WCDMA制式下主扰码和TD-SCDMA制式下的扰频参数。该参数可选,未设置表示仅开启锁频功能,设置表示既开启锁频功能,又设定扰频码
<pci>:整数类型,表示物理小区ID,取值范围为0~503,仅在LED制式下有效
⑤、查询网络状态。命令:"AT^LENDC?"
该命令用来查询LTE主模下,当前网络中ENDC双连接状态。终端需要保证在LTE模式下使用该命令,其余模式查询回复失败。返回值:
^LENDC:<enable>,<endc_available>,<endc_plmn availiable>,<endc_restricted>,<nr_pscell>
<enable>:整形值,默认为0;0-禁止主动上报,1-使能主动上报
<endc_available>:整形值,当前小区是否支持endc模式;0-表示不支持,1-表示支持
<endc_plmn_available>:整型值,当前小区所选择的PLMN是否支持endc模式;0-不支持,1-支持
<endc_restricted>:整型值,LNAS注册accept消息中ENDC能力bit 位
<nr_pscell>:整型值,当前Pscell是否为NR(即是否进入ENDC双连接装填);0-非ENDC状态,1-ENDC已经建立
⑥、查询注册小区,命令:"AT+CGREG?",该命令的详解请参照《MH5000系统5G模块AT命令手册》
⑦、查询信号强度。
主动查询命令:"AT^HCSQ?",该命令用于查询和主动上报当前服务网络的信号强度,如果模块当前已经注册多个服务网络,可以同时查询各个模式下的信号强度。命令具体返回强度请参照《MH5000系统5G模块AT命令手册》中对该命令的详解。
查询所有信号命令:"AT^CERSSI?",查询能够检测到的所有服务网络的信号强度。命令具体返回强度请参照《MH5000系统5G模块AT命令手册》中对该命令的详解。
5、速率测试
网络连接完成之后,需要对终端的上下行速率进行测试。根据华为官网推荐使用点对点灌包测试工具iperf3,该测试工具能够测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失.对于每个测试,它都会报告带宽,丢包和其他参数。
测试脚本:
a、UDP不分片
客户端:iperf3 -u -c 3.15.3.18 -i 1 -t 1200 -l 1300 -b 90M
服务器:iperf3 -s
b、TCP多流
客户端:iperf3 -c 3.15.3.4 -i 1 -l 1300 -t 1200 -P 8
服务器:iperf3 -s
c、TCP单流
客户端:iperf3 -c 3.15.3.4 -i 1 -l 1300 -t 1200
服务器:iperf3 -s
3、低功耗设置及可能用到的命令
1、远程唤醒模块,从主机唤醒。命令:"AT^WAKEUPCFG"。
该命令用来使能或禁止模块的远程唤醒功能,同时配置模块的远程唤醒方式和唤醒源。
①、配置命令:"AT^WAKEUPCFG=<n>,[<channel>],[<source>]"
<n>:使能或禁止远程唤醒功能;0-关闭唤醒功能,1-使能远程唤醒功能
<channel>:远程唤醒通道,长度为1个字节(8bits),可配置8个唤醒通道。输入格式采用十进制,每个bit可控制一个通道。默认值为0x03(Wake up Pin + USB)
<source>:远程唤醒源,长度为2字节(16bits),输入方式采用十进制,每个bit可控制一个唤醒源。具体唤醒源参考《MH5000系统5G模块AT命令手册》。
2、调整模块相关睡眠参数。命令:"AT^SLEEPCFG=<param>,<value>"。
该命令用于调整模块睡眠先关参数,来保证模块可以响应主机对模块睡眠的不同配置。
<para>:设定睡眠配置项;0-模块通过PIN唤醒主机时,SMS上报延迟配置;1-当UART无数据时,允许UART睡眠的延迟配置。
<value>:设置某个配置项对应的参数。para为0,有效取值0~5000,单位为ms,默认2000。para为1,有效取值1~3600,单位为s,默认为10。
3、设置操作模式。命令:"AT+FUNC=[<func>],[<rst>]"。
执行该命令用于设置模块的模式或重启模块。
<func>:设置模式;0-设置为最小功能模式,1-设置为online模式(默认值),4-设置为offline模式,5-设置为FTM模式,6-重启模块,7-设置关闭射频
<rst>:是否在设置前重启模块;0-设置前不重启模块(默认值),1-设置前重启模块(<func>的设置必须为1)
4、关闭MH5000电源。命令:"AT^MSO=value".
执行该命令时,5G模块将等待value秒,然后注销网络,保存用户数据,最后关机。如果没有value,表示立即关机。
5、控制GPIO状态。命令:"AT^IOCTRL=<sel>,<options>,<value>"
<sel>:使能GPIOs
<sptions>:设置GPIO模式
<value>:GPIO设置为输出模式时,该值可设置。个命令字具体配置请参考《MH5000系统5G模块AT命令手册》。
6、查询当前系统信息。命令:"AT^SYSINFOEX"
该命令用于查询当前系统信息,如系统服务状态、域、是否漫游,系统模式,SIM卡状态。具体返回值参考《MH5000系统5G模块AT命令手册》。
7、PC查询DHCP相关IP值,包括主机IP地址、默认网关、子网掩码和DHCP服务器。命令:"AT^DHCP?"
查询IP地址时须在执行拨号命令5s后下发该指令。
8、查询单板温度。命令:"AT^CHIPTEMP?"
该命令用于查询单板温度,如GSM PA、WCDMA PA、LTE PA、SIM卡,电池和晶振的温度。返回结果查看《MH5000系统5G模块AT命令手册》。
9、保存用户设置信息到profile中,可通过命令ATZ恢复设置。保存命令:"AT&W"
10、查询用户设置信息。命令:"AT&V"