Preferred PLMN list support in ModemManager

Teijo Kinnunen teijo.kinnunen at uros.com
Fri Feb 12 12:39:44 UTC 2021


Hi,

We seem to have need for a new feature in MM again: the ability to read
and write the SIM card's preferred PLMN list (basically the equivalent
of AT+CPOL functionality). If it looks feasible, we could contribute
the code needed for this.

In addition, for the preferred PLMN list to take effect, we'd need to
unregister from the current PLMN and trigger a new registration. This is
possible with AT+COPS=2 for unregistration (which is not supported by MM
at the moment) and AT+COPS=0 for starting auto-registration again (this
is supported already with the Modem3gpp.Register() method).

Thus, for the new APIs I would propose something like the following:

1) org.freedesktop.ModemManager1.Modem.Modem3gpp:
    - New method Unregister() which triggers unregistration from the
      currently selected PLMN (i.e. similar with AT+COPS=2).

2) org.freedesktop.ModemManager1.Sim:
    - Properties:
      MaxPreferredPLMNs  readable u
        Maximum number of Preferred PLMN entries supported by the SIM
        card.
      PreferredPLMNs     readable a(su)
        Array of Preferred PLMN entries on the SIM card; trailing
        empty indices are not included but any empty index before the
        last filled entry is included.

        The string is a MCCMNC 5 or 6 digit operator code (or empty),
        and the unsigned integer is a MMModemAccessTechnology bitmask.

    - Methods:
      SetPreferredPLMNs(IN a(su))
        Sets the preferred PLMN list on the SIM card.

Would this make any sense?

BR,

- Teijo


More information about the ModemManager-devel mailing list