MC7430 doesn't reconnect after outage in MBIM mode

Hello. I’m not sure if I have a problem with modem firmware, configuration, NetworkManager or ModemManager, but I’m hoping someone here can help guide me to a solution.

Connecting to 4G with a Sierra Wireless MC7430 under CentOS 8 works in general, but after a brief loss of signal, the connection is not correctly re-established. The issue initially occurred with NM 1.22.8 and MM 1.10.8 but persists under NM 1.32.10 (the latest available for CentOS 8). The modem is on firmware 02.33.03.00_GENERIC.

The connection profile works for bringing the connection up on boot, as does manually reconnecting with nmcli con up 4G_network , so I don’t think it is a problem with the profile. Just in case, I explicitly added autoconnect=true and autoconnect-retries=0 to the profile but the result was the same.

It seems like NM never times out when waiting for the activation to occur, and even though it logs the state change of the modem 'connecting' --> 'registered' this also doesn’t prompt it to try connecting again. On the other hand, perhaps the problem is with MM not timing out the final step of Simple Connect, or it could even be the modem firmware forgetting it was trying to connect.

I’m relatively new to the world of 4G modems, so I apologise if any of this is obvious or if I’ve missed something important in the description. I am not yet allowed to attach files, so here is a snippet from the log showing the disconnection, state change of the modem when signal is restored 12 s later, and the lack of reconnection at that point:

Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> registered)
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1744] modem["cdc-wdm0"]: modem state changed, 'connected' --> 'registered' (reason: user-requested)
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1745] device (cdc-wdm0): state change: activated -> failed (reason 'modem-no-carrier', sys-iface-state: 'managed')
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <warn>  [1637944904.1763] device (cdc-wdm0): Activation: failed for connection '4G_network'
Nov 27 03:41:44 unit-1 dbus-daemon[1032]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.9' (uid=0 pid=1132 comm="/usr/sbin/NetworkManager --no-daemon ")
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1770] manager: NetworkManager state is now CONNECTED_LOCAL
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1775] device (cdc-wdm0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1801] policy: auto-activating connection '4G_network' (59829f95-938d-408a-9a7b-f78790b6eea4)
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1806] device (cdc-wdm0): Activation: starting connection '4G_network' (59829f95-938d-408a-9a7b-f78790b6eea4)
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1807] device (cdc-wdm0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 27 03:41:44 unit-1 systemd[1]: Starting Network Manager Script Dispatcher Service...
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1809] manager: NetworkManager state is now CONNECTING
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1812] device (cdc-wdm0): state change: prepare -> need-auth (reason 'none', sys-iface-state: 'managed')
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1825] device (cdc-wdm0): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Simple connect started...
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Simple connect state (4/8): Wait to get fully enabled
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Simple connect state (5/8): Register
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Simple connect state (6/8): Bearer
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Simple connect state (7/8): Connect
Nov 27 03:41:44 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (registered -> connecting)
Nov 27 03:41:44 unit-1 NetworkManager[1132]: <info>  [1637944904.1848] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Nov 27 03:41:44 unit-1 dbus-daemon[1032]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 27 03:41:44 unit-1 systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 27 03:41:48 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (home -> idle)
Nov 27 03:41:48 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (idle -> searching)
Nov 27 03:41:56 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (searching -> registering)
Nov 27 03:41:56 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state changed (registering -> home)
Nov 27 03:41:56 unit-1 ModemManager[1038]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> registered)
Nov 27 03:41:56 unit-1 NetworkManager[1132]: <info>  [1637944916.3022] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
-- no more activity for cdc-wdm0

Thank you for any help or suggestions you have.

MM 1.10.8 is extremely old, the last stable release was 1.18.4, so you’re years behind. Please try to upgrade to a newer release.

Then, please try to gather ModemManager debug logs, see Debugging | ModemManager and then post the issue along with those logs either to the MM gitlab or to the MM mailing list.

Thank you very much for taking the time to reply, and sorry I didn’t reply sooner.

I understand that MM 1.10.8 is getting on to be three years old now, but unfortunately I’m not in a position to change the OS in use to get access to a newer version. I’m going to try and get the latest package from the CentOS Stream 8 repos to test, but in the meantime I was able to test three other combinations of MM and NM under Ubuntu instead of CentOS, including an even older version of MM. All of the combinations handled the network outage the way I had expected CentOS to. Combinations tested were:

  • MM 1.10.0 and NM 1.10.6
  • MM 1.12.8 and NM 1.22.10
  • MM 1.16.6 and NM 1.32.12

The closest issue I’ve found to the behaviour I see is this Chromium issue, but it was patched back in MM 1.4.

Are you aware of any CentOS-specific issues or could there be other software installed that is interfering with MM/NM’s attempts to restore the connection?

The chances of being a CentOS-specific issue are minimal, I’d say 0. Were you able to gather MM debug logs? Without those it’s not easy to understand what the issue may be.

I’ve added a debug log to an issue I raised on the NetworkManager project here.

Sorry if it should have been on the ModemManager project; I wasn’t sure which was more appropriate at the time.