EG25-G QConnect does not work to setup wwan0

System Information

  1. Running Raspberry Pi CM4 in our custom board with EG25-G as part of the board
  2. Module number: EG25GGB-256-SGNS
  3. Connected to CM4 using a USB Link
  4. Both main and diversity antenna connected
  5. OS: Ubuntu Server 20.04 LTS
  6. Kernel Updated and recompiled: 5.4.0-1065-raspi with the changes mentioned in Quectel_LTE&5G_Linux_USB_Driver_User_Guide_V2.0
  7. Driver installed: Quectel_Linux&Android_QMI_WWAN_Driver_V1.1
  8. QC Connect version: Quectel_QConnectManager_Linux_V1.5.9

Current status:

  1. The Device is showing up in ls /dev when the module is turned on using Power key and supply is given to VBUS

  1. We able to setup a TCP communication and HTTP GET etc using AT commands by sending AT Commands on ttyUSB2

Problem

When we run QConnect Manager using the following command to active the modem and get the wwan0 interface running

sudo ./quectel-CM -s "airtelgprs.com"

We get various types of errors

First kind of error, When we have already setup a network connection and PDP context using AT Commands:

[06-15_12:02:27:429] Quectel_QConnectManager_Linux_V1.5.9
[06-15_12:02:27:430] Find /sys/bus/usb/devices/1-1 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x004
[06-15_12:02:27:430] Auto find qmichannel = /dev/cdc-wdm0
[06-15_12:02:27:430] Auto find usbnet_adapter = wwan0
[06-15_12:02:27:430] netcard driver = qmi_wwan, driver version = 22-Aug-2005
[06-15_12:02:27:430] Modem works in QMI mode
[06-15_12:02:27:448] /proc/1455/fd/7 -> /dev/cdc-wdm0
[06-15_12:02:27:448] /proc/1455/exe -> /usr/libexec/qmi-proxy
[06-15_12:02:42:449] force kill /proc/1455/exe -> /usr/libexec/qmi-proxy
[06-15_12:02:44:451] cdc_wdm_fd = 7
[06-15_12:02:44:451] QmiWwanThread read=0 errno: 0 (Success)
[06-15_12:02:45:451] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:47:451] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:49:451] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:51:452] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:53:452] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:55:452] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:57:452] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:02:59:453] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:01:453] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:03:453] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:04:453] qmi_main Failed to qmi init: 22 (Invalid argument)
[06-15_12:03:38:184] Quectel_QConnectManager_Linux_V1.5.9
[06-15_12:03:38:185] Find /sys/bus/usb/devices/1-1 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x004
[06-15_12:03:38:185] Auto find qmichannel = /dev/cdc-wdm0
[06-15_12:03:38:185] Auto find usbnet_adapter = wwan0
[06-15_12:03:38:185] netcard driver = qmi_wwan, driver version = 22-Aug-2005
[06-15_12:03:38:185] Modem works in QMI mode
[06-15_12:03:38:203] cdc_wdm_fd = 7
[06-15_12:03:39:203] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:41:204] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
^C[06-15_12:03:43:204] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
^C^C[06-15_12:03:45:204] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:47:204] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:49:205] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:03:56:391] QMIType 2 has no clientID
[06-15_12:03:56:391] requestBaseBandVersion err = -22
[06-15_12:03:56:391] QMIType 26 has no clientID
[06-15_12:03:56:391] requestSetEthMode err = -22
[06-15_12:03:56:391] QMIType 2 has no clientID
[06-15_12:03:56:391] requestGetSIMStatus err = -22
[06-15_12:03:56:391] requestSetProfile[1] airtelgprs.com///0
[06-15_12:03:56:391] QMIType 1 has no clientID
[06-15_12:03:56:391] requestSetProfile err = -22
[06-15_12:03:56:391] QMIType 1 has no clientID
[06-15_12:03:56:391] requestGetProfile err = -22
[06-15_12:03:56:391] QMIType 3 has no clientID
[06-15_12:03:56:391] requestRegistrationState2 err = -22
[06-15_12:03:56:391] ifconfig wwan0 down
[06-15_12:03:56:405] ifconfig wwan0 0.0.0.0
[06-15_12:03:56:415] QmiWwanThread exit
[06-15_12:03:56:416] qmi_main exit

Second kind of error. When we completely restart everything with power cycle

wwan0 does show up but internet connection does not work

Log from QConnect Manager

