Linux上关于4G拨号问题排查进度以及4G守护进程思路
关于4G拨号问题排查进度以及4G守护进程思路
4G连接失败后全流程排查的方法。 从连接开始到ping网全过程。 以ec20/25 模块为例子
1、模块是否正常加载
查看模块的节点和设备是否存在
root@imx6qsabresd:~# ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB2 /dev/ttyUSB4 /dev/ttyUSB6
/dev/ttyUSB1 /dev/ttyUSB3 /dev/ttyUSB5
root@imx6qsabresd:~# lsusb
Bus 002 Device 004: ID 0b95:772b
Bus 002 Device 003: ID 1a86:7523
Bus 002 Device 005: ID 2c7c:0125
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 002: ID 1a40:0101
Bus 002 Device 001: ID 1d6b:0002
可能出现模块加载异常的原因:
模块供电问题、复位引脚移植被拉高、模块本身问题
2、是否插卡
4G模块的AT指令检测卡的状态或者拨号阶段卡的状态识别
cat /dev/ttySB2 &
echo -e "AT+QCCID\r\n" >/dev/ttyUSB2 //查询SIM卡
echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2 //重启模块
root@imx6qsabresd:~# busybox microcom /dev/ttyUSB2
ATE1
OK
AT+CPIN?
+CPIN: READY //有卡:+CPIN: READY
无卡:+CME ERROR: 10
OK
AT+QCCID
+QCCID: 898607F0032290008784 //查询sim卡ID
OK
root@imx6qsabresd:~# /forlinx/cmdbin/quectel-CM
[01-04_09:28:57:763] WCDMA<E_QConnectManager_Linux&Android_V1.1.34
[01-04_09:28:57:765] /forlinx/cmdbin/quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)
[01-04_09:28:57:767] Find /sys/bus/usb/devices/2-1.1 idVendor=2c7c idProduct=0125
[01-04_09:28:57:767] Find /sys/bus/usb/devices/2-1.1:1.4/net/usb0
[01-04_09:28:57:767] Find usbnet_adapter = usb0
[01-04_09:28:57:768] Find /sys/bus/usb/devices/2-1.1:1.4/GobiQMI/qcqmi0
[01-04_09:28:57:768] Find qmichannel = /dev/qcqmi0
[01-04_09:28:57:797] Get clientWDS = 7
[01-04_09:28:57:829] Get clientDMS = 8
[01-04_09:28:57:861] Get clientNAS = 9
[01-04_09:28:57:893] Get clientUIM = 10
[01-04_09:28:57:925] Get clientWDA = 11
[01-04_09:28:57:957] requestBaseBandVersion EC25EUXGAR08A09M1G
[01-04_09:28:58:053] requestGetSIMStatus SIMStatus: SIM_READY //SIM识别到了
[01-04_09:28:58:085] requestGetProfile[1] cmnet///1
[01-04_09:28:58:117] requestRegistrationState2 MCC: 460, MNC: 1, PS: Detached, DataCap: UNKNOW
[01-04_09:28:58:149] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED //注册网络失败
[01-04_09:28:58:213] requestRegistrationState2 MCC: 460, MNC: 1, PS: Detached, DataCap: UNKNOW
[01-04_09:29:03:268] requestRegistrationState2 MCC: 460, MNC: 1, PS: Detached, DataCap: UNKNO
可能出现sim卡识别不到的原因:
没插卡,没插好卡(触电是否接触良好,其他划痕),sim卡的供电io是否提供。 软件重启识别sim卡是通过CFUN的命令重新连接,不建议使用rst重新复位4G模块,因为4G模块本身的flash是由寿命的(擦写10万次)。
AT+CFUN=<fun>
<fun> :
0 Minimum functionality
1 Full functionality (Default)
4 Disable the ME from both transmitting and receiving RF signals
3、是否注册网
root@imx6qsabresd:~# busybox microcom /dev/ttyUSB2
ATE1 //回显
OK
AT+CREG?
+CREG: 0,2 //+CREG: 0,1 第二位必须为1或5,否则注网失败
+CEREG: 0,1 第二位必须为1或5,否则注网失败
OK
可能出现注册网络失败的原因:
信号强度、sim卡锁卡、sim卡欠费。
4、信号强度
root@imx6qsabresd:~# busybox microcom /dev/ttyUSB2
ATE1 //回显
OK
AT+CSQ
+CSQ: 28,99 //对于4G来说,意义不大,还包括噪声和无用信号
OK
AT+QENG="SERVINGCELL"
+QENG: "servingcell","NOCONN","LTE","FDD",460,00,BEB3D41,445,1300,3,5,5,3193,-87,-13,-54,2,32 // -87的值为rx,为设备接受功率,必须在-110及上才是算信号好(大于110)。
OK
可能出现信号强度弱的原因:
没插天线、天线连接线断了、注网到信号弱的区域/附近信号弱。
5、拨号是否成功
root@imx6qsabresd:~# busybox microcom /dev/ttyUSB2
AT+QNETDEVSTATUS?
+QNETDEVSTATUS: 0,2,4,1 //第二位必须为1或者2
//+QNETDEVSTATUS: 0 拨号失败
OK
可能出现拨号失败的原因:
信号弱、APN,用户名密码设置不正确。
6、拨号成功无法获取ip
ifocnfig //查看是否获取到ip
udhcp //看是否报错
dhclient //是否报错
肯能的原因:
udhcpc的lease被其他应用占用,导致分配到ip无法写入lease里,或无法删除旧的lease文件。duclient的lease文件错误,手动删掉旧lease,看能否恢复
7、获取ip后
看路由表,pingDNS服务器,看是否是网络不可达。
以上如有缺失和问题,请及时反馈