Good morning!
We use the Quectel EC20 on a Fin (running balenaOS 2.38.0+rev1), and a POD systems SIM and are facing a similar issue to @jha - we’re fine and connected for about a day or so, and then we can no longer connect.
We have ModemManager logs recovered once the devices are returned that look similar to this, looping per each reconnect attempt:
Aug 20 12:20:26 864cf15 ModemManager[674]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> connected)
Aug 20 12:20:26 864cf15 ModemManager[674]: Simple connect state (8/8): All done
Aug 20 12:30:25 864cf15 ModemManager[674]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> disconnecting)
Aug 20 12:30:25 864cf15 ModemManager[674]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disconnecting -> registered)
Aug 20 12:30:25 864cf15 ModemManager[674]: Simple connect started...
Aug 20 12:30:25 864cf15 ModemManager[674]: Simple connect state (4/8): Wait to get fully enabled
Aug 20 12:30:25 864cf15 ModemManager[674]: Simple connect state (5/8): Register
Aug 20 12:30:25 864cf15 ModemManager[674]: Simple connect state (6/8): Bearer
Aug 20 12:30:25 864cf15 ModemManager[674]: Simple connect state (7/8): Connect
Aug 20 12:30:25 864cf15 ModemManager[674]: Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Aug 20 12:30:26 864cf15 ModemManager[674]: QMI IPv4 Settings:
Aug 20 12:30:26 864cf15 ModemManager[674]: Address: x.x.x.x/30
Aug 20 12:30:26 864cf15 ModemManager[674]: Gateway: x.x.x.x
Aug 20 12:30:26 864cf15 ModemManager[674]: DNS #1: x.x.x.x
Aug 20 12:30:26 864cf15 ModemManager[674]: DNS #2: x.x.x.x
Aug 20 12:30:26 864cf15 ModemManager[674]: MTU: 1500
Aug 20 12:30:26 864cf15 ModemManager[674]: error: couldn't start network: QMI protocol error (14): 'CallFailed'
Aug 20 12:30:26 864cf15 ModemManager[674]: call end reason (1): 'generic-unspecified'
Aug 20 12:30:26 864cf15 ModemManager[674]: verbose call end reason (2,204): [internal] unknown-cause
And associated NetworkManager logs:
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.5942] device (cdc-wdm0): state change: activated -> deactivating (reason 'new-activation', sys-iface-state: 'managed')
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.6002] manager: NetworkManager state is now CONNECTED_LOCAL
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.6246] device (cdc-wdm0): disconnecting for new activation request.
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.6260] audit: op="connection-activate" uuid="66663a92-8fcb-4968-b848-c4ba0f365c6c" name="pod" pid=12532 uid=0 result="success"
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.6610] dns-mgr: Removing DNS information from /sbin/resolvconf
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.6987] modem["cdc-wdm0"]: modem state changed, 'connected' --> 'disconnecting' (reason: user-requested)
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7068] modem["cdc-wdm0"]: modem state changed, 'disconnecting' --> 'registered' (reason: user-requested)
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7074] device (cdc-wdm0): state change: deactivating -> disconnected (reason 'new-activation', sys-iface-state: 'managed')
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7083] dhcp4 (wwan0): canceled DHCP transaction
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7085] dhcp4 (wwan0): state changed bound -> done
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7245] device (cdc-wdm0): Activation: starting connection 'pod' (66663a92-8fcb-4968-b848-c4ba0f365c6c)
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7326] device (cdc-wdm0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7356] manager: NetworkManager state is now CONNECTING
Aug 20 12:30:25 864cf15 NetworkManager[741]: <info> [1566304225.7484] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3215] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'connected' (reason: user-requested)
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3411] device (cdc-wdm0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3459] device (cdc-wdm0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3508] dhcp4 (wwan0): activation: beginning transaction (no timeout)
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3521] modem["cdc-wdm0"]: IPv6 configuration disabled
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3897] dhcp4 (wwan0): address x.x.x.x
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3900] dhcp4 (wwan0): plen 30
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3901] dhcp4 (wwan0): expires in 7200 seconds (at 1566311426)
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3903] dhcp4 (wwan0): nameserver 'x.x.x.x x.x.x.x'
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3904] dhcp4 (wwan0): hostname '864cf15'
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3906] dhcp4 (wwan0): router x.x.x.x
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3907] dhcp4 (wwan0): mtu 1500
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.3919] dhcp4 (wwan0): state changed unknown -> bound
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4008] device (cdc-wdm0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4073] device (cdc-wdm0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4095] device (cdc-wdm0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4135] manager: NetworkManager state is now CONNECTED_LOCAL
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4347] manager: NetworkManager state is now CONNECTED_SITE
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4369] policy: set 'pod' (wwan0) as default for IPv4 routing and DNS
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.4413] dns-mgr: Writing DNS information to /sbin/resolvconf
Aug 20 12:30:26 864cf15 NetworkManager[741]: <info> [1566304226.5092] device (cdc-wdm0): Activation: successful, device activated.
The devices always reconnect once brought back in and booted back up. However, adding in something to force reboot our devices after losing connection for x amount of time seems like something we should only put in as a last resort, not something that should be required to maintain any kind of connectivity…
Anyone have any insight into this?
Edit: Our own app logs show that the state of the connection during this reconnection period is “NM_CONNECTIVITY_LIMITED” which suggests that it thinks it’s connected (to the mobile network) but not actively able to engage in a session or somesuch?