常见问题解答

问题1:为什么要配置APN?

APN是终端入网时必须配置的一个参数,它决定了终端通过哪种接入方式来访问网络。所有运营商都有其特定的APN,通常运营商的基站都有APN自动纠错功能,即终端在入网时,如果没有配置APN或者配置了错误的APN,运营商的基站会自动纠正并下发一个正确的APN给终端,此时终端会选择接受并使用该APN继续入网。但是有些特殊情况,用户是必须主动配置APN,终端才能正常入网。下面列出了几种必须配置APN的情况。

  • 有的运营商在一些区域的基站没有APN自动纠错功能,此时如果终端设备没有配置APN或者配置了错误的APN,会导致终端设备入网失败。我们没法提前知道某个基站是否具有APN自动纠错功能,因此建议用户不要依赖基站的APN自动纠错功能。
  • 对于一些特殊的SIM卡,比如专网卡,如果没有配置APN,会导致终端设备入网失败,在小区上发起附着请求(Attach Request)时就会被拒绝。这种特殊的SIM卡,必须要先配置APN。
  • 还有一类特殊的SIM卡,既可以连接公共网络(比如互联网),也可以连接专网。其连接不同网络的方式就是通过配置不同的APN来实现。

综上所述,我们建议用户,无论使用的是什么SIM卡,都主动去配置APN。

问题2:如何知道使用的SIM卡的APN信息?

可以和运营商进行确认。

问题3:为什么没有配置APN或者配置错误的APN也能激活成功?

因为有的运营商的基站有APN自动纠错功能,即终端在入网时,如果没有配置APN或者配置了错误的APN,运营商的基站会自动纠正并下发一个正确的APN给终端,此时终端会选择接受并使用该APN继续入网。

目前在中国境内,大部分地区的基站应该都有此功能,也有一些没有。由于我们无法提前确认哪些基站有这个功能,因此我们不建议用户依赖运营商基站的APN自动纠错功能,最好在使用时,主动配置正确的APN。

问题4:SIM卡可以识别,但是无法注网是什么原因?

这种情况相对比较复杂,参考前面一个章节《网络异常处理》中的模组网络注册失败部分,这里仅列出比较常见的几种原因:

  • 没接射频天线或者射频天线性能差。
  • 该SIM卡需要配置APN才能注册到网络,但是用户没有配置APN。
  • 该SIM卡存在机卡绑定的情况。需要用户联系运营商给该SIM卡解绑,或者更换新的SIM卡。
  • 测试地点没有该SIM卡对应的运营商网络覆盖。
  • 该SIM卡只支持特定频段网络。
  • 该SIM卡只支持特定的网络制式。
  • 设备硬件问题,比如硬件设计问题导致干扰大、模组射频相关器件损坏等。

问题5:无线网卡激活成功,但是无法进行网络业务可能是什么原因?

一般有下面两种情况可能会导致这种问题:

  • SIM卡欠费了。有的SIM卡在欠费时,模组使用这张SIM卡也能成功注册到网络,并成功激活蜂窝无线网卡,但是运营商会限制模组进行网络通信。

  • 用户这张SIM卡支持通过特定的APN接入到特殊的网络,并且用户配置的也是接入特殊网络的APN,此时设备接入的是特殊网络,并非互联网。用户可能在这种情况下进行了访问互联网的操作,那么就会出现访问失败的情况。

问题6:使用蜂窝无线网卡的自动重连功能,模组正常运行过程中因为一些原因导致网络连接断开,后面自动重连成功后,Socket、HTTP和MQTT这些功能需要重新初始化吗?

首先我们需要知道,模组因为网络异常导致连接断开后,如果自动重连成功,那蜂窝无线网卡的IP地址已经发生了变化。此时Socket、HTTP和MQTT这些功能处理情况如下:

  • Socket

    在创建soket对象时,系统会默认自动为其绑定蜂窝无线网卡的当前IP。当峰窝无线网卡的IP地址变化后,之前的socekt失效,需要用户先关闭之前socket,然后重新创建一个socket对象,才能正常使用。

  • HTTP

    HTTP是基于socket实现的一种短连接服务,每一次调用HTTP的方法,其实都重新创建了一个socket对象。因此自动重连功能对HTTP功能没有影响,用户可直接使用。

    HTTP方法中创建的socket对象,在用户获取响应后(response.text & response.content & response.json),系统会自动关闭socket对象,如果用户没有获取响应,则需要用户主动调用接口response.close关闭连接,才可以关闭socket对象。

  • MQTT

    QuecPython的MQTT客户端具备自动重连功能,即当MQTT客户端发现网络连接断开后,在模组的蜂窝无线网卡自动重连时,MQTT客户端会自动重新初始化,并自动按照之前的订阅信息重新订阅相关Topic。因此在蜂窝无线网卡自动重连后,用户不需要重新初始化MQTT客户端,可以继续正常使用。