今天遇到4G模块内部拨号无法上网的问题:
现象: 同样的固件, ping外网,开发板正常, 自己的板子不行
百思不得其解!
找技术支持, 2分钟搞定!
无他: 拨号接入点设置不对
开发板时别人用过的, 已经使用AT指令设置过了
正常的设置如下:
AT+cgdcont?
+CGDCONT: 1,"IP","CMNET","0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 4,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 6,"IPV4V6","3gnet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
不知道为什么必须使用第6路, 反正照做就是了!
重新看了下PDF中关于PPP拨号点的说明:
4.2 PPP 拨号指令
PPP 拨号是一种传统的拨号形式。一般情况下主机系统有一个 PPP 协议栈程序负责和模块交互。这里主要介绍 Linux 系统。
Linux 系统下主机一般通过 PPPD 进程和模块交互,开始拨号的时候 PPPD 通过 chat 程序和模块先进行 AT 交互,确认模块的状态或者设置一些参数,然后通过 ATD*99#拨号,进入 PPP协商模式。
4.3 2G/3G/4G 下的 PPP 拨号处理
(1)2G 模式
包含中国移动 GSM,中国联通 GSM 和中国电信 CDMA2000。
中国移动 GSM 或者中国联通 GSM 公网不需要特殊的配置。
中国移动 GSM 或者中国联通 GSM 专网:
通过 chat 脚本设置 AT+GGDCONT=1,“IP”, “apn”
通过 ppp 脚本设置好用户名和密码
user “usrname”
password “password”
中国电信 CDMA2000 公网:
通过 ppp 脚本设置好用户名和密码
user “ctnet@mycdma.cn”
password “vnet.mobi”
中国电信 CDMA2000 专网:
通过 ppp 脚本设置好用户名和密码
user “usrname”
password “password”
(2)3G 模式
包含中国移动 TDS,中国联通 WCDMA 和中国电信 EVDO
中国移动 TDS 或者中国联通 WCDMA 公网不需要特殊的配置。
中国移动 TDS 或者中国联通 WCDMA 专网
通过 chat 脚本设置 AT+GGDCONT=1,“IP”, “apn”
通过 ppp 脚本设置好用户名和密码
user “usrname”
password “password”
中国电信 EVDO 公网:
通过 ppp 脚本设置好用户名和密码
user “ctnet@mycdma.cn”
password “vnet.mobi”
中国电信 EVDO 专网:
通过 chat 脚本设置 AT+GGDCONT=1,“IP”, “apn”
通过 ppp 脚本设置好用户名和密码
user “usrname”
password “password”
(3)4G 模式
LTE 公网
不需要特殊的配置
LTE 专网
通过 chat 脚本设置 AT+GGDCONT=1,“IP”, “apn”
通过 ppp 脚本设置好用户名和密码
user “ctnet@mycdma.cn”
password “vnet.mobi”
备注:
AT+CRM 的使用,在 CDMA 和 EVDO 网络下有两种模式:
(1)AT+CRM=0 或者 1 是接力模式,即模块是透传作用,主机 LINUX 透过模块直接和电信服务器进行 PPP 协商。
(2)AT+CRM=2 是网络模式,主机 LINUX 先和模块进行 PPP 交互,然后模块中转 PPP 包和电服务器交互。
两种模式在业务上没有根本区别,可能在时间上有所差别。SIM7100 默认值是 0,SIM7600/SIM7500 默认值是 2,这是高通平台默认值,SIMCom 没有修改