介绍
模块提供了方法来检测模组的网络状态是否已经就绪,同时提供了网络异常的排查方法与步骤
等待网络就绪:checkNet.waitNetworkReady
- 等待模组网络就绪。该方法会依次检测SIM卡状态、模组网络注册状态和PDP Context激活状态;在设定的超时时间之内,如果检测到PDP Context激活成功,会立即返回,否则直到超时才会退出。
checkNet.waitNetworkReady(timeout)
- timeout - 超时时间,整型值,范围1~3600秒,默认60秒
- 返回值描述:返回一个元组,格式为:(stage, state)
参数 | 类型 | 含义 |
---|---|---|
stage | 整型 | 表示当前正在检测什么状态: 1 - 正在检测SIM卡状态; 2 - 正在检测网络注册状态; 3 - 正在检测PDP Context激活状态。 |
state | 整型 | 根据stage值,来表示不同的状态,具体如下: stage = 1时,state表示 SIM卡的状态,范围0-21,每个状态值的详细说明,请参考sim.getStatus()方法的返回值说明; stage = 2时,state表示网络注册状态,范围0-11,每个状态值的详细说明,请参考net.getState()方法的返回值说明; stage = 3时,state表示PDP Context激活状态,0表示没有激活成功,1表示激活成功。 |
- 如果网络已经就绪,则返回(3,1),否则可参考如下说明来排查定位问题
stage | state | 说明 |
---|---|---|
1 | 0 | 说明没插卡,或者卡槽松动,需要用户去检查确认。 |
1 | 其他值 | 请参考官方wiki文档中关于sim卡状态值的描述,确认sim卡当前是哪种状态。 |
2 | -1 | 这种情况说明在超时时间内,获取模组网络注册状态的API一直执行失败,在确认SIM卡可正常使用且能正常被模组识别的前提下,可联系我们的FAE反馈问题。 |
2 | 0或2 | 这种情况说明在超时时间内,模组一直没有注网成功,这时请按如下步骤排查问题: (1)首先确认SIM卡状态是正常的,通过 sim 模块的sim.getStatus()接口获取,为1说明正常; (2)如果SIM卡状态正常,确认当前信号强度,通过net模块的net.csqQueryPoll()接口获取,如果信号强度比较弱,那么可能是因为当前信号强度较弱导致短时间内注网不成功,可以增加超时时间或者换个信号比较好的位置再尝试; (3)如果SIM卡状态正常,信号强度也较好,请确认使用的SIM卡是否已经欠费或流量不足; (4)如果SIM卡没有欠费也没有流量不足,请确认使用的是否是物联网卡,如果是,请确认该SIM卡是否存在机卡绑定的情况; (5)如果按照前述步骤依然没有发现解决问题,请联系我们的FAE反馈问题;最好将相应SIM卡信息,比如哪个运营商的卡、什么类型的卡、卡的IMSI等信息也一并提供,必要时可以将SIM卡寄给我们来排查问题。 |
2 | 其他值 | 请参考官方Wiki文档中net.getState()接口的返回值说明,确认注网失败原因。 |
3 | 0 | 这种情况说明在超时时间内,PDP Context一直没有激活成功,请按如下步骤尝试: (1)通过 sim 模块的sim.getStatus()接口获取sim卡状态,为1表示正常; (2)通过 net 模块的net.getState()接口获取注网状态,为1表示正常; (3)手动调用dataCall.activate(profileID)接口尝试激活,看看能否激活成功; (4)如果手动激活成功了,但是开机自动激活失败,可联系我司相关人员协助分析。 |
3 | 1 | 这是正常返回情况,说明网络已就绪,可进行网络相关业务操作。 |