From e5e131de3faf1530cc977edc643e886a640d3bde Mon Sep 17 00:00:00 2001 From: Serhii Kostiuk Date: Sat, 29 May 2021 00:02:00 +0300 Subject: [GP-1111] mPower R. Apr 2021: +CEMODE shall be set to CEMODE=2 Extended the implementation of "getSimCarrierCode" to detect the carrier (home network) based on the MCC/MNC combination. Historically mPower used ICCIDs to detect the carrier and apply the carrier-specific settings. ICCIDs are known for Verizon and AT&T, but the list of known ICCIDs is not exhaustive. This change allows the firmware to detect more AT&T SIM cards by using the MCC/MNC combinations (PLMN IDs) when ICCID is not recognized. Limitation: The SIM shall be relatively new and report its MNC length, otherwise MCC/MNC can't be determined and so the carrier code. --- include/mts/MTS_IO_CellularRadio.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h index 3783705..daefcd1 100644 --- a/include/mts/MTS_IO_CellularRadio.h +++ b/include/mts/MTS_IO_CellularRadio.h @@ -185,6 +185,8 @@ namespace MTS { //! Get carrier code based on the SIM card ID (ICCID) virtual CODE getSimCarrierCode(const std::string& sIccid, std::string& sCarrierCode); + //! Get carrier code based on the SIM MCC/MNC + virtual CODE getSimCarrierCode(const std::string& sMcc, const std::string& sMnc, std::string& sCarrierCode); /** * @brief simAccessReadBinary - Read a string of bytes from the SIM Elementary File. -- cgit v1.2.3