From 42d384984b2f760bc8f7a69c7ea3464c73f4d892 Mon Sep 17 00:00:00 2001 From: Serhii Kostiuk Date: Tue, 2 Jun 2020 17:19:03 +0300 Subject: [GP-651] LNA7: Allow to start the OMA DM procedure when it is required This commits adds support for the Quectel-specific OMA DM commands. This allows to trigger OMA DM procedure om Verizon to fetch the corrent APN values and other settings from the network. Expected radio output on success: ``` +QODM: "DME",0,DM Start +QODM: "DME",0,DM End ``` Other +QODM URC codes are also possible according to information from Quectel forum: https://forums.quectel.com/t/what-is-the-meaning-of-qodm-fumo-report-failed/2444/5. But only "DM Start" and "DM End" responses are expected, supported and treated as correct in the libmts-io. --- include/mts/MTS_IO_CellularRadio.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/mts/MTS_IO_CellularRadio.h') diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h index 56506af..7f4ed2b 100644 --- a/include/mts/MTS_IO_CellularRadio.h +++ b/include/mts/MTS_IO_CellularRadio.h @@ -100,6 +100,7 @@ namespace MTS { CODE updateFumo(const Json::Value& jArgs, UpdateCb& stepCb) override; CODE resetHfa(const Json::Value& jArgs, UpdateCb& stepCb) override; CODE activate(const Json::Value& jArgs, UpdateCb& stepCb) override; + CODE startOmaDm(UpdateCb& stepCb) override; CODE setActiveFirmware(const Json::Value& jArgs) override; CODE getActiveFirmware(std::string& sFwId) override; CODE getEcho(bool& bEnabled) override; -- cgit v1.2.3 From 7634bcfed0ea186175e9f59672a38d2a86fbf025 Mon Sep 17 00:00:00 2001 From: Serhii Kostiuk Date: Tue, 16 Jun 2020 11:50:20 +0300 Subject: GP-654: Add SIM card-based carrier detection This commit adds implementation of the SIM-based carrier detection. The goal for this implementation is to replace various places in the firmware that previously relied on the ICCID-based carrier detection, provide some layer of abstraction and forward compatibility for such places. It is particularly useful for fwSwitch radios with AUTO firmware selection capability. --- include/mts/MTS_IO_CellularRadio.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/mts/MTS_IO_CellularRadio.h') diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h index 7f4ed2b..e65eb4e 100644 --- a/include/mts/MTS_IO_CellularRadio.h +++ b/include/mts/MTS_IO_CellularRadio.h @@ -81,6 +81,7 @@ namespace MTS { CODE convertCellModesToString(CELLULAR_MODES eCellModes, std::string& sCellModes) override; CODE unlockSimCard(const Json::Value& jArgs) override; + CODE getMtsSimCarrierCode(std::string& sCarrier) override; CODE getMipProfile(Json::Value& jMipProfile) override; CODE validateMsl(const Json::Value& jArgs) override; @@ -164,6 +165,9 @@ namespace MTS { */ virtual CODE getSimLockAttempts(int& iAttemptsPin, int& iAttemptsPuk) = 0; + //! Get MTS carrier code based on the SIM card ID (ICCID) + virtual CODE getMtsSimCarrierCode(const std::string& sIccid, std::string& sCarrier); + void initMipProfile(Json::Value& jData); bool splitAndAssign(const std::string& sLine, const std::string& sKey, Json::Value& jParent, const std::string& sJsonKey, Json::ValueType eType = Json::ValueType::stringValue); -- cgit v1.2.3 From 747b898f36c4764475e61f20847ba4bbb3a81404 Mon Sep 17 00:00:00 2001 From: Serhii Kostiuk Date: Tue, 16 Jun 2020 15:37:02 +0300 Subject: [GP-654] Add SIM card-based carrier detection Changes after a code review: - renamed "MTS Carrier Code" to the "Carrier Code"; - fixed descriptions for the new field and methods. --- include/mts/MTS_IO_CellularRadio.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/mts/MTS_IO_CellularRadio.h') diff --git a/include/mts/MTS_IO_CellularRadio.h b/include/mts/MTS_IO_CellularRadio.h index e65eb4e..ed87a24 100644 --- a/include/mts/MTS_IO_CellularRadio.h +++ b/include/mts/MTS_IO_CellularRadio.h @@ -81,7 +81,7 @@ namespace MTS { CODE convertCellModesToString(CELLULAR_MODES eCellModes, std::string& sCellModes) override; CODE unlockSimCard(const Json::Value& jArgs) override; - CODE getMtsSimCarrierCode(std::string& sCarrier) override; + CODE getSimCarrierCode(std::string& sCarrierCode) override; CODE getMipProfile(Json::Value& jMipProfile) override; CODE validateMsl(const Json::Value& jArgs) override; @@ -165,8 +165,8 @@ namespace MTS { */ virtual CODE getSimLockAttempts(int& iAttemptsPin, int& iAttemptsPuk) = 0; - //! Get MTS carrier code based on the SIM card ID (ICCID) - virtual CODE getMtsSimCarrierCode(const std::string& sIccid, std::string& sCarrier); + //! Get carrier code based on the SIM card ID (ICCID) + virtual CODE getSimCarrierCode(const std::string& sIccid, std::string& sCarrierCode); void initMipProfile(Json::Value& jData); bool splitAndAssign(const std::string& sLine, const std::string& sKey, Json::Value& jParent, const std::string& sJsonKey, Json::ValueType eType = Json::ValueType::stringValue); -- cgit v1.2.3