diff options
| author | John Klug <john.klug@multitech.com> | 2023-01-11 11:26:50 -0600 | 
|---|---|---|
| committer | John Klug <john.klug@multitech.com> | 2023-01-11 11:26:50 -0600 | 
| commit | e661044a43345f7cac947c3bb6178a2c045028f6 (patch) | |
| tree | 904f32734e0e2dff8ecccbf83264b8bf8a8cecc1 /src/MTS_IO_LE910Radio.cpp | |
| parent | 81c924e1b30efabd5e5a7c712998b989917b2a8e (diff) | |
| parent | 430506fb7757d6736988d75c8ea53c85f6c97da9 (diff) | |
| download | libmts-io-e661044a43345f7cac947c3bb6178a2c045028f6.tar.gz libmts-io-e661044a43345f7cac947c3bb6178a2c045028f6.tar.bz2 libmts-io-e661044a43345f7cac947c3bb6178a2c045028f6.zip | |
Verizon IMSI detection merge1.0.33
Diffstat (limited to 'src/MTS_IO_LE910Radio.cpp')
| -rw-r--r-- | src/MTS_IO_LE910Radio.cpp | 65 | 
1 files changed, 65 insertions, 0 deletions
| diff --git a/src/MTS_IO_LE910Radio.cpp b/src/MTS_IO_LE910Radio.cpp index ba03c5e..2f1debb 100644 --- a/src/MTS_IO_LE910Radio.cpp +++ b/src/MTS_IO_LE910Radio.cpp @@ -165,3 +165,68 @@ ICellularRadio::CODE LE910Radio::getUeModeOfOperation(ICellularRadio::UE_MODES_O      return rc;  } +const std::vector<std::string>& LE910Radio::getDiagCommands(bool bIsSimReady) { +    // Declare as static to initialize only when used, but cache the results. +    const static std::vector<std::string> vCommands { +        // Radio model and firmware: +        "AT+CGMI", "AT+CGMM", "AT+CGMR", "AT#SWPKGV", "AT#CFVR", + +        // Current operator profile on the radio side: +        "AT#FWSWITCH?", "AT+CGSN", + +        // SIM card information: +        "AT#SIMDET?", "AT#CCID", "AT+CPIN?", "AT#PCT", + +        // Operating mode of the radio: +        "AT+CFUN?", + +        // Low-level network settings: +        "AT+WS46?", "AT#RXDIV", "AT#CALLDISA?", "AT+CEMODE?", + +        // Data connection configuration: +        "AT+CGDCONT?", "AT#PDPAUTH?", + +        // Registration and connection to the tower: +        "AT+CIND?", "AT+CSQ", "AT+COPS?", "AT+CREG?", "AT+CGREG?", "AT+CEREG?", +        "AT#RFSTS", "AT#PSNT?", "AT#MONI", + +        // Data connection status: +        "AT+CGACT?", "AT+CGCONTRDP=1", "AT+CGCONTRDP=2", "AT+CGCONTRDP=3" +    }; + +    const static std::vector<std::string> vSimLockedCommands { +        // Radio model and firmware: +        "AT+CGMI", "AT+CGMM", "AT+CGMR", "AT#SWPKGV", "AT#CFVR", + +        // Current operator profile on the radio side: +        "AT#FWSWITCH?", "AT+CGSN", + +        // SIM card information: +        "AT#SIMDET?", "AT#CCID", "AT+CPIN?", "AT#PCT", + +        // Operating mode of the radio: +        "AT+CFUN?", + +        // Low-level network settings: +        "AT+WS46?", "AT#RXDIV", "AT#CALLDISA?", "AT+CEMODE?", + +        // Data connection configuration: +        "AT+CGDCONT?", "AT#PDPAUTH?", + +        // Registration and connection to the tower. +        // The same set of commands, but AT#RFSTS is replaced with a dummy command. +        "AT+CIND?", "AT+CSQ", "AT+COPS?", "AT+CREG?", "AT+CGREG?", "AT+CEREG?", +        "AT#RFSTS_IGNORED", "AT#PSNT?", "AT#MONI", + +        // Data connection status: +        "AT+CGACT?", "AT+CGCONTRDP=1", "AT+CGCONTRDP=2", "AT+CGCONTRDP=3" +    }; + +    // Ignore AT#RFSTS on LE910 radios (mostly legacy ones like LAT1 and LEU1) if +    // the SIM card is locked by PIN or PUK. Telit Support Portal Case #5069697. +    if (bIsSimReady) { +        return vCommands; +    } else { +        return vSimLockedCommands; +    } +} | 
