5G模块拨号流程

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"

  

猜你喜欢

转载自www.cnblogs.com/xinyin/p/12389212.html