RM520NGL with eSIM and BIP mode

Hello,

I have 2 Quectel modems that I am using with Linux:
1.) EC25-A
2.) RM520N-GL

I also have 2 SIM cards:
1.) eSIM from Globalgig
2.) T-Mobile (US) SIM

I want to use the eSIM with the RM520N modem. The eSIM does successfully work with the EC25A modem and BIP mode. The eSIM does not work with the 5G capable RM520N-GL. My T-Mobile SIM cards works great with the RM520N-GL and connects without BIP. I cannot find any BIP related commands in the AT command document for the RM520.

The following commands are what I successfully use with the EC25 to connect the eSIM using BIP:

atcom -p /dev/ttyUSB2 AT&F0
atcom -p /dev/ttyUSB2 AT+CFUN=0
atcom -p /dev/ttyUSB2 AT+CFUN=1
atcom -p /dev/ttyUSB2 AT+QCFG="roamservice",1
atcom -p /dev/ttyUSB2 AT+CMEE=2
atcom -p /dev/ttyUSB2 AT+CREG=1
atcom -p /dev/ttyUSB2 AT+QCFG="bip/auth",1
atcom -p /dev/ttyUSB2 AT+QCFG="roamservice",2
atcom -p /dev/ttyUSB2 AT+CGDCONT=1,"IP","internet"
atcom -p /dev/ttyUSB2 AT+CGACT=1,1
atcom -p /dev/ttyUSB2 AT+CGDCONT?
atcom -p /dev/ttyUSB2 AT+QCFG="roamservice",2
atcom -p /dev/ttyUSB2 AT+CREG?
atcom -p /dev/ttyUSB2 AT+CFUN=0
atcom -p /dev/ttyUSB2 AT+CFUN=1

When I try to run the same commands on the RM520, I see the following output (Note the BIP error):

+CPIN: READY
+QUSIM: 1
+QIND: SMS DONE
+QIND: PB DONE
+QTELEFONICA: “retry_schema”,“pdp_fail”,6,33,209
+QTELEFONICA: “retry_schema”,“pdp_fail”,6,33,209
+QTELEFONICA: “retry_schema”,“pdp_fail”,6,33,209
AT&F0
OK
AT+CFUN=0
OK
AT+CFUN=1
OK

RM520NGLAAR01A08M4G_01.200.01.200
OK
AT+QCFG=“roamservice”,1
ERROR
+CPIN: READY
+QUSIM: 1
AT+CMEE=2
OK
+QIND: SMS DONE
AT+CREG=1
OK
AT+QCFG=“bip/auth”,1
ERROR
+QIND: PB DONE
AT+QCFG=“roamservice”,2
ERROR
AT+CGDCONT=1,“IP”,“internet”
OK
AT+CGACT=1,1
+CME ERROR: no network service
AT+CGDCONT?
+CGDCONT: 1,“IP”,“internet”,“0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 3,“IPV4V6”,“SOS”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,1,“”,0
+CGDCONT: 4,“IPV4V6”,“XCAP”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
OK
AT+QCFG=“roamservice”,2
ERROR
AT+CREG?
+CREG: 0,0
OK
AT+CFUN=0
OK
AT+CFUN=1
OK

I then run the following commands to request an IP address in Linux:

dhclient -v usb0
udhcpc -i usb0
route add -net 0.0.0.0 usb0

The output for those commands is:

Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit ISC DHCP - ISC
Listening on LPF/usb0/ce:38:30:a3:26:82
Sending on LPF/usb0/ce:38:30:a3:26:82
Sending on Socket/fallback
DHCPREQUEST for 192.168.225.20 on usb0 to 255.255.255.255 port 67
DHCPACK of 192.168.225.20 from 192.168.225.1
bound to 192.168.225.20 – renewal in 19354 seconds.
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.225.20, server 192.168.225.1
udhcpc: lease of 192.168.225.20 obtained from 192.168.225.1, lease time 43200
root@raspberrypi:/home/pi/Desktop# ping 192.168.225.1
PING 192.168.225.1 (192.168.225.1) 56(84) bytes of data.
64 bytes from 192.168.225.1: icmp_seq=1 ttl=64 time=1.57 ms
64 bytes from 192.168.225.1: icmp_seq=2 ttl=64 time=1.53 ms
64 bytes from 192.168.225.1: icmp_seq=3 ttl=64 time=1.54 ms
64 bytes from 192.168.225.1: icmp_seq=4 ttl=64 time=1.53 ms

So, it seems that the modem can get an IP address and ping the gateway. However, there is no internet connection (the same ping fails for google or any other public IP address). How can I enable BIP mode on the RM520 and get an internet connection in Linux with my eSIM? Thanks!

Dear @jack_klause
BIP is enabled by default.
Please share the response:
ipconfig
route
ping 8.8.8.8

It seems lost some configuration. Try to configure default.script

Hi @silvia,

Thanks for the response. Here is the output you requested:

ping -I usb0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.225.31 usb0: 56(84) bytes of data.
From 192.168.225.31 icmp_seq=1 Destination Host Unreachable
From 192.168.225.31 icmp_seq=2 Destination Host Unreachable
From 192.168.225.31 icmp_seq=3 Destination Host Unreachable

ifconfig usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.225.31 netmask 255.255.255.0 broadcast 192.168.225.255
inet6 fe80::20b0:67ff:fe84:4e60 prefixlen 64 scopeid 0x20
ether 22:b0:67:84:4e:60 txqueuelen 1000 (Ethernet)
RX packets 37 bytes 3184 (3.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 9242 (9.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

route | grep usb0
192.168.225.0 0.0.0.0 255.255.255.0 U 0

The interesting thing is I believe the network is communicating because I get a DHCP IP address:

udhcpc -i usb0
udhcpc: started, v1.35.0
Dropped protocol specifier ‘.udhcpc’ from ‘usb0.udhcpc’. Using ‘usb0’ (ifindex=9).
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.225.100, server 192.168.225.1
udhcpc: lease of 192.168.225.100 obtained from 192.168.225.1, lease time 43200
RTNETLINK answers: File exists
/etc/udhcpc.d/50default: Adding DNS 192.168.225.1
Dropped protocol specifier ‘.udhcpc’ from ‘usb0.udhcpc’. Using ‘usb0’ (ifindex=9).

Here is some additional information. Do I need to enable roaming somehow?

atcom -p /dev/ttyUSB6 AT+COPS?
AT+COPS?
+COPS: 0

OK

atcom -p /dev/ttyUSB6 AT+CGREG?
AT+CGREG?
+CGREG: 0,0

OK

Thanks,
Phil

Dear @jack_klause
It seems the device didn’t register successfully.