[Bugfix][T106BUG-18][T106BUG-11]fix reset sim bug
Only Configure:No
Affected branch:master
Affected module:No
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No
Change-Id: Id3bfac4bf5b7213651f12244d11d1afdc019258d
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
index f4328f4..384f916 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
@@ -46,6 +46,10 @@
{"RIL_REQUEST_SIM_IO", iccIOForApp, "", RIL_REQUEST_SIM_IO},
{"RIL_REQUEST_QUERY_EID", queryEid, "query Eid", RIL_REQUEST_QUERY_EID},
{"RIL_REQUEST_QUERY_SIM_RETRY_COUNT", querySimRetryCount, "", RIL_REQUEST_QUERY_SIM_RETRY_COUNT},
+ {"RIL_REQUEST_GET_MSISDN", querynum, "query num", RIL_REQUEST_GET_MSISDN},
+ {"RIL_REQUEST_RESET_SIMCARD", resetsimcard, "reset sim caryd", RIL_REQUEST_RESET_SIMCARD},
+
+
//Data
{"RIL_REQUEST_ALLOW_DATA",setDataAllowed, "allow data", RIL_REQUEST_ALLOW_DATA},
{"RIL_REQUEST_SETUP_DATA_CALL",setupDataCall, "set up data", RIL_REQUEST_SETUP_DATA_CALL},
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
index eb1f8d0..f809509 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
@@ -79,6 +79,8 @@
{ RIL_REQUEST_MODEM_POWERON,dispatchVoid,responseVoid},
//SIM
{ RIL_REQUEST_QUERY_ICCID, dispatchVoid, responseString},
+{ RIL_REQUEST_GET_MSISDN, dispatchVoid, responseString},
+{ RIL_REQUEST_RESET_SIMCARD, dispatchVoid, responseVoid},
//Keepalive
#ifdef KEEP_ALIVE
{ RIL_REQUEST_START_KEEPALIVE_PRO,dispatchStartKeepalivePro,responseInts},
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
index c23afae..84dcb15 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
@@ -5206,6 +5206,8 @@
case LYNQ_REQUEST_SET_DEFAULT_SIM_ALL:return "SET_DEFAULT_SIM_ALL";
case LYNQ_REQUEST_CHANGE_SCREEN_STATE:return "LYNQ_REQUEST_CHANGE_SCREEN_STATE";/*jb.qi add for two sim sleep 2022/9/19*/
case LYNQ_REQUEST_CHANGE_RADIO:return "LYNQ_REQUEST_CHANGE_RADIO";/*lei add for factory test of sleep 2022/9/19*/
+ case RIL_REQUEST_GET_MSISDN:return "RIL_REQUEST_GET_MSISDN";
+ case RIL_REQUEST_RESET_SIMCARD:return "RIL_REQUEST_RESET_SIMCARD";
/*warren add for t800 ril service 2022/1/22 end*/
default: return "<unknown request>";
}
@@ -5475,6 +5477,8 @@
case LYNQ_REQUEST_SET_DEFAULT_SIM_ALL:return "SET_DEFAULT_SIM_ALL";
case LYNQ_REQUEST_CHANGE_SCREEN_STATE:return "LYNQ_REQUEST_CHANGE_SCREEN_STATE";/*jb.qi add for two sim sleep 2022/9/19*/
case LYNQ_REQUEST_CHANGE_RADIO:return "LYNQ_REQUEST_CHANGE_RADIO";/*lei add for factory test of sleep 2022/9/19*/
+ case RIL_REQUEST_GET_MSISDN: return "GET MSISDN";
+ case RIL_REQUEST_RESET_SIMCARD: return "RESET SIMCARD";
/*warren add for t800 ril service 2022/1/22 end*/
default: return "<unknown request>";
}
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.cpp
index f1bba40..ca6fe69 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.cpp
@@ -474,6 +474,36 @@
return 0;
}
+//RIL_REQUEST_GET_MSISDN
+int querynum(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI) {
+ if(argc != 1)
+ {
+ free(pRI);
+ RLOGD("the paremeters numbers isn't right , so return");
+ return -1;
+ }
+ RLOGD("getcnum %d: " , pRI->pCI->requestNumber);
+ android::Parcel p;
+
+ pRI->pCI->dispatchFunction(p, pRI);
+ return 0;
+}
+
+//RIL_REQUEST_RESET_SIMCARD
+int resetsimcard(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI) {
+ if(argc != 1)
+ {
+ free(pRI);
+ RLOGD("the paremeters numbers isn't right , so return");
+ return -1;
+ }
+ RLOGD("resetsimcard %d: " , pRI->pCI->requestNumber);
+ android::Parcel p;
+
+ pRI->pCI->dispatchFunction(p, pRI);
+ return 0;
+}
+
//RIL_REQUEST_QUERY_EID
int queryEid(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI) {
if(argc != 1)
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.h
index 54d2564..47b6b8f 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/sim.h
@@ -64,4 +64,7 @@
int iccCloseLogicalChannel(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
int querySimRetryCount(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
int queryEid(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
+int querynum(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
+int resetsimcard(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
+
#endif
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h b/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
index 325d52f..bf271f1 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
@@ -71,8 +71,11 @@
* @brief sim power on/off
*
*/
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+int lynq_reset_sim(void);
+#else
int lynq_sim_power(int mode);
-
+#endif
/**
* @brief reset modem
*
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
index a32d152..e62153a 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
@@ -338,6 +338,23 @@
return res;
}
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+int lynq_reset_sim(void)
+{
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
+ Parcel p;
+ int res = lynq_send_common_request(&p,RIL_REQUEST_RESET_SIMCARD,0,1,"");
+ if(res != 0)
+ {
+ RLOGD("function %s execute error", __FUNCTION__);
+ return res;
+ }
+ return res;
+}
+#else
int lynq_sim_power(int mode)
{
if(g_lynq_sim_init_flag == 0)
@@ -353,6 +370,7 @@
}
return res;
}
+#endif
int lynq_disable_pin(char *pin){
if(g_lynq_sim_init_flag == 0)
@@ -510,7 +528,26 @@
return 9001;
}
}
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+int lynq_query_phone_number(char buf[]){
+ if(g_lynq_sim_init_flag == 0)
+ {
+ return -1;
+ }
+ Parcel p;
+ int res = lynq_send_common_request(&p,RIL_REQUEST_GET_MSISDN,0,1,"");
+
+ if(res != 0)
+ {
+ RLOGD("function %s execute error", __FUNCTION__);
+ return res;
+ }
+ char * test = lynqStrdupReadString(p);
+ memcpy(buf, test, strlen(test));
+ return res;
+}
+#else
int lynq_query_phone_number(char buf[]){
if(g_lynq_sim_init_flag == 0)
{
@@ -535,6 +572,7 @@
}
return res;
}
+#endif
int lynq_get_imei(char buf[])
{
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
index a096d09..d9a5253 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/lynq.h
@@ -96,6 +96,7 @@
#define LYNQ_GET_IMEI LYNQ_SIM + 15
#define LYNQ_GET_VERSION LYNQ_SIM + 16
+#define LYNQ_GET_MSISDN LYNQ_SIM + 18
#define LYNQ_QSER_SIM LYNQ_BASE + 140
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
index ce61de2..beafc9c 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/makefile
@@ -7,7 +7,7 @@
-flto \
ifeq ($(strip $(TARGET_PLATFORM)), T106)
-LOCAL_CFLAGS += -DBINDER_IPC_32BIT=1 -DHAVE_ENDIAN_H -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DHAVE_POSIX_FILEMAP -DHAVE_STRLCPY -DHAVE_PRCTL -DHAVE_MEMSET16 -DHAVE_MEMSET32 -DANDROID_SMP=0
+LOCAL_CFLAGS += -DBINDER_IPC_32BIT=1 -DHAVE_ENDIAN_H -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DHAVE_POSIX_FILEMAP -DHAVE_STRLCPY -DHAVE_PRCTL -DHAVE_MEMSET16 -DHAVE_MEMSET32 -DANDROID_SMP=0 -DMOBILETEK_TARGET_PLATFORM_T106
endif
LOCAL_CFLAGS += -Wno-error=format-security
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
index 7254719..5d84011 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/req_commands.h
@@ -82,6 +82,7 @@
//RIL_REQUEST_OEM_HOOK_RAW
{"LYNQ_SIM_DEINIT",deinit_sim, "deinit sim lib", LYNQ_SIM_DEINIT},
{"LYNQ_GET_VERSION",get_version, "lynq get version", LYNQ_GET_VERSION},
+ {"LYNQ_GET_MSISDN",get_msisdn, "lynq get msisdn", LYNQ_GET_MSISDN},
//
//QSER SIM
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.cpp b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.cpp
index cc1e461..bf7f92a 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.cpp
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.cpp
@@ -68,7 +68,11 @@
printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);
int ret = -1;
int mode = 0;
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+ ret = lynq_reset_sim();
+#else
ret = lynq_sim_power(mode);
+#endif
printf("%s%d\n",TEST_RESULT,ret);
return ret;
}
@@ -200,6 +204,17 @@
return ret;
}
+int get_msisdn(int argc, char *argv[], int sp_test)
+{
+ printf("[%s][%d] enter!\n",__FUNCTION__,__LINE__);
+ char buf[128] = "";
+ int ret = -1;
+ ret = lynq_query_phone_number(buf);
+ printf("[%s][%d] buf = %s\n",__FUNCTION__,__LINE__, buf);
+ printf("%s%d\n",TEST_RESULT,ret);
+ return ret;
+}
+
//qser api
sim_client_handle_type ph_sim;
int qser_init_sim(int argc, char *argv[], int sp_test)
diff --git a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.h b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.h
index ce6a254..bd6511f 100755
--- a/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.h
+++ b/cap/zx297520v3/src/lynq/packages/apps/Mobiletek_Tester_RDIT/sim.h
@@ -18,6 +18,8 @@
int deinit_sim(int argc, char *argv[], int sp_test);
int get_version(int argc, char *argv[], int sp_test);
int reset_modem(int argc, char *argv[], int sp_test);
+int get_msisdn(int argc, char *argv[], int sp_test);
+int reset_simcard(int argc, char *argv[], int sp_test);
//QSER SIM
int qser_init_sim(int argc, char *argv[], int sp_test);