调试4g模块,AT命令的使用

借鉴于:EC20-4G模块使用AT指令分析设备网络异常原因_ec20模块连接不上 电信专网-CSDN博客

目录

一、简介

二、模式的切换:

三、AT命令


一、简介

在调试4g模块的时候,我们手里的模块其实支持4种上网模式,分别是rmnet,ecm,mbim,rndis。

所以你需要确定你要使用哪种上网模式,这时就可以使用AT命令来切换。

二、模式的切换:

0:rmnet模式
    通过QMI工具发的QMI命令,获取公网IP。这种模式可以配合usb_ecm驱动或高通GobiNet驱动使用。
1:ecm模式
    通过标准的CDC-ECM发起data call,是发送标准的ECM命令,获取局域网ip。这种模式配合cdc_ether驱动使用
2:mbim模式
    Mobile Broadband Interface Model,正宗的移动宽带接口模型,专门用于3G/4G/5G模块的,只在win8以上的windows上使用。一般只在WINDOWS下使用。
3:rndis模式
    基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡获取局域网ip。这种方式最简单,模块插上手机卡之后,模块会自动拨号上网。

切换方法:

        通过串口发送AT命令:

echo -e "AT+QCFG=\"usbnet\",0\r\n" > /dev/ttyUSB2	#设定模式0~3
	
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2             #重启模块

将数字替换为对应模式的数字即可完成切换。

这里用到了"echo -e" 的格式命令,这对于操作设备的debug串口,和shell端来讲是必需的;不同于AT命令的指导文档,直接是输入"AT+XXX"这种,那是因为它是直接在安装好的at工具上输入的,如果你在shell端直接输入AT的命令,那一定会报错。

        使用RNDIS模式时,可以使用以下命令设置连接APN:

echo -e "AT+CGDCONT=1,\"IPV4V6\",\"3gnet\"\r\n" > /dev/ttyUSB2   #设置上下文
echo -e "AT+CGACT=1,1\r\n" > /dev/ttyUSB2     #激活上下文
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2        #重启模块

        其实在切换成rndis的时候后,这3条我都没有用到,因为我在切换为rndis后,模块就没有正常加载了,只发现了ttyUSB0、ttyUSB1这2个,所以这3条根本没有用上。但是这时ifconfig -a却可以看到出现了usb0,wwan0,2个网口节点,而且都无法加载;并且想要切换回其他上网模式也切换不了了。(这里个人认为应该是模块内部的信息出问题了,得找厂商)

Tips 1

可通过网口节点的区别,来确认你的上网模式:

usb0 : 这里用到的是通过驱动cdc_ether来加载 ,一般是ecm模式;

wwan0 :这里用到的是通过驱动qmi_wwan来加载,一般是rmnet模式;

三、AT命令

有时在调试4G模块时,遇到模块无法联网的现象,不清楚具体的流程,没办法分析不同的场景问题时,下面推送了一些常用的AT命令来分析设备网络异常的原因,以下为实操,ec20为例:

1.查看版本,确认模块已开机-ATI,没有应答,请检查4g模块是否开机

vz_ds_k58:/ # cat /dev/ttyUSB2 & echo -e "ATI \r\n" > /dev/ttyUSB2
Quectel
EC20F
Revision: EC20CEHDLGR06A07M1G
OK
vz_ds_k58:/ #

2.查询SIM卡号,确认SIM卡检测正常-AT+ICCID
没有返回ICCID卡号的话,检查SIM卡是否接好

vz_ds_k58:/ # cat /dev/ttyUSB2 & echo -e "AT+ICCID \r\n" > /dev/ttyUSB2
OK
+ICCID: 89860118801073311905
OK

3.查询当前环境网络信号,确认信号正常
如果CSQ值偏低,请检查 设备当前所处的环境或者天线是否接好

