RM530N-GL linux drivers and installation manual

I am working with Jetson Orin NX with Ubuntu 20.04 and device is not recognizing the modem.

Would you be willing to provide me with complete manual for installing drivers and everything I need to do or have to make 5G module RM530N-GL work?

Thank you very much. Have a great day.

Hi,

I prepared this document as part of a project I was working on last year. It includes module protocol details, message structures, and configuration examples. I hope it helps.
Necessary explanations are available in the readme file.

rm530n_Linux.zip (6.1 KB)

Package contents:

:small_blue_diamond: install_rm530n.sh for quick installation
:small_blue_diamond: rm530n-ids.sh for manual testing
:small_blue_diamond: QMI connection scripts (qmi-up.sh / qmi-down.sh)
:small_blue_diamond: Kernel patches (option.patch, qmi_wwan.patch)
:small_blue_diamond: Usage and troubleshooting guide in README

1 Like

Thank you very much, but I don’t know why, but I do have a problem with qmi. I tried your troubleshooting fix from README, but it doesn’t work. On my ttyUSB6 doesn’t work a command AT+QCFG=“usbnet”,5 (QMI). But AT+QCFG=“usbnet”,2 (MBIM) at least does something. By any chance you would not have also a scripts for using MBIM instead of QMI? Or could you please guide me so I would be able to change script for my use case?
Thank you very much. Have a great day.

Hi @valdezleo063,

According to my research, the problem you are experiencing is a general one. While RM530N-GL modules do not work properly with QMI mode (AT+QCFG=“usbnet”,5) in some firmware versions, they work more stable with MBIM mode (AT+QCFG=“usbnet”,2 or 3).
Therefore, users experiencing persistent errors on the QMI side can switch the module to MBIM mode and manage their connections with the mbim-up.sh / mbim-down.sh scripts, providing a more reliable solution. Because the Ubuntu 20.04 kernel natively supports MBIM, there’s no need to compile additional drivers, and using MBIM provides more stable results in practice.

That’s why I’ve prepared files for you:

mbim-up.sh = Establishes the connection in MBIM mode with APN information.
mbim-down.sh = Cleanly terminates the MBIM connection.

Using these two files + readme, you can test your RM530N-GL module in MBIM mode on a Jetson Orin NX.
rm530n_mbim.zip (1.5 KB)

Usage

# Switch to MBIM mode (2 or 3 depending on firmware)
# AT+QCFG="usbnet",2
# AT+CFUN=1,1
# Connect

sudo /usr/local/sbin/mbim-up.sh internet/APN (Access Point Name)

# Disconnect

sudo /usr/local/sbin/mbim-down.sh

Note ; If the APN requires a username/password, you can add the auth/username/passwd/ip-type fields to the --connect=“apn=…” line in mbim-up.sh.

1 Like

Hi @Emre_Karabek,

for starters thank you very much for your help. But I’m not sure if it’s going to work this way… the thing is that I don’t know why, but I do not have cdc-wdm0 or wwan0. I thought that it’s because my QMI doesn’t work. But I see that you use them in your script. Btw my uname -r is 5.10.104-tegra.

Yesterday I tried on ttyUSB6 to use AT+QCFG=“usbnet”,2 and AT+CFUN=1,1.. and that device disappeared until I tried on ttyUSB5 to use AT+QCFG=“usbnet”,0 and AT+CFUN=1,1. To be frank I’m not sure what happened, because I tought that after turning ttyUSB6 to MBIM that it’s gonna create cdc-wdm0 or wwan0, but that not happened.

And to connect to 5G network I should use a static ip (instead of dhcp client) on my 5G SIM card 10.10.10.13/24 with gateway 10.10.10.1/24. Along side APN 5gnetwork.

Could you please enlighten me and tell me what to do with my problems?

Thank you very much. Have a great day.

Hi,

I’ve done the same thing again (I mean using AT+QCFG=“usbnet”,2 and AT+CFUN=1,1 => AT+QCFG=“usbnet”,0 and AT+CFUN=1,1 on ttyUSB6) and rebooted linux. Now my ttyUSB7 had disappered and cdc-wdm0 appeared.

You now have cdc-wdm0, which is good news. However, the ttyUSB port numbers change and disappear during the process, which is actually normal. The disappearance of ttyUSB7 is also normal , the port mapping may change in different USBnet modes. For example, ttyUSB6 might be the control port in QMI/MBIM, while it might be a different combination in ECM. So, while the device appears to be missing, the USB profile is actually changing.
I’ll share step-by-step guide when I have time.

