Some doubts regarding ModemManager Network Registration API

Aleksander Morgado aleksander at
Wed Jun 26 08:42:33 UTC 2019


>    I have a few questions regarding getting Network Registration status
> in ModemManager.
> May I know how can I achieve the following:
> 1. How to get if current network registration state is automatic?

There is no way to know this from the outside right now. By default it
is automatic always, unless explicitly set to manual by the user. If
mulitple MM clients are around, you wouldn't know if a different
client has set it to manual or not.
We could extend the DBus API to report it, it wouldn't be a big issue.
Patches would be welcome :D

> 2. How to get if modem is currently midst the network registration
> process (ie, the state
>     at which the ModemManager has requested the modem to register to some
> network, but
>     the request isn't yet complete, or so)

So, here's the thing, unless a user-requested register operation is
being processed, the registration process in 3GPP devices is automatic
and there's no direct report of its status. The only information we
have, that we also expose in the API, is whether the modem is "idle"
(not looking to be registered), "searching" (looking for a network to
register to), and "home"/"roaming" (registered in home or roaming
network). You have this information in the 3GPP registration state
property in the Modem3gpp interface.

For user-requested register operations, the process is not 100%
consistent among different modems, and I have to warn you about that.
E.g. when a manual registration in a given network is requested via
AT-based modems, we may get the AT command response once we have been
fully registered in the requested network. In QMI-based modems, I know
that the manual registration request is replied before the full
registration to the new network has been done, and that is something
we should fix in MM (it's been in my TODO list for some weeks now,
should get to do that soon).


More information about the ModemManager-devel mailing list