EC200T ipv4 not working when ipv6 is also enabled

I’m using EC200T module in USB ether mode connected via USB to an embedded Linux board. I’ve set the module in AT+QCFG=“ubsnet”,1 mode and when setup the APN for IPV4V6 and activate the PDP context using AT+QIACT=1, I’m able to ping both IPV4 and IPV6 addressed using AT+QPING.
However, from my Linux host, only IPV6 addresses are getting pinged, and for IPV4 there is no response. I can’t even ping the local IP assigned to the modem. (note: I’ve setup default gateway as the usb0 interface)
Another issue is with IPV6 DNS resolution. My Linux host is unable to resolve domain names to their IPV6 addresses, whereas autoconf is enabled for the usb0 interface.

You can see the known good configuration here: Port forwarding on Quectel EG912Y-EU - #6 by jfrog
This example is applicable to your modem as well.

If the problem persists, show the output of AT+CGPADDR, AT+CGDCONT? and AT+QICSGP=1 (assuming context 1 is in use).
Then on the Linux host collect the output of

ip a
ip r
ip l

I’m having the exact same problem described in the original post, but with an EG25. I have the device setup in ECM mode (usb0). Using AT+QPING, I can ping both IPv4 and IPv6. On the linux host, I can only reliably ping IPv6. Each time I start the device up, I can either ping IPv4 or I cannot. It seems random. Even when I cannot ping IPv4 from the host, I can ping IPv4 using AT+QPING.

Below is the output of AT+CGPADDR, AT+CGDCONT? and AT+QICSGP=1 and the various ip commands

AT+CGPADDR
+CGPADDR: 1,"0.0.0.0"
+CGPADDR: 2,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
+CGPADDR: 3,"100.79.119.114,38.0.16.23.180.61.93.208.0.0.0.28.90.74.84.1"
+CGPADDR: 4,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
+CGPADDR: 5,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
+CGPADDR: 6,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"

AT+CGDCONT?
+CGDCONT: 1,"IP","VZWINTERNET","0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","VZWADMIN","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","VZWINTERNET","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","VZWAPP","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","VZWEMERGENCY","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 6,"IPV4V6","VZWCLASS6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
AT+QICSGP=1
+QICSGP: 1,"VZWINTERNET","","",0
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:a6:32:ff:2a:31 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:4b:36:61:69 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.181/24 brd 192.168.2.255 scope global dynamic noprefixroute eth1
       valid_lft 41785sec preferred_lft 36385sec
    inet6 fd2a:50f9:9ab::e3b/128 scope global dynamic noprefixroute 
       valid_lft 41782sec preferred_lft 41782sec
    inet6 fd2a:50f9:9ab:0:3a63:a90a:8d6c:e7c1/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::f66:9634:58dd:601e/64 scope link 
       valid_lft forever preferred_lft forever
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether a6:fc:8e:ad:44:ca brd ff:ff:ff:ff:ff:ff
    inet 192.168.225.29/24 brd 192.168.225.255 scope global dynamic noprefixroute usb0
       valid_lft 41795sec preferred_lft 36395sec
    inet6 fe80::4cb7:8380:e955:475f/64 scope link 
       valid_lft forever preferred_lft forever
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether dc:a6:32:ff:2a:32 brd ff:ff:ff:ff:ff:ff

ip r
default via 192.168.225.1 dev usb0 proto dhcp src 192.168.225.29 
default via 192.168.2.1 dev eth1 proto dhcp src 192.168.2.181 metric 203 
192.168.2.0/24 dev eth1 proto dhcp scope link src 192.168.2.181 metric 203 
192.168.225.0/24 dev usb0 proto dhcp scope link src 192.168.225.29 
ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether dc:a6:32:ff:2a:31 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:4b:36:61:69 brd ff:ff:ff:ff:ff:ff
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether a6:fc:8e:ad:44:ca brd ff:ff:ff:ff:ff:ff
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DORMANT group default qlen 1000
    link/ether dc:a6:32:ff:2a:32 brd ff:ff:ff:ff:ff:ff

I looked at the linked known good configuration provided by @jfrog , but some of the commands do not seem applicable to the EG25 (for example, AT+QCFG="nat",1)

Thank you for any help

Just a quick update… the outputs in my previous post are from when IPv4 isn’t working (but IPv6 is). Below I’m pasting the outputs from when both IPv4 and IPv6 are working. I made no changes to get IPv4 working aside from restarting. IPv4 seems to randomly work or not each time I start the system.

AT+CGPADDR
+CGPADDR: 1,"100.116.37.101"
+CGPADDR: 2,"10.133.229.78,38.0.16.23.244.8.249.59.0.0.0.49.197.246.55.1"
+CGPADDR: 3,"38.0.16.23.180.60.161.197.0.0.0.32.124.123.168.1"
+CGPADDR: 4,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
+CGPADDR: 5,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
+CGPADDR: 6,"0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"

AT+CGDCONT?
+CGDCONT: 1,"IP","VZWINTERNET","0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","VZWADMIN","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","VZWINTERNET","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","VZWAPP","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","VZWEMERGENCY","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 6,"IPV4V6","VZWCLASS6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

AT+QICSGP=1
+QICSGP: 1,"VZWINTERNET","","",0

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether dc:a6:32:ff:2a:31 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:4b:36:61:69 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.181/24 brd 192.168.2.255 scope global dynamic noprefixroute eth1
       valid_lft 42898sec preferred_lft 37498sec
    inet6 fd2a:50f9:9ab::e3b/128 scope global dynamic noprefixroute 
       valid_lft 42894sec preferred_lft 42894sec
    inet6 fd2a:50f9:9ab:0:3a63:a90a:8d6c:e7c1/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::f66:9634:58dd:601e/64 scope link 
       valid_lft forever preferred_lft forever
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 92:67:83:ea:61:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.225.27/24 brd 192.168.225.255 scope global dynamic noprefixroute usb0
       valid_lft 42907sec preferred_lft 37507sec
    inet6 2600:1017:b43c:a1c5:1d8d:8ac3:aee9:e6f3/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::bab4:8edb:3798:6b51/64 scope link 
       valid_lft forever preferred_lft forever
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether dc:a6:32:ff:2a:32 brd ff:ff:ff:ff:ff:ff


ip r
default via 192.168.225.1 dev usb0 proto dhcp src 192.168.225.27 
default via 192.168.2.1 dev eth1 proto dhcp src 192.168.2.181 metric 203 
192.168.2.0/24 dev eth1 proto dhcp scope link src 192.168.2.181 metric 203 
192.168.225.0/24 dev usb0 proto dhcp scope link src 192.168.225.27 

ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether dc:a6:32:ff:2a:31 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:4b:36:61:69 brd ff:ff:ff:ff:ff:ff
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 92:67:83:ea:61:0d brd ff:ff:ff:ff:ff:ff
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DORMANT group default qlen 1000
    link/ether dc:a6:32:ff:2a:32 brd ff:ff:ff:ff:ff:ff

It looks like the main differences are in the AT+CGPADDR command output (which seems to show more IP addresses) and the usb0 section of the ip a command output.

Once again, I really appreciate any help. Really having a hard time figuring out the problem.

Shouldn’t the APN for context 1 be vzwims as in AT+CGDCONT=1,"IPV4V6","vzwims"

As far as I know, Verizon uses context 3 for data and context 1 for IMS, as per the settings routinely applied by an active Verizon MBN file in all reports I’ve seen.

Have you got two data sessions open?

wow, thank you so much! That seems to have been the problem. I just set the APN for context 1 to be VZWIMS and it seems to be reliably working now. I’m not sure how that context get set to vzwinternet in the first place.