[Fearture]Add AT+LYNQFACTORY=iccid to get two cards' iccid in one time
Only Configure: Yes
Affected branch: MR3.0-Merge-v3.0-DSDS
Affected module: AT
Is it affected on both ZXIC and MTK: only MTK
Self-test: No
Doc Update: No
Change-Id: Ic3d16e881f03c036a0eee652e59a40981eee6939
diff --git a/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp b/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
index fc4d4ec..82a3ad8 100755
--- a/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
+++ b/common_src/lib/liblynq-at-factory/lynq_at_factory.cpp
@@ -756,6 +756,41 @@
}
+void lynq_handle_iccid_dual(char *input)
+{
+ RLOGD("function %s line %d input %s\n", __FUNCTION__, __LINE__, input);
+ FILE *fp_sim1;
+ FILE *fp_sim2;
+ char buf_sim1[64] = {0};
+ char buf_sim2[64] = {0};
+ char sim1_iccid[64] = {0};
+ char sim2_iccid[64] = {0};
+ fp_sim1=popen("uci get radio_property.property.vendor_ril_iccid_sim1", "r");
+ fp_sim2=popen("uci get radio_property.property.vendor_ril_iccid_sim2", "r");
+ if(NULL == fp_sim1 || NULL == fp_sim2){
+ char *str = "popen errorn\n";
+ handle_output(str, strlen(str), Response);
+ }
+ fgets(buf_sim1, sizeof(buf_sim1), fp_sim1);
+ fgets(buf_sim2, sizeof(buf_sim2), fp_sim2);
+ if(strstr(buf_sim1,":empty") != NULL)
+ {
+ strcpy(buf_sim1,"empty");
+ }
+ if(strstr(buf_sim2,":empty") != NULL)
+ {
+ strcpy(buf_sim2,"empty");
+ }
+ sprintf(sim1_iccid,"+iccid1:%s\r\n",buf_sim1);
+ sprintf(sim2_iccid,"+iccid2:%s\r\n",buf_sim2);
+ handle_output(sim1_iccid, strlen(sim1_iccid), Response);
+ handle_output(sim2_iccid, strlen(sim2_iccid), Response);
+ lynq_response_ok();
+ pclose(fp_sim1);
+ pclose(fp_sim2);
+}
+
+
static Command commands[] =
{
{"adc",lynq_handle_adc},
@@ -767,6 +802,7 @@
{"rgmii",lynq_handle_rgmii},
{"sgmii",lynq_handle_sgmii},
{"usb",lynq_handle_usb},
+ {"iccid",lynq_handle_iccid_dual},
{NULL, NULL}
};