[06-15_12:11:01:148] Quectel_QConnectManager_Linux_V1.5.9
[06-15_12:11:01:148] Find /sys/bus/usb/devices/1-1 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x002
[06-15_12:11:01:149] Auto find qmichannel = /dev/cdc-wdm0
[06-15_12:11:01:149] Auto find usbnet_adapter = wwan0
[06-15_12:11:01:149] netcard driver = qmi_wwan, driver version = 22-Aug-2005
[06-15_12:11:01:149] Modem works in QMI mode
[06-15_12:11:01:168] /proc/1254/fd/7 -> /dev/cdc-wdm0
[06-15_12:11:01:168] /proc/1254/exe -> /usr/libexec/qmi-proxy
[06-15_12:11:03:169] cdc_wdm_fd = 7
[06-15_12:11:03:269] Get clientWDS = 17
[06-15_12:11:03:301] Get clientDMS = 1
[06-15_12:11:03:333] Get clientNAS = 3
[06-15_12:11:03:365] Get clientUIM = 2
[06-15_12:11:03:397] Get clientWDA = 1
[06-15_12:11:03:429] requestBaseBandVersion EG25GGBR07A08M2G
[06-15_12:11:03:555] requestGetSIMStatus SIMStatus: SIM_READY
[06-15_12:11:03:555] requestSetProfile[1] airtelgprs.com///0
[06-15_12:11:03:619] requestGetProfile[1] airtelgprs.com///0
[06-15_12:11:03:651] requestRegistrationState2 MCC: 404, MNC: 93, PS: Attached, DataCap: LTE
[06-15_12:11:03:683] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[06-15_12:11:03:684] ifconfig wwan0 down
[06-15_12:11:03:691] ifconfig wwan0 0.0.0.0
[06-15_12:11:03:748] requestSetupDataCall WdsConnectionIPv4Handle: 0x873b44d0
[06-15_12:11:03:876] ifconfig wwan0 up
[06-15_12:11:03:882] Fail to access /usr/share/udhcpc/default.script, errno: 13 (Permission denied)
[06-15_12:11:03:882] busybox udhcpc -f -n -q -t 5 -i wwan0
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending select for 100.116.144.172
udhcpc: lease of 100.116.144.172 obtained, lease time 7200
[06-15_12:11:24:048] QmiWwanSendQMI poll=0, revents = 0x0, errno: 99 (Cannot assign requested address)
[06-15_12:11:54:048] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:11:54:048] requestQueryDataCall err = 110
[06-15_12:11:59:053] QmiWwanSendQMI poll=0, revents = 0x0, errno: 99 (Cannot assign requested address)
[06-15_12:12:29:053] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:12:29:053] requestGetIPAddress err = 110
[06-15_12:12:29:053] requestDeactivateDefaultPDP WdsConnectionIPv4Handle
[06-15_12:12:34:058] QmiWwanSendQMI poll=0, revents = 0x0, errno: 99 (Cannot assign requested address)
[06-15_12:13:04:059] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:13:04:059] requestDeactivateDefaultPDP err = 110
[06-15_12:13:04:059] ifconfig wwan0 down
[06-15_12:13:34:663] ifconfig wwan0 0.0.0.0
[06-15_12:14:10:383] QmiWwanSendQMI poll=0, revents = 0x0, errno: 2 (No such file or directory)
[06-15_12:16:10:383] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:16:10:383] requestSetupDataCall err = 110
[06-15_12:16:10:383] try to requestSetupDataCall 5 second later
[06-15_12:16:20:388] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
^C[06-15_12:18:07:611] requestSetupDataCall err = 0
^C[06-15_12:18:12:838] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
[06-15_12:18:12:838] requestGetIPAddress err = 0
[06-15_12:18:12:838] requestDeactivateDefaultPDP WdsConnectionIPv4Handle
[06-15_12:18:17:843] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
[06-15_12:18:17:843] requestDeactivateDefaultPDP err = 0
[06-15_12:18:22:848] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
[06-15_12:18:27:853] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
^C^C^C^C^C[06-15_12:18:41:327] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)

[06-15_12:18:46:332] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
^C^C


^C^X^X^C[06-15_12:18:58:904] QmiWwanSendQMI poll=0, revents = 0x0, errno: 4 (Interrupted system call)
[06-15_12:19:28:955] QmiWwanThread exit
[06-15_12:19:28:955] qmi_main exit

dmesg logs