1 Like

Thank you very much.

I also found out that I have problem with 5G SIM card. My module is not detecting it. I tried AT commands and this is resalt:
AT+CPIN?
+CME ERROR: 10
AT+QCCID
+CME ERROR: 13
AT+QSIMSTAT?
+QSIMSTAT: 0,0

OK

… and also after I used AT+QCFG=“usbnet”,2 and AT+CFUN=1,1 … this appeared +CPIN: NOT INSERTED.
Is it common?

Thank you very much. Have a great day.

New update. There was a manual problem with SIM contact. It’s good now.
AT+CPIN?

+CPIN: READY

1 Like

Hi @valdezleo063,

In your current situation, it’s normal to not be able to obtain an IP address from DHCP. With this SIM card and APN profile, the operator doesn’t offer DHCP; the device must use a manually configured IP address. So, after establishing the connection, you need to assign a static IP address to the wwan0 (or maybe "wwwp…”, because the kernel sometimes gives the interface name differently.) interface:

sudo ip link set wwan0 up
sudo ip addr add 10.10.10.13/24 dev wwan0
sudo ip route add default via 10.10.10.1

If DNS is required, you can manually add it to /etc/resolv.conf

A DHCP client (dhclient, udhcpc) ​​will not work here; a static IP configuration is essential in this scenario.

Note: On some systems /etc/resolv.conf is a symlink managed by systemd-resolved. In that case you may need to edit the target file or configure DNS via systemd-resolved.

1 Like

Hi @Emre_Karabek,
do I have to add a def route for this purpose? Because after I add IP address on wwan0 I also automaticaly get a route to that /24 network.
I also tried to switched on an interface wwan0, add IP address, but how could I connect to a network? (It’s a private school 5G SA network) I tried your script and I also tried alternated verson myself, but it doesn’t work. I’m also not able to ping 10.10.10.1 (IP that should be my gtw).

Could you help me with a script or give me guidance with this matter?

Thank you very much. Have a great day.

Hi @valdezleo063,

You must add a default route to exit via the gateway.
The ip addr add 10.10.10.13/24 dev wwan0 command only adds the local subnet route (10.10.10.0/24).
However, for access to the internet or a remote host, you must define a default route:

sudo ip route add default via 10.10.10.1

Simply adding an IP address and route doesn’t guarantee a connection.
The module needs to open a PDP context/data session. The MBIM/QMI stack normally handles this automatically (you obtain the IP address with dhclient).
Your SIM profile doesn’t have DHCP; you’re using a static IP address. In this case, you need to activate PDP with AT commands:

# APN setting
AT+CGDCONT=1,"IP","5Gnetwork"

# PDP activate
AT+CGACT=1,1

Then you can manually assign the IP on the Linux side:

sudo ip link set wwan0 up
sudo ip addr add 10.10.10.13/24 dev wwan0
sudo ip route add default via 10.10.10.1

“I can’t ping 10.10.10.1.” This could be due to several reasons.
PDP might not be active, or the modem might not have actually opened the data channel to the network.
A firewall/APN restriction might be the cause, or IP forwarding or ICMP might be disabled on the 5G SA network.
This could be a wrong interface issue. Sometimes it opens with a name like wwp0sxxuYcZ. You can check it with an IP link.

I can suggest something like this:
Create a file like /usr/local/sbin/5g-static.sh:

#!/bin/bash
DEV=wwan0
IP=10.10.10.13/24
GW=10.10.10.1
DNS=8.8.8.8

# Open PDP from modem first
# Run on AT port: AT+CGDCONT=1,"IP","5Gnetwork"
# AT+CGACT=1.1

sudo ip link set $DEV up
sudo ip addr flush dev $DEV
sudo ip addr add $IP dev $DEV
sudo ip route add default via $GW
echo "nameserver $DNS" | sudo tee /etc/resolv.conf > /dev/null

When you add an IP address, only the subnet route appears; the default route is also required.
The PDP context must be opened (AT+CGACT).
Since it’s a static IP address, the DHCP client (dhclient, udhcpc) ​​will not take any action.

Frankly, it’s a difficult problem, and without the hardware, it’s difficult to find a complete solution. It takes some experimentation.

Could you try use these files?

static-ip-up.sh = Opens the interface, assigns a static IP/gateway/DNS.
static-ip-down.sh = Clears the IP/route, closes the interface.
README_StaticIP.md = User instructions.

If your interface name is different (like wwp…) instead of wwan0, don’t forget to use it in your commands.

RM530N-GL_Static_IP.zip (1.8 KB)