Before March 25, 2025, the firmware and SDK released by Neardi are not adapted for RG255C
by default. Dialing will report the following error:
neardi@LPA3588:~$ sudo quectel-CM
[03-25_12:14:56:463] QConnectManager_Linux_V1.6.5
[03-25_12:14:56:465] Find /sys/bus/usb/devices/7-1.4 idVendor=0x2c7c idProduct=0x316, bus=0x007, dev=0x006
[03-25_12:14:56:471] network interface '' or qmidev '' is not exist
[03-25_12:14:56:472] atdevice_detect failed
[03-25_12:14:56:472] qmidevice_detect failed
This is due to VID, PID not being configured and driver not being updated
Configure VID, PID
SDK modifications as follows:
--- a/kernel/drivers/usb/serial/option.c
+++ b/kernel/drivers/usb/serial/option.c
@@ -2174,6 +2174,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(0x2C7C, 0x0620) }, /* Quectel EG20 */
{ USB_DEVICE(0x2C7C, 0x0800) }, /* Quectel RG500Q/RM500Q/RG510Q/RM510Q */
{ USB_DEVICE(0x2C7C, 0x0900) }, /* Quectel RG500U */
+ { USB_DEVICE(0x2C7C, 0x0316) }, /* Quectel RG255C */
#endif
{ } /* Terminating entry */
};
@@ -2263,7 +2264,7 @@ static int option_probe(struct usb_serial *serial,
return -ENODEV;
//Quectel EC25&EC21&EG91&EG95&EG06&EP06&EM06&BG96&AG35&EG12&EG18's interface 4 can be used as USB network device (qmi,ecm,mbim)
- if((idProduct != 0x6002) &&(idProduct != 0x6000) && (idProduct != 0x6026)&& (idProduct != 0x0900)
+ if((idProduct != 0x6002) &&(idProduct != 0x6000) && (idProduct != 0x6026) && (idProduct != 0x0900) && (idProduct != 0x0316)
&&serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
return -ENODEV;
Update qmi_wwan_q Driver
qmi-wwan-q.c (77.4 KB)
Replace to sdk/kernel/drivers/net/usb/qmi_wwan_q.c
Recompile Kernel and Flash
./build.sh kernel //kernel will be generated in sdk/rockdev/boot.img
Method to flash boot.img
separately:
Select in flashing tool: Download image, discover loader device, click device partition table (must be executed, if there’s an error prompt, click confirm), check boot, import boot.img, execute
Try Dialing Again
Reports Segmentation fault
error, log as follows:
neardi@LPA3588:~$ sudo quectel-CM
[03-25_12:25:44:455] QConnectManager_Linux_V1.6.5
[03-25_12:25:44:457] Find /sys/bus/usb/devices/7-1.4 idVendor=0x2c7c idProduct=0x316, bus=0x007, dev=0x004
[03-25_12:25:44:457] Auto find qmichannel = /dev/cdc-wdm0
[03-25_12:25:44:457] Auto find usbnet_adapter = wwan0
[03-25_12:25:44:457] netcard driver = qmi_wwan_q, driver version = V1.2.7_beta0315
[03-25_12:25:44:458] qmap_mode = 1, qmap_version = 5, qmap_size = 16384, muxid = 0x81, qmap_netcard = wwan0
[03-25_12:25:44:458] Modem works in QMI mode
[03-25_12:25:44:481] cdc_wdm_fd = 7
[03-25_12:25:44:556] Get clientWDS = 9
[03-25_12:25:44:588] Get clientDMS = 1
[03-25_12:25:44:620] Get clientNAS = 3
[03-25_12:25:44:652] Get clientUIM = 2
[03-25_12:25:44:684] Get clientWDA = 1
[03-25_12:25:44:716] requestBaseBandVersion RG255CCNAAR01A05M4G
[03-25_12:25:44:748] requestSetEthMode QMUXResult = 0x1, QMUXError = 0x46
[03-25_12:25:44:780] requestGetSIMStatus SIMStatus: SIM_READY
Segmentation fault
Need to upgrade QConnectManager_Linux dialing tool. From the tool’s update log, it can be seen that versions V1.6.6 and later support the SDX35 series, and RG255C-CN belongs to the SDX35 series
Release Notes
[V1.6.6]
Date: 1/12/2024
enhancement:
1. support SDX35 platform
fix:
Steps to Upgrade QConnectManager_Linux Tool
Here we will upgrade the QConnectManager_Linux
tool to V1.6.7
1. Install Build Environment
sudo apt update
sudo apt install build-essential cmake libusb-1.0-0-dev
2. Copy quectel-linux-android-qmi-wwan-driver-v129.zip to LPA3588 and extract
3. Compile
neardi@LPA3588:~/quectel/quectel-linux-android-qmi-wwan-driver-v129$ make
rm -rf *.o libmnl/*.o quectel-CM quectel-qmi-proxy quectel-mbim-proxy quectel-atc-proxy
gcc -Wall -Wextra -Werror -O1 quectel-qmi-proxy.c -o quectel-qmi-proxy -lpthread -ldl -lrt
gcc -Wall -Wextra -Werror -O1 quectel-mbim-proxy.c -o quectel-mbim-proxy -lpthread -ldl -lrt
gcc -Wall -Wextra -Werror -O1 quectel-atc-proxy.c atchannel.c at_tok.c util.c -o quectel-atc-proxy -lpthread -ldl -lrt
gcc -Wall -Wextra -Werror -O1 QmiWwanCM.c GobiNetCM.c main.c QCQMUX.c QMIThread.c util.c qmap_bridge_mode.c mbim-cm.c device.c atc.c atchannel.c at_tok.c udhcpc.c -o quectel-CM -lpthread -ldl -lrt
3. Try Dialing Again
Successful dialing log as follows: