3GPP Operator ID Switching
Greetings, Using NetworkManager version 1.14.4 and ModemManager 1.8 we are seeing the following issue when using SIMs (configured with valid APNs and under plans that allow international roaming between US and MX) in Quectel branded modems (UC20 for 3G and EC25G for 4G devices):
The unit travels from a US bounded carrier to a Mexico carrier. Upon that transition, modem is listed as CONNECTED but we are unable to use any network features. Upon 3GPP scan, it is found that the original operator ID, that was set in the US, is no longer the current ID:
Original (US) Connection:
-------------------------
Hardware | manufacturer: QUALCOMM INCORPORATED
| model: 0
| revision: UC20GQBR03A14E1G 1 [2014/05/05 9:00:00]
| equipment id: 861075026238352
-------------------------
Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
| state: connecting
| power state: on
| access tech: unknown
| signal quality: 0 (cached)
-------------------------
3GPP | imei: 861075026238352
| imsi: 310410242293119
| enabled locks: none
| operator id: 310410
| operator name: AT&T
| subscription: unknown
| registration: home
3GPP Scan results:
310260 - T-Mobile (umts, available)
33420 - TELCEL (gsm, available)
33403 - movistar (gsm, available)
33403 - movistar (umts, current)
33420 - TELCEL (umts, available)
33490 - (umts, available)
33450 - Iusacell (umts, available)
As shown above, the operator ID of the modem info (310410) does not match the operator ID of the current network from the scan (33403).
Again, when this discrepancy happens, we cannot use the network in anyway and our device becomes inoperable. We are creating a fix path that simply "resets" the modem (calls modem disable and lets the auto-connect feature restart it) and are finding some success with that but that seems to be a bit extreme. Our questions are:
Is there an automated solution that can detect the change over operator ID and re-register? Is there any process that needs to be done during initial registration that allows manager to "know" when a difference should be acted upon? Is resetting the modem in this case a scalable solution?
For reference, our solution path of resetting the modem does seem to "work" on the most part with the modem often getting enumerated differently (e.g. 0 -> 1, etc.) on the 3G modems (UC20) but not on the 4G modems (EC25G)
Can provide logs where necessary