Odd cellular behavior on Balena

Hi, was really hoping to get this problem solved this weekend, but I’ve found myself stuck in the same place.
Here’s the background:
Balena Fin CM3, Quectel EC25-AF (mcpie), RAK2278 HAT, IoTDataworks SIM.

Here’s the problem:
BalenaOS no longer seems to be able to automatically connect ModemManager and NetworkManager. Here is the out of the box output after adding the cellular config file to system-connections, adding the udev rule to the config.json, and flashing a brand new image to the Fin.

In particular, mmcli shows plenty of signal on the cellular, recognizes the SIM, and even handshakes with the network (T-mobile in this case) to retrieve the phone number associated with that SIM.
Where the breakdown seems to happen is at the bottom of the mmcli -m 0 output, no dbus path is assigned to the modem - only the SIM gets its path, which appears to result in NetworkManager reporting cdc-wdm0: disconnected and no data session is established.

This means the cellular IP is never provisioned and never reported to the Balena web interface.

The oddest part is that this behavior is consistent across various sims, modems, devices (pi4 as well) and os versions.

Any help would be tremendously appreciated.

=============================================================
    Welcome to balenaOS
=============================================================
root@localhost:~# sudo mmcli -m 0
bash: sudo: command not found
root@localhost:~# mmcli -m 0
  -----------------------------------
  General  |               dbus path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: a4c[REDACTED]c78
  -----------------------------------
  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EC25AFFAR07A08M4G
           |          carrier config: Commercial-TMO_VoLTE
           | carrier config revision: 05010505
           |            h/w revision: 10000
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte
           |            equipment id: 86[REDACTED]35
  -----------------------------------
  System   |                  device: /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2
           |                 drivers: option1, qmi_wwan
           |                  plugin: quectel
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net), 
           |                          ttyUSB1 (gps), ttyUSB3 (at)
  -----------------------------------
  Numbers  |                     own: 15[REDACTED]18
  -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
           |                   state: registered
           |             power state: on
           |             access tech: lte
           |          signal quality: 100% (recent)
  -----------------------------------
  Modes    |               supported: allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                 current: allowed: 3g, 4g; preferred: 4g
  -----------------------------------
  Bands    |               supported: utran-4, utran-5, utran-2, eutran-2, eutran-4, eutran-5, 
           |                          eutran-12, eutran-13, eutran-14, eutran-66, eutran-71
           |                 current: utran-4, utran-5, utran-2, eutran-2, eutran-4, eutran-5, 
           |                          eutran-12, eutran-13, eutran-14, eutran-66, eutran-71
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 86[REDACTED]35
           |             operator id: 3[REDACTED]0
           |           operator name: T-Mobile
           |            registration: home
  -----------------------------------
  3GPP EPS |    ue mode of operation: csps-1
  -----------------------------------
  SIM      |               dbus path: /org/freedesktop/ModemManager1/SIM/0


root@localhost:~# nmcli 
wlan0: connected to resin-wifi-01
        "wlan0"
        wifi (wlan_sdio), 48:A4:93:04:3F:18, hw, mtu 1500
        ip4 default
        inet4 192.168.1.39/24
        route4 0.0.0.0/0
        route4 192.168.1.0/24
        inet6 fd3a:414f:9b6b:1:cbf5:ba63:3133:9df8/64
        inet6 fe80::c900:232c:3f2d:3287/64
        route6 fd3a:414f:9b6b::/64
        route6 fd3a:414f:9b6b:1::/64
        route6 fe80::/64
        route6 ff00::/8

supervisor0: connected (externally) to supervisor0
        "supervisor0"
        bridge, 02:42:4E:0E:77:D5, sw, mtu 1500
        inet4 10.114.104.1/25
        route4 10.114.104.0/25

cdc-wdm0: disconnected
        "cdc-wdm0"
        gsm (option1, qmi_wwan), hw

eth0: unavailable
        "0424 ec00"
        ethernet (smsc95xx), B8:27:EB:36:56:BA, hw, mtu 1500

balena0: unmanaged
        "balena0"
        bridge, 02:42:36:F3:7D:8F, sw, mtu 1500

