summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2021-05-28 15:47:24 +0300
committerSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2021-05-28 23:27:41 +0300
commit471672f4f6e9085ea93536508d908c75f9c74421 (patch)
tree1ad7a84f49e12ce537ab92e78b2a5cef4f122676
parent0b0453bfed849170b23b7adadaab6e660dc46452 (diff)
downloadradio-query-471672f4f6e9085ea93536508d908c75f9c74421.tar.gz
radio-query-471672f4f6e9085ea93536508d908c75f9c74421.tar.bz2
radio-query-471672f4f6e9085ea93536508d908c75f9c74421.zip
[GP-1111] mPower R. Apr 2021: +CEMODE shall be set to CEMODE=2
Added an ability to read the PLMN ID (MCC/MNC combination) of the home carrier from the SIM.
-rw-r--r--main.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/main.cpp b/main.cpp
index c82a3ae..427de5e 100644
--- a/main.cpp
+++ b/main.cpp
@@ -90,7 +90,8 @@ const uint32_t OPT_SIM_STATUS = 0x00040000;
const uint32_t OPT_RADIO_CODE = 0x00080000;
const uint32_t OPT_SIM_CARRIER_CODE = 0x00100000;
const uint32_t OPT_VENDORFIRMWARE = 0x00200000;
-const uint32_t OPT_UE_MODE_OF_OPERATION = 0x00400000;
+const uint32_t OPT_UE_MODE_OF_OPERATION= 0x00400000;
+const uint32_t OPT_SIM_MCC_MNC = 0x00800000;
const uint32_t OPT_SUMMARY_STATIC = 0x01000000;
const uint32_t OPT_SUMMARY_NETWORK = 0x02000000;
@@ -338,17 +339,22 @@ int main(int argc, char** argv) {
if (result == ICellularRadio::SUCCESS) {
printf("%s", sValue.c_str());
}
- }
- else if (g_iOptions & OPT_UE_MODE_OF_OPERATION) {
+ } else if (g_iOptions & OPT_UE_MODE_OF_OPERATION) {
std::string sValue;
ICellularRadio::UE_MODES_OF_OPERATION mode;
result = g_apRadio->getUeModeOfOperation(mode);
if (result == ICellularRadio::SUCCESS) {
result = g_apRadio->convertUeModeToString(mode, sValue);
- if(result == ICellularRadio::SUCCESS) {
+ if (result == ICellularRadio::SUCCESS) {
printf("%s", sValue.c_str());
}
}
+ } else if (g_iOptions & OPT_SIM_MCC_MNC) {
+ std::string sValue;
+ result = g_apRadio->getSimMccMnc(sValue);
+ if (result == ICellularRadio::SUCCESS) {
+ printf("%s", sValue.c_str());
+ }
}
if (g_bIstty && result == ICellularRadio::CODE::SUCCESS)
@@ -576,6 +582,12 @@ Json::Value getStaticData() {
}
jData[MTS::IO::ICellularRadio::KEY_SIM_CARRIER_CODE] = sCarrierCode;
+ std::string sCarrierId(ICellularRadio::VALUE_UNKNOWN);
+ if(g_apRadio->getSimMccMnc(sCarrierId) != ICellularRadio::SUCCESS) {
+ printWarning("SIM carrier MCC/MNC information not found");
+ }
+ jData[MTS::IO::ICellularRadio::KEY_SIM_MCC_MNC] = sCarrierId;
+
return jData;
}
@@ -631,6 +643,7 @@ void parseOptions(int argc, char** argv) {
{ "supported-cellular-modes", no_argument, &iOption, OPT_SUPPORTED_CELL_MODE },
{ "sim-carrier-code", no_argument, &iOption, OPT_SIM_CARRIER_CODE },
{ "ue-mode-of-operation", no_argument,&iOption, OPT_UE_MODE_OF_OPERATION },
+ { "sim-mcc-mnc", no_argument, &iOption, OPT_SIM_MCC_MNC },
{ 0, 0, 0, 0 } };
/* getopt_long stores the option index here. */
@@ -742,6 +755,7 @@ void printHelp(const std::string& sApp) {
printf("\t--supported-cellular-modes\n");
printf("\t--sim-carrier-code\n");
printf("\t--ue-mode-of-operation\n");
+ printf("\t--sim-mcc-mnc\n");
// Applicable for LTE910-NA1 dual FW images only
// printf("\t--active-firmware\n");
printf("\n");