EM12-G QMI Registers but ECM Does not

Hello, I am trying to get a EM12-G to work with our product. We need it to attach as a ECM device. When I test, i get registration and data from Verizon when using QMI, when i switch to ECM the modem does not register and i get no connectivity.

I am using AT+QCFG=“usbnet”,0 - QMI/PPP/Default and AT+QCFG=“usbnet”,1 - ECM
Here are some logs from what I am seeing:

[2024-02-26 16:22:12:509_S:] AT+CREG?
[2024-02-26 16:22:12:571_R:] AT+CREG?
[2024-02-26 16:22:12:571_R:] +CREG: 0,3

[2024-02-26 16:22:12:571_R:] OK
[2024-02-26 16:22:12:592_S:] AT+CGREG?
[2024-02-26 16:22:12:654_R:] AT+CGREG?
[2024-02-26 16:22:12:654_R:] +CGREG: 0,1

Looking for suggestions on why this may be.

Did you configure the APN?

AT+CGDCONT?
AT+CEREG?

No, I didn’t. Not sure how to do that. Here’s my responses:

[2024-02-26 16:53:44:344_R:] AT+CGDCONT?
[2024-02-26 16:53:44:344_R:] +CGDCONT: 1,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[2024-02-26 16:53:44:344_R:] +CGDCONT: 2,"IPV4V6","vzwadmin","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[2024-02-26 16:53:44:344_R:] +CGDCONT: 3,"IPV4V6","vzwinternet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[2024-02-26 16:53:44:344_R:] +CGDCONT: 4,"IPV4V6","vzwapp","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
[2024-02-26 16:53:44:344_R:] +CGDCONT: 5,"IPV4V6","vzwemergency","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
[2024-02-26 16:53:44:344_R:] +CGDCONT: 6,"IPV4V6","vzwclass6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

[2024-02-26 16:53:44:344_R:] OK
[2024-02-26 16:53:52:355_S:] AT+CEREG?
[2024-02-26 16:53:52:424_R:] AT+CEREG?
[2024-02-26 16:53:52:424_R:] +CEREG: 0,1

[2024-02-26 16:53:52:424_R:] OK

1 Registered, home network

I am still getting this though.

[2024-02-26 16:59:45:212_S:] AT+CREG?
[2024-02-26 16:59:45:288_R:] AT+CREG?
[2024-02-26 16:59:45:288_R:] +CREG: 0,3

What forces you to use this command?

This is the default data context for Verizon. Does context 3 get an IP address? The command to read:

AT+CGPADDR

I use AT+CREG? as that is what QNavigator uses and errors saying “Fail to register the network!”

AT+CGPADDR does give 3 entries. Is it in fact right?

I also see this sometimes:

[2024-02-27 08:01:28:910_R:] +QLWURC: “dtls”,“failed”,1000

Right. If you see an IP address for context #3, then you’re registered and connected.
Do not use QNavigator to avoid such confusion in the future, use any dumb terminal instead. And check the meaning of +CREG :wink:

It does not now:

AT+CGPADDR?
ERROR

Why you have ? at the end?

My apologies,

here’s what i see:

AT+CGPADDR
+CGPADDR: 1,“38.0.16.22.16.55.149.177.0.0.0.0.46.21.59.71”
+CGPADDR: 2,“”
+CGPADDR: 3,“100.110.45.182,38.0.16.22.176.67.115.15.0.0.0.33.191.42.90.1”
+CGPADDR: 4,“”
+CGPADDR: 5,“”
+CGPADDR: 6,“”

OK

You have both IPv4 and IPv6 addresses assigned.

Okay, I understand. I have no internet though. My device shows an external ip of 192.168.225.52 but i dont see that anywhere.

In ECM mode the modem itself behaves like a NAT router. 192.168.225.0/24 is its LAN subnet, 100.110.45.182 is its WAN IP.
192.168.225.52 is what your host received from the modem.

Hmm I see,

Id be interested to know how you decoded that.

Its not working on my system, are there any other settings that I could try?

Hello,

Please see screenshot.

I am still having issues, would appreciate help

Check with

ip a
ip r
ping 8.8.8.8

No pictures please.

ip -a and -r disnt seem to work. I included ifconfig.

redacted@redacted-NUC10i7FNK:~$ ip -a
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { address | addrlabel | fou | help | ila | ioam | l2tp | link |
                   macsec | maddress | monitor | mptcp | mroute | mrule |
                   neighbor | neighbour | netconf | netns | nexthop | ntable |
                   ntbl | route | rule | sr | tap | tcpmetrics |
                   token | tunnel | tuntap | vrf | xfrm }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec | -j[son] | -p[retty] |
                    -f[amily] { inet | inet6 | mpls | bridge | link } |
                    -4 | -6 | -M | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } | -br[ief] |
                    -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
                    -c[olor]}
redacted@redacted-NUC10i7FNK:~$ ip -r
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { address | addrlabel | fou | help | ila | ioam | l2tp | link |
                   macsec | maddress | monitor | mptcp | mroute | mrule |
                   neighbor | neighbour | netconf | netns | nexthop | ntable |
                   ntbl | route | rule | sr | tap | tcpmetrics |
                   token | tunnel | tuntap | vrf | xfrm }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec | -j[son] | -p[retty] |
                    -f[amily] { inet | inet6 | mpls | bridge | link } |
                    -4 | -6 | -M | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } | -br[ief] |
                    -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
                    -c[olor]}
redacted@redacted-NUC10i7FNK:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.225.1 icmp_seq=1 Destination Net Unreachable
From 192.168.225.1 icmp_seq=2 Destination Net Unreachable
From 192.168.225.1 icmp_seq=3 Destination Net Unreachable
From 192.168.225.1 icmp_seq=4 Destination Net Unreachable
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 received, +4 errors, 100% packet loss, time 4008ms

redacted@redacted-NUC10i7FNK:~$ ifconfig
eno1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 1c:69:7a:6f:e9:71  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0x96300000-96320000  

enxfa4504c51a9f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.225.60  netmask 255.255.255.0  broadcast 192.168.225.255
        inet6 fe80::a829:9f1c:6594:5d0c  prefixlen 64  scopeid 0x20<link>
        ether fa:45:04:c5:1a:9f  txqueuelen 1000  (Ethernet)
        RX packets 886  bytes 61602 (61.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 914  bytes 79543 (79.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8440  bytes 747194 (747.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8440  bytes 747194 (747.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

redacted@redacted-NUC10i7FNK:~$ 

I’m sorry. ip a && ip r