EG915Q dual-stack ECM only works reliably for IPv6

Firmware version EG915QNALCR01A05M04.

First issue:

When activating an IPV4V6 PDP context in ECM mode with AT+QNETDEVCTL on T-Mobile US, AT+CGCONTRDP and AT+CGDCONT return only IPv6 addresses:

AT+CGCONTRDP=2
+CGCONTRDP: 2,6,"fast.t-mobile.com","38.7.251.144.154.37.192.120.172.57.189.17.176.171.138.245",,"253.0.151.106.0.0.0.0.0.0.0.0.0.0.0.9","253.0.151.106.0.0.0.0.0.0.0.0.0.0.0.16"
OK

AT+CGPADDR=2
+CGPADDR: 2,"38.7.251.144.154.37.192.120.172.57.189.17.176.171.138.245"
OK

Is there any way to get both IPv4 and IPv6 addresses assigned to this PDP context by the network via AT commands like CGCONTRDP?

Second issue:

The first time after boot I can obtain an IPv4 address with DHCP. IPv6 for the same context works reliably via SLAAC. But after deactivating the connection with AT+QNETDEVCTL: 0,2,1,0 and then AT+CGACT=2,0, I cannot re-activate the connection and get an IPv4 address with DHCP; but IPv6 (via SLAAC) works fine the second time.

<existing connection with V4 and V6 working is already activated>

AT+QNETDEVCTL?
+QNETDEVCTL: 1,2,1,1
OK

<deactivate the working V4V6 connection>
AT+QNETDEVCTL=0,2,1
OK

AT+CGACT=0,2
OK

+QNETDEVSTATUS: 0

AT+QNETDEVCTL?
+QNETDEVCTL: 0,2,1,0
OK


+CGEV: PDN DEACT2

AT+CGACT?
+CGACT: 1,1
+CGACT: 2,0
OK

<start another connection for the V4V6 context>

AT+CREG?
+CREG: 2,1,"XXXX","XXXXXX",7
OK

AT+QNETDEVCTL?
+QNETDEVCTL: 0,2,1,0
OK

AT+CGDCONT?
+CGDCONT: 1,"IPV6","fast.t-mobile.com","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","fast.t-mobile.com","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
OK

AT+CGACT?
+CGACT: 1,1
+CGACT: 2,0
OK

AT+QNETDEVCTL=1,2,1
OK

+CGEV: PDN ACT2
+QNETDEVSTATUS: 1

Now I can obtain IPv6 address with SLAAC, but DHCPv4 does times out and does not return an IPv4 address.

Any idea what’s going on? Thanks!

Pls try

AT+CFUN=0
AT+CGDCONT=1,“ipv4v6”
AT+QICSGP=1,“ipv4v6”,“fast.t-mobile.com
AT+CFUN=1
AT+QIACT=1
AT+CGPADDR

@herbert.pan-Q I don’t think the EG915Q supports AT+QICSGP:

AT+QICSGP=1,“ipv4v6”,“fast.t-mobile.com
ERROR

It’s also not listed in the AT command manual for the 915G.

Check the supported syntax with AT+QICSGP=? or search the forum or just google for it.

pls try
AT+CFUN=1
AT+QICSGP=1,“ipv4v6”,“fast.t-mobile.com
AT+QIACT=1
AT+CGPADDR

AT+QICSGP=?
+QICSGP: (1-15),(1-3),<APN>,<username>,<password>,(0-3)

OK

at+qicsgp=1
+QICSGP: 3,"fast.t-mobile.com","","",0

OK
at+qicsgp=2
+QICSGP: 3,"fast.t-mobile.com","","",0

OK
at+qiact=1
OK
at+cgpaddr
+CGPADDR: 1,"38.7.251.144.250.130.209.34.172.57.108.215.104.94.185.119"
+CGPADDR: 2,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"

So the syntax for this Qualcomm-based device appears to be “3” for the IP type instead of a string.

But that still only shows me an IPv6 address… Any idea how I can get the IPv4 address too?

My understanding your mobile carrier provides IPv6 only and you need to utilise 464XLAT on your side and DNS64 on their side to maintain IPv4 connectivity.

@jfrog T-Mobile US provides both v4 and v6; I can activate an “IP” context fine, and an IPV6 context fine too. QMI-based Qualcomm devices are able to activate a dual-stack contexts fine too.

But with the EG915Q I still have the two problems: (1) it only provides an IPv4 address in ECM mode via DHCPv4 after a cold-boot (not after activate/deactivate the PDP context with AT+QNETDEVCTL), and I can’t seem to figure out how to get the IPv4 address through AT commands when DHCPv4 doesn’t work.

Any ideas? Thanks!

You can try to deactivate with AT+QIDEACT=1 first then “dial” with at+qnetdevctl=1,1,1 (reference)
Run once at+qnetdevctl=0,1,1 at the very beginning to disable auto connect.

It is an IPv6 address.

