Networking often fails after ModemManager restart, QMI protocol error (79): 'PolicyMismatch'
On a Librem 5, when doing "service ModemManager restart" the mobile network connection is sometimes restored afterwards, but most often it fails.
Here is what it looks like when it secceeds:
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] state changed (disabled -> enabling)
[...]
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] state changed (enabling -> enabled)
[...]
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] state changed (enabled -> registered)
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] simple connect state (6/8): bearer
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] simple connect state (7/8): connect
Nov 25 04:27:01 pureos ModemManager[1774]: <info> [modem0] state changed (registered -> connecting)
Nov 25 04:27:01 pureos ModemManager[1774]: [/dev/cdc-wdm0] Allocating new client ID...
Nov 25 04:27:01 pureos NetworkManager[594]: <info> [1669346821.9711] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)
Nov 25 04:27:01 pureos ModemManager[1774]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '5'
Nov 25 04:27:01 pureos NetworkManager[594]: <info> [1669346821.9838] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Nov 25 04:27:02 pureos ModemManager[1774]: <info> [modem0/bearer1] QMI IPv4 Settings:
Nov 25 04:27:02 pureos ModemManager[1774]: <info> [modem0/bearer1] address: [...]
Nov 25 04:27:02 pureos ModemManager[1774]: <info> [modem0/bearer1] gateway: [...]
Here is what it looks like when it fails:
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] state changed (disabled -> enabling)
[...]
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] state changed (enabling -> enabled)
[...]
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] state changed (enabled -> registered)
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] simple connect state (6/8): bearer
Nov 25 02:40:05 pureos NetworkManager[519]: <info> [1669340405.6091] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] simple connect state (7/8): connect
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0] state changed (registered -> connecting)
Nov 25 02:40:05 pureos ModemManager[1747]: [/dev/cdc-wdm0] Allocating new client ID...
Nov 25 02:40:05 pureos ModemManager[1747]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '5'
Nov 25 02:40:05 pureos NetworkManager[519]: <info> [1669340405.6231] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0/bearer1] couldn't start network: QMI protocol error (79): 'PolicyMismatch'
Nov 25 02:40:05 pureos ModemManager[1747]: [/dev/cdc-wdm0] Allocating new client ID...
Nov 25 02:40:05 pureos ModemManager[1747]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '6'
Nov 25 02:40:05 pureos ModemManager[1747]: <info> [modem0/bearer1] couldn't start network: QMI protocol error (79): 'PolicyMismatch'
Nov 25 02:40:05 pureos ModemManager[1747]: <warn> [modem0/bearer1] connection attempt #1 failed: QMI protocol error (79): 'PolicyMismatch'
After it fails like that, the only way I know to make things work again is to reboot.
Should the network always be restored after ModemManager restart?
Does the "PolicyMismatch" error indicate that ModemManager is doing something wrong?
Are there other ways to make the mobile networking work again, without needing to reboot?