Restrict Operator Selection

Aleksander Morgado aleksandermj at
Fri Feb 24 17:35:05 UTC 2023


> We have some devices in far away locations, using roaming IoT-focused SIM cards.
> In some situations we find that modems will roam to very expensive
> networks, when a cheaper alternative is available in that area.
> Is there an interface to set the operator MCC / MNC via `mmcli`?
> The AT command would be `AT+COPS=1,2,${MCCMNC}`, but you can't issue
> AT commands unless debug mode is enabled.
> From the documentation, I'm not convinced
> `--3gpp-register-in-operator=MCCMNC` is what I'm after...
> i.e: does it do the equivalent of above? ... is it a "one-time
> request" or even a "try manual, fallback on auto".
> If this is indeed what I'm after, but it needs to be issued
> periodically, then that's fine.
> Equally, if it's persistent, how would we cancel this? (reboot / power
> cycle the modem?)

--3gpp-register-in-operator=MCCMNC should be equivalent to
AT+COPS=1,2,${MCCMNC} (i.e. manual registration)
--3gpp-register-in-home should be equivalent to AT+COPS=0 (i.e. auto

Now, that is not completely true I'm afraid, because when those APIs
were developed, I recall that we introduced a change where we would
say 'if we're in auto and we're asked to register in a specific
MCCMNC, we won't issue a new +COPS command to explicitly restrict to
that MCCMNC as we're already registered'. I think someone tried to fix
that some years ago to make it equivalent to the COPS command without
that extra logic, but I don't think it was ever changed. We should
change that.


More information about the ModemManager-devel mailing list