@Bean.Wang-Q Yes, it is an IPv6 address and I know how to convert that to something I can use.

But since this is an IPV4V6 PDP context, how can I get the modem to return the IPv4 address that is also assigned, via AT commands?

Thanks!

As jfrog said, the PDN#1 can only works with ipv6.
For EC25, we need to set AT$QCPRFMOD=PID:1,OVRRIDEHOPDP:"IPV4V6" for T-Moile.
If it not works for EG915Q maybe you can try another PDN.
Steps:
For PDN#5,
AT+CGDCONT=1,"IPV4V6","fast.t-mobile.com"
AT+QNETDEVCTL=1,5,1
Before that we need to deactivate the PDN#1.

@Bean.Wang-Q Sure, maybe T-Mobile doesn’t do v4 on PDN1.

I’m trying to use PDN2 though, not #1 (see my first post). I’m able to get DHCPv4 the first time after booting the modem; but here’s AT and DHCP logs from the second time (after deactivating PDN2 with AT+QNETDEVCTL=0,2,1 and AT+CGACT=0,2.

ati
Quectel
EG915Q-NA
Revision: EG915QNALCR01A05M04

OK

AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","fast.t-mobile.com","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","fast.t-mobile.com","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

OK

AT+CGACT?
+CGACT: 1,1
+CGACT: 2,0

OK

AT+QNETDEVCTL=1,2,1
OK

+QNETDEVSTATUS: 1
$ sudo dhclient -1 -d enp0s20f0u3i4
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/enp0s20f0u3i4/22:89:84:6a:96:ab
Sending on   LPF/enp0s20f0u3i4/22:89:84:6a:96:ab
Sending on   Socket/fallback
DHCPREQUEST for 192.168.43.100 on enp0s20f0u3i4 to 255.255.255.255 port 67 (xid=0x932e4f0b)
DHCPREQUEST for 192.168.43.100 on enp0s20f0u3i4 to 255.255.255.255 port 67 (xid=0x932e4f0b)
DHCPDISCOVER on enp0s20f0u3i4 to 255.255.255.255 port 67 interval 7 (xid=0x8ac8d965)
DHCPDISCOVER on enp0s20f0u3i4 to 255.255.255.255 port 67 interval 8 (xid=0x8ac8d965)
DHCPDISCOVER on enp0s20f0u3i4 to 255.255.255.255 port 67 interval 19 (xid=0x8ac8d965)
DHCPDISCOVER on enp0s20f0u3i4 to 255.255.255.255 port 67 interval 13 (xid=0x8ac8d965)
DHCPDISCOVER on enp0s20f0u3i4 to 255.255.255.255 port 67 interval 14 (xid=0x8ac8d965)
No DHCPOFFERS received.

How can I get the modem to give me the IPv4 address when activating PDN2 multiple times?

Thanks!

Just for reference, with a Huawei E397:

AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","","0.0.0.0",0,0
+CGDCONT: 2,"IPV4V6","fast.tmobile.com","0.0.0.0",0,0
OK

AT^NDISDUP=1,1,"fast.tmobile.com"
OK

AT+CGACT?
+CGACT: 1,1
+CGACT: 2,0
OK

AT^DHCP?
^DHCP:f7917d19,f0ffffff,f1917d19,f1917d19,0,0,100000000,50000000
OK

AT+CGCONTRDP=1
+CGCONTRDP: 1,6,fast.tmobile.com,25.125.145.247,2607:FB90:FA8B:41D7:AC39:6CD7:80D3:31E3, FE80:0:0:0:B46D:57FF:FE45:4545,10.177.0.34 FD00:976A:0:0:0:0:0:9,10.177.0.210 FD00:976A:0:0:0:0:0:10
OK

Using PDN1 the Huawei gives me both v4 and v6 connectivity, and reports the IPv4 and IPv6 addresses via AT commands.

It does not support datacall at the same time.
If you have set up datacall with the PDN#1, you cannot set up the datacall with the PDN#2.

AT+CGACT=0,1
AT+QICSGP=1
AT+CGDCONT=1
AT+QICSGP=2,1,"fast.t-mobile.com"
AT+CGACT=1,2
AT+QNETDEVCTL=1,2,1
AT+QNETDEVCTL?
AT+CGDCONTRDP=2

It is not a Huawei chip, EG915Q is still from Qualcomm.

@Bean.Wang-Q Thanks; yeah I know the Huawei E397 isn’t a Quectel device, but it is Qualcomm based like the E915Q, and it’s able to deliver both v4 & v6 addresses.

With the E915Q DHCPv4 works the first time after cold-booting the modem with PDN#2, but I can’t get it to return a lease after that. I guess that’s my main issue; I’d be happy with either DHCPv4 consistently working, or with AT commands delivering the IPv4 address.

I’ll try the commands you list there and see what I get.

Thanks!

fghfghfxghghdfxghbn xgchfgxch