[   53.226756] usb 1-1: new high-speed USB device number 2 using dwc2
[   53.444758] usb 1-1: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[   53.444768] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   53.444773] usb 1-1: Product: EG25-G
[   53.444777] usb 1-1: Manufacturer: Quectel
[   53.474620] usbcore: registered new interface driver cdc_wdm
[   53.479716] usbcore: registered new interface driver usbserial_generic
[   53.479746] usbserial: USB Serial support registered for generic
[   53.508709] usbcore: registered new interface driver option
[   53.511318] usbserial: USB Serial support registered for GSM modem (1-port)
[   53.511574] qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
[   53.515271] qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-fe980000.usb-1, WWAN/QMI device, 76:8f:71:a4:ed:5d
[   53.515908] usbcore: registered new interface driver qmi_wwan
[   53.518657] option 1-1:1.0: GSM modem (1-port) converter detected
[   53.522311] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[   53.522881] option 1-1:1.1: GSM modem (1-port) converter detected
[   53.523626] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[   53.524120] option 1-1:1.2: GSM modem (1-port) converter detected
[   53.526637] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[   53.529310] option 1-1:1.3: GSM modem (1-port) converter detected
[   53.530135] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
[   96.135274] dwc2 fe980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[   96.144637] dwc2 fe980000.usb: hcint 0x00000002, intsts 0x04000009

Re Run QConnect Manager again

[06-15_12:25:50:290] Quectel_QConnectManager_Linux_V1.5.9
[06-15_12:25:50:291] Find /sys/bus/usb/devices/1-1 idVendor=0x2c7c idProduct=0x125, bus=0x001, dev=0x002
[06-15_12:25:50:291] Auto find qmichannel = /dev/cdc-wdm0
[06-15_12:25:50:291] Auto find usbnet_adapter = wwan0
[06-15_12:25:50:291] netcard driver = qmi_wwan, driver version = 22-Aug-2005
[06-15_12:25:50:291] Modem works in QMI mode
[06-15_12:25:50:309] /proc/1365/fd/7 -> /dev/cdc-wdm0
[06-15_12:25:50:309] /proc/1365/exe -> /usr/libexec/qmi-proxy
[06-15_12:26:05:310] force kill /proc/1365/exe -> /usr/libexec/qmi-proxy
[06-15_12:26:07:311] cdc_wdm_fd = 7
[06-15_12:26:07:312] QmiWwanThread read=0 errno: 0 (Success)
[06-15_12:26:37:347] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:27:07:347] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:27:12:352] QmiWwanSendQMI poll=0, revents = 0x0, errno: 22 (Invalid argument)
[06-15_12:27:42:352] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:27:47:357] QmiWwanSendQMI poll=0, revents = 0x0, errno: 22 (Invalid argument)
[06-15_12:28:17:357] QmiThreadSendQMITimeout pthread_cond_timeout_np timeout
[06-15_12:28:22:362] QmiWwanSendQMI poll=0, revents = 0x0, errno: 22 (Invalid argument)
^C[06-15_12:28:52:712] QmiWwanSendQMI poll=0, revents = 0x0, errno: 22 (Invalid argument)
[06-15_12:28:52:712] QMIType 2 has no clientID
[06-15_12:28:52:712] requestBaseBandVersion err = -22
[06-15_12:28:52:712] QMIType 26 has no clientID
[06-15_12:28:52:712] requestSetEthMode err = -22
[06-15_12:28:52:712] QMIType 2 has no clientID
[06-15_12:28:52:712] requestGetSIMStatus err = -22
[06-15_12:28:52:712] requestSetProfile[1] airtelgprs.com///0
[06-15_12:28:52:712] QMIType 1 has no clientID
[06-15_12:28:52:712] requestSetProfile err = -22
[06-15_12:28:52:712] QMIType 1 has no clientID
[06-15_12:28:52:712] requestGetProfile err = -22
[06-15_12:28:52:712] QMIType 3 has no clientID
[06-15_12:28:52:712] requestRegistrationState2 err = -22
[06-15_12:28:52:712] ifconfig wwan0 down
[06-15_12:29:22:888] ifconfig wwan0 0.0.0.0
[06-15_12:30:24:315] QmiWwanThread exit
[06-15_12:30:24:315] qmi_main exit

AT Commands show that APN Was set by QConnect Manager
Command used:

AT+QICSGP=1

This command only gives OK which means network connection was not setup and IP was not obtained

AT+QIACT?

So it seems QConnect Manager is not able to activate PDP in the modem

Please first kill this process and try again.