vz_ds_k58:/ # echo -e "AT+CSQ \r\n" >/dev/ttyUSB2
vz_ds_k58:/ # cat /dev/ttyUSB2
+CSQ: 29,99        #第一个参数0-31, 越大越好
OK

4.查询网络设备商状态
如果返回失败的话,那么一般是 运营商基站不让连接;要咨询SIM卡商,SIM卡是否欠费或者被暂停使用

vz_ds_k58:/ # cat /dev/ttyUSB2 & echo -e "AT+COPS? \r\n" > /dev/ttyUSB2
+COPS: 0,0,"CHN-UNICOM",7
+COPS: 0,1,"UNICOM",7
OK

5.查询当前网络注册状态
如果返回失败,说明联网失败;请检查 CSQ信号或者COPS 状态;
这里可以类比一下手机为什么有时候不能联网

vz_ds_k58:/ # echo -e "AT+CGREG? \r\n" >/dev/ttyUSB2
+CGREG: 2,1,"770F","6DC6302",7    # 1-注册成功
OK

到这里的话,已经可以说明网络正常,可以正常收发数据了。

下面是专网卡,要看一下APN和IP,是否是专网预期的:

6.查询APN和IP
这里只需要关心你使用的cid 就行;比如我使用的是 cid-1,那么确认cid1的 APN和IP值正常

# 查询设备APN值
vz_k56_qipai:/ # echo -e "AT+CGDCONT? \r\n" >/dev/ttyUSB2
vz_k56_qipai:/ #
+CGDCONT: 1,"IP","ctnet","0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","ctwap","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
OK

# 查询设备IP值-AT+CGPADDR
vz_ds_k58:/ # echo -e "AT+CGPADDR \r\n" >/dev/ttyUSB2
vz_ds_k58:/ # +CGPADDR: 1,"10.2.231.173"

7.测试网络连接状态
这里有 +QPING 返回的话,则说明网络状态正常

AT+QPING=1,"192.168.1.165"
OK
+QPING: 0,"192.168.1.165",32,37,255
+QPING: 0,"192.168.1.165",32,54,255
+QPING: 0,"192.168.1.165",32,63,255
+QPING: 0,"192.168.1.165",32,55,255
+QPING: 0,4,4,0,37,63,52

第7步,这里若没有ping通,则返回的是error

Tips 2

CTNET         #中国电信
UNIM2M        #中国联通
CMIOT/CMMTM   #中国移动4g/2g    

右上角4g图标下拉后,可识别sim卡的区别

  • 31
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中开发4G模块需要使用适当的库和工具来与4G模块进行通信。以下是一些步骤来利用Python开发4G模块的基本指南: 1. 硬件准备:获取一个4G模块,并确保它与计算机连接良好。这可能需要使用USB连接线或其他适配器。 2. 安装驱动程序:根据你所使用4G模块类型,可能需要安装相应的驱动程序。请参考制造商提供的文档以获取正确的驱动程序。 3. 安装Python库:使用pip命令安装与你的4G模块兼容的Python库。常见的选项包括pyserial、GSM模块等。例如,你可以使用以下命令安装pyserial库: ``` pip install pyserial ``` 4. 编写Python代码:使用所选的Python库,编写代码与4G模块进行通信。例如,你可以使用pyserial库来打开串口连接,发送AT命令并接收响应。 ```python import serial # 打开串口连接 ser = serial.Serial('/dev/ttyUSB0', 115200) # 发送AT命令 ser.write(b'AT\r\n') # 读取响应 response = ser.read_all() print(response) # 关闭串口连接 ser.close() ``` 这只是一个简单的示例,你可以根据你的需求编写更复杂的代码,以实现与4G模块的各种通信功能。 5. 测试和调试:运行你的Python代码,并根据需要进行测试和调试。确保你的代码能够正确地与4G模块通信,并能够满足你的应用需求。 请注意,具体的开发步骤可能会因你所使用4G模块和Python库而有所不同。因此,建议参考相关的文档和教程,以获取更具体的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值