br-586560b88903: unmanaged
        "br-586560b88903"
        bridge, 02:42:2E:CA:57:3F, sw, mtu 1500

resin-dns: unmanaged
        "resin-dns"
        bridge, 7E:5A:02:B1:B7:B6, sw, mtu 1500

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

resin-vpn: unmanaged
        "resin-vpn"
        tun, sw, mtu 1500

uap0: unmanaged
        "uap0"
        wifi (wlan_sdio), 48:A4:93:04:40:18, hw, mtu 1500

DNS configuration:
        servers: 192.168.1.1
        interface: wlan0

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

Adding a bit more detail here.

Diving deeper into the AT commands, I discovered my modem has a successful connection after all.

Here I see I already have an IP address.

root@f26fc3a:~# mmcli -m 0 --command="AT+CGPADDR=1"
response: '+CGPADDR: 1,"10.xx.xxx.47"'

Here I see the modem has even exchanged some bytes.

root@f26fc3a:~# mmcli -m 0 --command="AT+QGDCNT?"
response: '+QGDCNT: 24930,51716'

And yet, after running these commands, nmcli still shows:

cdc-wdm0: disconnected
       "cdc-wdm0"
        gsm (option1, qmi_wwan), hw

And mmcli shows:

 -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
           |                   state: registered
           |             power state: on
           |             access tech: lte
           |          signal quality: 83% (recent)

So I can confirm this is indeed some problem between NetworkManager and ModemManager not working correctly together.

Hello Christopher! Thank you for reporting all of these details. Could you please confirm your OS version? Thanks

Heya Marc, this particular attempt is:
Host OS: balenaOS 2.72.0+rev1 (development)
Supervisor: 12.4.6

Though I experienced the same problem on older OS’s too.

I should have shared this earlier too:

Seems like something is up with the QMI.

