RM530N Linux driver

Hi,

I’m having issues with getting the RM530N QMI drivers to be loaded correctly. I have followed the LTE/5G driver guide and applied the necessary patches (only to option.c—I don’t have qmi_wan_q.c, see below). I have been using this build of my operating system for RM500Q and everything works fine. After adding VID/PID to option.c for RM530N, I do see the AT command ports registered, but two interfaces have no driver loaded (no QMI, and so ModemManager is unable to get all supported modes of the device).

Could you please guide me on what the problem may be?

Additionally, I request to please email me the qmi_wwan_q.c source file.

qmi_wwan_q.c was sent already

For future reference, I was able to get it to work by:

  1. Updating drivers/net/usb/usb_wwan.c with the correct interface information (see mainline for examples of RM500Q).
  2. Updating drivers/usb/serial/option.c with the correct VID/PID (but no interface information) + Quectel patches from to option_probe from the latest available “Linux Driver Guide” PDF.

The mainline qmi_wwan driver works OK. Additionally, I confirmed that MBIM works well too.

I also verified that qmi_wwan_q is also functional. However, getting it to work with ModemManager requires additional patches, and I opted against it.

Tested on 5.4 and 5.15.

Hi,

We bought 5G LTE Modem RM530N-GL. With Ubuntu 22 Kernel 5.15-103, the modem is not detected on a BPI-R64 board.
Can you please provide the qmi_wwan_q driver.

Could you see the VID/PID by lsusb?

No, we are not seeing in “lsusb” or “lspci”

Can we get the qmi_wwan_q.c file.

I will send you the qmi_wwan_q.
But qmi_wwan_q could not solve your problem.

The rpi could not recognieze the RM530N is caused by hardware problem.

Thank you. But on the same unit, with OpenWRT RM530N is detected and listed in “lsusb” command output.

If it is of the same hardware, there might be some difference in the USB configuration.

Hi,

You should update drivers/usb/serial/option.c in the kernel. The reason it works in OpenWRT is because the OpenWRT kernel includes the VID/PID in drivers/usb/serial/option.c.

Here is a commit from Boundary Devices that may help you (this is for 520 but 530 should be similar): USB: serial: option: add Quectel RM520N · boundarydevices/linux@e1420db · GitHub

Please also check: “Quectel_LTE5G_Linux_USB_Driver_User_Guide”

Shreyas

You’re wrong. No driver will help when there is no interface to bind this driver to.

Hi ,

Modem RM530 is detected on a different BPI board.
But we are not able to configure.
Can you please guide us, how to configure it.

@jfrog ,

We have RM530 ( USA ) and RM500Q ( India ) modems.
With Ubuntu22 we are having image for BPI ( ARM64 HW ) .
Some times, across reboot, some of the Modems are not loading.

Scenario-1: Modems list in “lsusb” but it will not load in ModemManager list.

Scenario-2: Partial list of Modems listed in “lsusb”.

Can you please let us know is any known issue like this w.r.t 5G Modems.

Please check the

lsusb -t

Guess that the option is not loaded or the VID & PID is not added.

router@amz-z25-5G:~$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 1: Dev 3, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 1: Dev 3, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 1: Dev 3, If 4, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
|__ Port 2: Dev 2, If 4, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
|__ Port 2: Dev 2, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 2: Dev 2, If 3, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 2: Dev 2, If 1, Class=Vendor Specific Class, Driver=option, 480M
router@amz-z25-5G:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
router@amz-z25-5G:~$ mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
/org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
router@amz-z25-5G:~$

This issue showing across reboot.
If we reboot again all Modems will show up.

Issue is showing only when we have the 5G Modem installed in the system.
On one unit, we removed and running reboot test, there it is holding good for 200+ iterations of reboot.
Whether it needs new USB driver compatible to Quectel 5G Modems or it needs any new driver w.r.t 5G Modems.

Provide the situation when there was a problem. This is not a device driver issue, it may be related to the hardware connection.

@Bean.Wang-Q ,

Above thing is the current state.
We have 2 EC25AF Modems and 1 RM530N-GL Modem on Ubuntu 22 based ARM64 image on a BPI-R64 board.

Can you please share any new option.c file with updated VID & PID if any,

The RM530N is not found here.
It means there should be some problem with hardware or the RM530N is PCIe only version.
Even that you modify the option.c could resolve it.

bash-5.1# mmcli -L
/org/freedesktop/ModemManager1/Modem/3 [QUALCOMM INCORPORATED] QUECTEL Mobile Broadband Module
/org/freedesktop/ModemManager1/Modem/6 [Quectel] RM500Q-GL
With RM500Q
bash-5.1# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd. RM500Q-GL
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

With RM530Q-GL:

Protocol spec without prior Class and Subclass spec at line 23291
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 004: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 2c7c:0801 Quectel Wireless Solutions Co., Ltd.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

@venugopal
With RM500Q
Bus 004 Device 002: ID 2c7c:0800 Quectel Wireless Solutions Co., Ltd. RM500Q-GL
With RM530Q-GL
Bus 004 Device 002: ID 2c7c:0801 Quectel Wireless Solutions Co., Ltd.

Seems recoginzed already.