Hello there,
We are using RG255C-GL for an URLLC test and have a few difficulties to get the modems to work the way we intented.
We have them currently in ECM mode, connected over a waveshare hat to a Raspberry Pi via USB.
The network connection is up and the modem is connected to a public (but sliced) mobile network.
The problem we are facing:
We want to do device 2 device tests. Therefore all devices in our slice have fixed IP adresses that are assigned from the mobile network. In ECM mode however, we don’t have direct access to this ip, nor can we open ports from the device to this interface. Can you help? Is there a way to change the ecm mode in a way, that we get direct access (without the NAT)?
We are using ECM because we could not get qmi to work (which we use on other devices). If you have suggestions to use other modes, please provide a detailed description on how these can be setup. It was quit the hassle to setup the drivers for ecm mode. Any other mode would require effort which we would like to avoid if possible.
I think you have two choice.
- ECM with IPPT
- RMNET with qmi_wwan.
Actually the RG255C also support the QMI. But the problem is that it does not support DHCP.
You can try the quectel-CM. I think this is the best one.
If you insist on using ECM, please check the firmware version you tried support IPPT or not.
AT+QMAP=“mPDN_rule”
Hello @Bean.Wang-Q ,
We are using ECM at the moment, because it was the only one we got working. AT+QMAP=“mPDN_rule” Does not exist, so I assume the current firmware RG255CGLABR01A04M4G_A0.002.A0.002 is not uptodate?
thank you for the reply. We tried using RMnet with quectel-CM but it does not work:
[12-16_10:06:01:718] Quectel_QConnectManager_Linux_V1.6.0.12
[12-16_10:06:01:719] Find /sys/bus/usb/devices/1-1.2 idVendor=0x2c7c idProduct=0x316, bus=0x001, dev=0x003
[12-16_10:06:01:719] network interface ‘’ or qmidev ‘’ is not exist
[12-16_10:06:01:720] qmidevice_detect failed
[12-16_10:06:01:720] qmidevice_detect failed
If there is a newer version of Quectel-CM, can you provide it?
For rmnet, you need the lastest qmi_wwan_q and QConnectManager. Please check the message I sent.
Hello @Bean.Wang-Q ,
Yes this did it
Thanks a lot
You are welcome.
The rmnet of the RG255C should be work with the QConnectManager later than 1.6.7 because it does not support DHCP.
It is working fine. We are doing performance test, or better said, stability tests with the modems. They were very stable in ECM, now we will evaluate rmnet.
Thanks for your help, Topic can be closed as solved.
OK. Maybe the later version if it support
AT+QMAP=“mPDN_rule”
it might support ECM with IPPT.
Hello @Bean.Wang-Q ,
we have upgraded our system and are seeing some driver problems now. Are there newer versions available of QConnectManager v1.6.7. and Quectel_Linux_Android_QMI_WWAN_Driver_V1.2.9 ?
That is still the lastest firmware version.
Hi again @Bean.Wang-Q ,
I have managed to get the modem working again. I needed to recompile the kernel, but then it worked.
However, the modem is only working in 4G (LTE) Mode. When I switch to 5G (NR) the qm loses the connection and i get these errors:
Dez 01 14:50:41 quectel-CM[3043]: [12-01_14:50:41:476] requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
Dez 01 14:50:41 quectel-CM[3043]: [12-01_14:50:41:476] call_end_reason is 1
Dez 01 14:50:41 quectel-CM[3043]: [12-01_14:50:41:476] call_end_reason_type is 2
Dez 01 14:50:41 quectel-CM[3043]: [12-01_14:50:41:476] call_end_reason_verbose is 241
What is strange, when i use AT Command, everything looks fine. I can see the 5g servingcell, AT+C5GREG?=0,1 and i can use QPING to ping 8.8.8.8
But the cm will not establish the connection on OS level.
any idea what i can do?
It means a internel error.
Please do not run AT+QIACT=1 and quectel-CM at the same time.
Hello @Bean.Wang-Q ,
Thank you for the quick response. We are not using AT+QIACT, at least not that we are aware of. Any other ideas why 4G is working and 5G isn’t, even though the connection is available, looking at the AT commands?
QMI_WDS_VERBOSE_CALL_END_REASON_INTERNAL_INTERFACE_IN_USE_CONFIG_MATCH = 241,
libqmi/src/libqmi-glib/qmi-enums-wds.h at main · linux-mobile-broadband/libqmi
But it didn’t give us an explicit reason.
Hello @Bean.Wang-Q
Following update:
I changed the modem to AT+QCFG=“usbnet”,0 but the failure persists.
I try to compile the qmi_wwan_q.c but fail to compile because of incompatible types.
qmi_wwan_q.c:848:48: error: incompatible type for argument 4 of ‘usb_cdc_wdm_register’
848 | 4096, &qmi_wwan_cdc_wdm_manage_power);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct usb_interface *, int)
In file included from qmi_wwan_q.c:21:
/usr/src/linux-headers-6.14.0-29-generic/include/linux/usb/cdc-wdm.h:16:74: note: expected ‘enum wwan_port_type’ but argument is of type ‘int (*)(struct usb_interface *, int)’
16 | int bufsize, enum wwan_port_type type,
| ~~~~~~~~~~~~~~~~~~~~^~~~
qmi_wwan_q.c:847:21: error: too few arguments to function ‘usb_cdc_wdm_register’
847 | subdriver = usb_cdc_wdm_register(info->control, &dev->status->desc,
| ^~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.14.0-29-generic/include/linux/usb/cdc-wdm.h:14:27: note: declared here
14 | extern struct usb_driver *usb_cdc_wdm_register(struct usb_interface *intf,
| ^~~~~~~~~~~~~~~~~~~~
qmi_wwan_q.c: In function ‘qmi_wwan_bind’:
qmi_wwan_q.c:984:39: error: assignment of read-only location ‘*dev->net->dev_addr’
984 | dev->net->dev_addr[0] |= 0x02; /* set local assignment bit */
| ^~
qmi_wwan_q.c:985:39: error: assignment of read-only location ‘*dev->net->dev_addr’
985 | dev->net->dev_addr[0] &= 0xbf; /* clear "IP" bit */
| ^~
Maybe there is a newer driver available? (currently I’m having Version 1.1)
I’m using Linux 6.14.0-29. Do I need to compile the qmi driver at all?
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 004: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 001: Dev 003, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 001: Dev 003, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 001: Dev 003, If 3, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
Many thanks!
Fabian
Please try the QConnectManager 1.6.8 for try.
Dear @Bean.Wang-Q
Many thanks for your quick reply and the newest version of QConnectMgr.
This looks much better. Now I have the following situation:
> [09-09_16:03:33:323] QConnectManager_Linux_V1.6.8
> [09-09_16:03:33:324] Find /sys/bus/usb/devices/1-4.1 idVendor=0x2c7c idProduct=0x316, bus=0x001, dev=0x003
> [09-09_16:03:33:324] Auto find qmichannel = /dev/cdc-wdm0
> [09-09_16:03:33:324] Auto find usbnet_adapter = wwan0
> [09-09_16:03:33:325] netcard driver = qmi_wwan, driver version = 6.14.0-29-generic
> [09-09_16:03:33:325] Modem works in QMI mode
> [09-09_16:03:33:359] cdc_wdm_fd = 7
> [09-09_16:03:33:663] Get clientWDS = 2
> [09-09_16:03:33:696] Get clientDMS = 1
> [09-09_16:03:33:728] Get clientNAS = 2
> [09-09_16:03:33:759] Get clientUIM = 2
> [09-09_16:03:33:791] Get clientWDA = 1
> [09-09_16:03:33:824] requestBaseBandVersion RG255CGLABR01A04M4G
> [09-09_16:03:33:952] requestGetSIMStatus SIMStatus: SIM_READY
> [09-09_16:03:33:985] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
> [09-09_16:03:34:016] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
> [09-09_16:03:34:048] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
> [09-09_16:03:34:048] ip addr flush dev wwan0
> [09-09_16:03:34:054] ip link set dev wwan0 down
> [09-09_16:03:34:079] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
> [09-09_16:03:34:111] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
> [09-09_16:03:34:145] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
> [09-09_16:03:49:152] requestRegistrationState2 MCC: 228, MNC: 1, PS: Detached, DataCap: UNKNOW
I couldn’t find any helpful information in the QConnectManager Linux User Guide v1.0.
I have configured the apn:
AT+CGDCONT=1,"IPV4V6","em"
I played with “AT+QMAPWAC=1” as I ready this might help but I couldn’t find a description in the AT-Command Manual so I don’t know what it’s there for.
MCC and MNC Codes fit to supported operators.
Could you help me any further what I could try in order to establish a registration in a network?
Many thanks!
Regards,
Fabian
It is not registerred in LTE or 5G network.