root@f26fc3a:~# journalctl -u ModemManager             
-- Logs begin at Sun 2021-03-28 12:37:11 UTC, end at Mon 2021-03-29 11:52:14 UTC. --
Mar 28 12:37:19 localhost ModemManager[1509]: ModemManager (version 1.14.2) starting in system bus...
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0] created endpoint
Mar 28 12:37:40 localhost ModemManager[1509]: cannot connect to proxy: Could not connect: Connection refused
Mar 28 12:37:40 localhost ModemManager[1509]: spawning new qmi-proxy (try 1)...
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0] Checking version info (20 retries)...
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0] QMI Device supports 30 services:
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    ctl (1.5)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    wds (1.67)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    dms (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    nas (1.25)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    qos (1.12)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    wms (1.10)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    auth (1.3)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    at (1.2)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    voice (2.1)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    cat2 (2.24)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    uim (1.46)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    pbm (1.4)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    test (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    loc (2.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    sar (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    ims (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    csd (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    ts (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    tmd (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    wda (1.16)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    csvt (1.1)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    imsp (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    imsa (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    coex (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    pdc (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    rfrpe (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    dsd (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x2d] (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x30] (1.0)
Mar 28 12:37:40 localhost ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x36] (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [device /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2] creating modem with plugin 'quectel>
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [base-manager] modem for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2' successful>
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] created endpoint
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Checking version info (20 retries)...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] QMI Device supports 30 services:
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    ctl (1.5)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    wds (1.67)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    dms (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    nas (1.25)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    qos (1.12)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    wms (1.10)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    auth (1.3)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    at (1.2)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    voice (2.1)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    cat2 (2.24)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    uim (1.46)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    pbm (1.4)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    test (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    loc (2.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    sar (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    ims (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    csd (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    ts (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    tmd (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    wda (1.16)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    csvt (1.1)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    imsp (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    imsa (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    coex (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    pdc (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    rfrpe (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    dsd (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x2d] (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x30] (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0]    unknown [0x36] (1.0)
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Reading expected data format from: /sys/class/net/wwan0/qmi/raw_ip
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'wda' (version 1.16) client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Writing expected data format to: /sys/class/net/wwan0/qmi/raw_ip
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Reading expected data format from: /sys/class/net/wwan0/qmi/raw_ip
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Releasing 'wda' client with flags 'release-cid'...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Unregistered 'wda' client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'dms' (version 1.0) client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'nas' (version 1.25) client with ID '3'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f300000.mmcnr/mmc_hos>
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/>
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'wms' (version 1.10) client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'uim' (version 1.46) client with ID '2'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'loc' (version 2.0) client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'pdc' (version 1.0) client with ID '1'
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:41 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'voice' (version 2.1) client with ID '3'
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [modem0] couldn't load supported assistance data types: LOC service: general failure
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [modem0] state changed (unknown -> disabled)
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [modem0] state changed (disabled -> enabling)
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '17'
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Releasing 'wds' client with flags 'release-cid'...
Mar 28 12:37:42 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Unregistered 'wds' client with ID '17'
Mar 28 12:37:43 f26fc3a ModemManager[1509]: [modem0] state changed (enabling -> enabled)
Mar 28 12:37:43 f26fc3a ModemManager[1509]: [modem0] 3GPP Registration state changed (unknown -> registering)
Mar 28 12:37:43 f26fc3a ModemManager[1509]: [modem0] 3GPP Registration state changed (registering -> home)
Mar 28 12:37:43 f26fc3a ModemManager[1509]: [modem0] state changed (enabled -> registered)
Mar 28 12:37:54 f26fc3a ModemManager[1509]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f300000.mmcnr/mmc_hos>
Mar 28 12:37:55 f26fc3a ModemManager[1509]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/>
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] simple connect started...
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] simple connect state (4/8): wait to get fully enabled
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] simple connect state (5/8): register
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] simple connect state (6/8): bearer
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] simple connect state (7/8): connect
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [modem0] state changed (registered -> connecting)
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 28 15:59:53 f26fc3a ModemManager[1509]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '17'
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0/bearer0] couldn't start network: QMI protocol error (14): 'CallFailed'
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0/bearer0] call end reason (1005): gsm-wcdma-insufficient-resources
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0/bearer0] verbose call end reason (6,26): [3gpp] insufficient-resources
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0/bearer0] connection attempt #1 failed: QMI protocol error (14): 'CallFailed'
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0] state changed (connecting -> registered)
Mar 28 15:59:54 f26fc3a ModemManager[1509]: [modem0/bearer0] connection #1 finished: duration 0s, tx: 0 bytes, rx :0 bytes
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] simple connect started...
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] simple connect state (4/8): wait to get fully enabled
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] simple connect state (5/8): register
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] simple connect state (6/8): bearer
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] simple connect state (7/8): connect
Mar 29 00:50:38 f26fc3a ModemManager[1509]: [modem0] state changed (registered -> connecting)
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0/bearer1] couldn't start network: QMI protocol error (14): 'CallFailed'
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0/bearer1] call end reason (1005): gsm-wcdma-insufficient-resources
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0/bearer1] verbose call end reason (6,26): [3gpp] insufficient-resources
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0/bearer1] connection attempt #1 failed: QMI protocol error (14): 'CallFailed'
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0] state changed (connecting -> registered)
Mar 29 00:50:39 f26fc3a ModemManager[1509]: [modem0/bearer1] connection #1 finished: duration 0s, tx: 0 bytes, rx :0 bytes


root@f26fc3a:~# journalctl -u NetworkManager | grep cdc  
Mar 28 12:37:42 f26fc3a NetworkManager[1707]: <info>  [1616935062.6516] modem["cdc-wdm0"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
Mar 28 12:37:42 f26fc3a NetworkManager[1707]: <info>  [1616935062.6528] manager: (cdc-wdm0): new Broadband device (/org/freedesktop/NetworkManager/Devices/6)
Mar 28 12:37:42 f26fc3a NetworkManager[1707]: <info>  [1616935062.6557] device (cdc-wdm0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Mar 28 12:37:42 f26fc3a NetworkManager[1707]: <info>  [1616935062.6570] device (cdc-wdm0): modem state 'enabling'
Mar 28 12:37:42 f26fc3a NetworkManager[1707]: <info>  [1616935062.6618] device (cdc-wdm0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Mar 28 12:37:43 f26fc3a NetworkManager[1707]: <info>  [1616935063.4683] modem["cdc-wdm0"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
Mar 28 12:37:43 f26fc3a NetworkManager[1707]: <info>  [1616935063.5020] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)
Mar 28 15:59:53 f26fc3a NetworkManager[1707]: <info>  [1616947193.8380] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Mar 28 15:59:54 f26fc3a NetworkManager[1707]: <info>  [1616947194.2632] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Mar 29 00:50:38 f26fc3a NetworkManager[1707]: <info>  [1616979038.7449] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Mar 29 00:50:39 f26fc3a NetworkManager[1707]: <info>  [1616979039.2164] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)

And just now I see that I still have an IP from the network and have sent and received bytes:

root@f26fc3a:~# mmcli -m 0 --command="AT+CGPADDR=1"
response: '+CGPADDR: 1,"10.xx.xxxx.47"'
root@f26fc3a:~# mmcli -m 0 --command="AT+QGDCNT?"
response: '+QGDCNT: 130626,206492'

Hi, can you disconnect the HAT and check without it?
Also, can you share the NM connection profile that you use?
Thirdly, what udev rule are you using for this?

Hi @floion, here you go.

I just tried disconnecting the RAK hat on the fin and rebooting, seems to have had no effect.

This is the connection profile for NM, added at flash stage.

connection]
id=iotdataworks 
type=gsm  
autoconnect=true

[gsm]
apn=m2mglobal

[serial]
baud=115200

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy  
method=ignore 

And this is what I appended to the config.json file at the same flash stage.

 "os": {
        "udevRules": {
            "20-quectel": "SUBSYSTEMS==\"usb\", ENV{.LOCAL_ifNum}=\"$attr{bInterfaceNumber}\"\n\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"05c6\", ATTRS{idProduct}==\"9003\", ENV{.LOCAL_ifNum}==\"01\", SYMLINK+=\"UC20.NMEA\", MODE=\"0660\"\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"05c6\", ATTRS{idProduct}==\"9003\", ENV{.LOCAL_ifNum}==\"02\", SYMLINK+=\"UC20.AT\", MODE=\"0660\"\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"05c6\", ATTRS{idProduct}==\"9003\", ENV{.LOCAL_ifNum}==\"03\", SYMLINK+=\"UC20.MODEM\", MODE=\"0660\"\n\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"2c7c\", ATTRS{idProduct}==\"0121\", ENV{.LOCAL_ifNum}==\"02\", SYMLINK+=\"EC21.AT\", MODE=\"0660\"\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"2c7c\", ATTRS{idProduct}==\"0121\", ENV{.LOCAL_ifNum}==\"03\", SYMLINK+=\"EC21.MODEM\", MODE=\"0660\"\n\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"2c7c\", ATTRS{idProduct}==\"0125\", ENV{.LOCAL_ifNum}==\"01\", SYMLINK+=\"EC25.NMEA\", MODE=\"0660\"\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"2c7c\", ATTRS{idProduct}==\"0125\", ENV{.LOCAL_ifNum}==\"02\", SYMLINK+=\"EC25.AT\", MODE=\"0660\"\nSUBSYSTEMS==\"usb\", KERNEL==\"ttyUSB[0-9]*\", ATTRS{idVendor}==\"2c7c\", ATTRS{idProduct}==\"0125\", ENV{.LOCAL_ifNum}==\"03\", SYMLINK+=\"EC25.MODEM\", MODE=\"0660\"\n\n"
        }
    }

I’m just realizing it appears as though the udevrule for my modem (EC25-AF) is incomplete.
Maybe this has something to do with the issue? I lifted this rule from these instructions: Create a GPS tracking system with cell connectivity and minimal bandwidth

Hi.
You should not need any udev rule for making it work. So you can remove that.
It worked out of the box for me with OS image version 2.72.0+rev1 and no udev rule. Can you try without it please?

I tested on EG25G and on EC25-E.
The EC25-E has firmware revision: EC25EFAR06A03M4G.

Also, did you verify your NM connection profile is good? Like, would you need to specify a special number, username, password etc. for your particular SIM card?
You can validate the SIM and the profile by using the SIM on a USB modem for example on your development machine.

Okay, I dropped the udev rules, triple checked the cellular profile for NetworkManager and reflashed to Fin.

Here are the results:

cdc-wdm0: disconnected
        "cdc-wdm0"
        gsm (option1, qmi_wwan), hw

-----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
           |                   state: registered
           |             power state: on
           |             access tech: lte
           |          signal quality: 86% (recent)


root@localhost:~# journalctl -u ModemManager
-- Logs begin at Fri 2020-02-07 15:50:55 UTC, end at Tue 2021-03-30 12:16:42 UTC. --
Mar 30 12:11:04 localhost ModemManager[1520]: ModemManager (version 1.14.2) starting in system bus...
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0] created endpoint
Mar 30 12:11:06 localhost ModemManager[1520]: cannot connect to proxy: Could not connect: Connection refused
Mar 30 12:11:06 localhost ModemManager[1520]: spawning new qmi-proxy (try 1)...
Mar 30 12:11:06 localhost ModemManager[1520]: [ttyUSB0/probe] failed to parse QCDM version info command result: -7
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0] Checking version info (20 retries)...
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0] QMI Device supports 30 services:
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ctl (1.5)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wds (1.67)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    dms (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    nas (1.25)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    qos (1.12)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wms (1.10)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    auth (1.3)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    at (1.2)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    voice (2.1)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    cat2 (2.24)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    uim (1.46)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    pbm (1.4)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    test (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    loc (2.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    sar (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ims (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    csd (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ts (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    tmd (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wda (1.16)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    csvt (1.1)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    imsp (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    imsa (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    coex (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    pdc (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    rfrpe (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    dsd (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x2d] (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x30] (1.0)
Mar 30 12:11:06 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x36] (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [device /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2] creating modem with plugin 'quect>
Mar 30 12:11:07 localhost ModemManager[1520]: [base-manager] modem for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2' successf>
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Opening device with flags 'version-info, proxy'...
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] created endpoint
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Checking version info (20 retries)...
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] QMI Device supports 30 services:
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ctl (1.5)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wds (1.67)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    dms (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    nas (1.25)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    qos (1.12)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wms (1.10)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    auth (1.3)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    at (1.2)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    voice (2.1)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    cat2 (2.24)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    uim (1.46)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    pbm (1.4)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    test (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    loc (2.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    sar (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ims (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    csd (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    ts (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    tmd (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    wda (1.16)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    csvt (1.1)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    imsp (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    imsa (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    coex (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    pdc (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    rfrpe (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    dsd (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x2d] (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x30] (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0]    unknown [0x36] (1.0)
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Reading expected data format from: /sys/class/net/wwan0/qmi/raw_ip
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Registered 'wda' (version 1.16) client with ID '1'
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Writing expected data format to: /sys/class/net/wwan0/qmi/raw_ip
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Reading expected data format from: /sys/class/net/wwan0/qmi/raw_ip
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Releasing 'wda' client with flags 'release-cid'...
Mar 30 12:11:07 localhost ModemManager[1520]: [/dev/cdc-wdm0] Unregistered 'wda' client with ID '1'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'dms' (version 1.0) client with ID '1'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f300000.mmcnr/mmc_hos>
Mar 30 12:11:07 7f09eff ModemManager[1520]: [base-manager] couldn't check support for device '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/>
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'nas' (version 1.25) client with ID '3'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'wms' (version 1.10) client with ID '1'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'uim' (version 1.46) client with ID '2'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'loc' (version 2.0) client with ID '1'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'pdc' (version 1.0) client with ID '1'
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:07 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'voice' (version 2.1) client with ID '3'
Mar 30 12:11:08 7f09eff ModemManager[1520]: [modem0] couldn't load SUPL server: LOC service: engine busy
Mar 30 12:11:08 7f09eff ModemManager[1520]: [modem0] couldn't load supported assistance data types: LOC service: general failure
Mar 30 12:11:08 7f09eff ModemManager[1520]: [modem0] state changed (unknown -> disabled)
Mar 30 12:11:08 7f09eff ModemManager[1520]: [modem0] state changed (disabled -> enabling)
Mar 30 12:11:08 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Allocating new client ID...
Mar 30 12:11:08 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '17'
Mar 30 12:11:08 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Releasing 'wds' client with flags 'release-cid'...
Mar 30 12:11:08 7f09eff ModemManager[1520]: [/dev/cdc-wdm0] Unregistered 'wds' client with ID '17'
Mar 30 12:11:09 7f09eff ModemManager[1520]: [modem0] state changed (enabling -> enabled)
Mar 30 12:11:09 7f09eff ModemManager[1520]: [modem0] 3GPP Registration state changed (unknown -> registering)
Mar 30 12:11:09 7f09eff ModemManager[1520]: [modem0] 3GPP Registration state changed (registering -> home)
Mar 30 12:11:09 7f09eff ModemManager[1520]: [modem0] state changed (enabled -> registered)

root@localhost:~# journalctl -u NetworkManager | grep cdc
Mar 30 12:11:08 7f09eff NetworkManager[1750]: <info>  [1617106268.7913] modem["cdc-wdm0"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
Mar 30 12:11:08 7f09eff NetworkManager[1750]: <info>  [1617106268.8015] manager: (cdc-wdm0): new Broadband device (/org/freedesktop/NetworkManager/Devices/6)
Mar 30 12:11:08 7f09eff NetworkManager[1750]: <info>  [1617106268.8047] device (cdc-wdm0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Mar 30 12:11:08 7f09eff NetworkManager[1750]: <info>  [1617106268.8089] device (cdc-wdm0): modem state 'enabling'
Mar 30 12:11:08 7f09eff NetworkManager[1750]: <info>  [1617106268.8204] device (cdc-wdm0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Mar 30 12:11:09 7f09eff NetworkManager[1750]: <info>  [1617106269.6302] modem["cdc-wdm0"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
Mar 30 12:11:09 7f09eff NetworkManager[1750]: <info>  [1617106269.6645] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)

But strangely, I’ve been assigned the same IP and show data transmitted.

root@localhost:~# mmcli -m 0 --command="AT+CGPADDR=1"
response: '+CGPADDR: 1,"10.xx.xxx.47"'
root@localhost:~# mmcli -m 0 --command="AT+QGDCNT?"
response: '+QGDCNT: 7577,10018'

Can you enable support access and share the uuid for the board? It should be connected over wifi or eth to internet.

Sure thing, granted for a week. UUID: 7f09eff3540abbc88de2dd80bc725516

Thanks. I see here https://forums.quectel.com/t/eg25-g-and-t-mobile/4469/2 that there may be issues with certain modems and the T-Mobile carrier.
Can you check if there is a newer firmware version for your modem and update to that please?

1 Like

@floion, I had seen that as well and am waiting on Quectel support for the EC25-AF firmware.

However, I managed to get this working on T-Mobile on a non-Balenaified Raspberry PI4 with a Sixfab HAT with the exact same modem and SIM quite reliably using the same QMI method.

I’m currently also investigating issues with a t-mobile based provider (1nce) and the EG25G modem and found a PDF on Telekom’s IoT page stating that the module is certified from the initial firmware. That seems to be conflicting with Quectel’s support info?!
image
direct link to PDF
PDF source (iot.telekom.com)

@Hesch you are right, a few days ago Quectel support themselves told me the EG25-G is certified (even though it does not show on T-Mobiles certified devices page).

image004

The EC25-AF has been certified (and listed on T-Mobile) since day one.

However, I ran out a purchased a few EC25-AFs before they told me the EG25-G should work just fine. I’ve tested both modems with the Fin and the results are the same as what I’ve posted above. So I’m inclined to believe its not the SIM, its not the modems, and its not the network.

Apparently its a bit complicated with the certification issue (see PDF below):
Quectel_EG25-G_T-Mobile_Certification_Software_Configuration_Guide_V1.0.pdf
However I couldn’t find a similar PDF for the EC25 so it might well be a different issue.

This is what I used as a guide for purchasing the EC25-AF. On the right hand side you can filter by manufacturer. Here is where I mentioned not seeing the EG25-G - even though Quectel support suggests it is certified which would imply it would be on this list as well.

On my side I tested on 2 different Quectel modems and works just fine: EG25G and on EC25-E.
I used a Soracom SIM card for it.
Would it be possible to try a SIM card from a different carrier for a quick test?

Hm… strange. Which network was that Soracom SIM running on? Was it T-Mobile?
I do have sims from hologram and twilio, I will try those again.