[Bugfix][T106BUG-367][T106BUG-364][T106BUG-353][T106BUG-369]fix and add qser sim api
Only Configure:No,
Affected branch:master,
Affected module:sim
Is it affected on both ZXIC and MTK:only ZXIC,
Self-test:Yes,
Doc Update:NO.
Change-Id: Icad95b7fec487c5227d9621f4a4b7fd57015fef9
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/liblynq-qser-sim/liblynq-qser-sim.bb b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/liblynq-qser-sim/liblynq-qser-sim.bb
index f4c89f4..71e2bcf 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/liblynq-qser-sim/liblynq-qser-sim.bb
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/liblynq-qser-sim/liblynq-qser-sim.bb
@@ -17,6 +17,9 @@
BB_INCLUDE_ADD = "--sysroot=${STAGING_DIR_HOST}"
BB_LDFLAGS_ADD = "--sysroot=${STAGING_DIR_HOST} -Wl,--hash-style=gnu"
#Parameters passed to do_compile()
+EXTRA_OEMAKE = "'RAT_CONFIG_C2K_SUPPORT = ${RAT_CONFIG_C2K_SUPPORT}'\
+ 'MTK_MULTI_SIM_SUPPORT = ${MTK_MULTI_SIM_SUPPORT}'\
+ 'TARGET_PLATFORM = ${TARGET_PLATFORM}'"
FILES_${PN} = "${base_libdir}/*.so "
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-sim-demo/files/lynq-qser-sim-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-sim-demo/files/lynq-qser-sim-demo.cpp
index abcea42..732225b 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-sim-demo/files/lynq-qser-sim-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-sim-demo/files/lynq-qser-sim-demo.cpp
@@ -12,6 +12,7 @@
#define BUF_SIZE 32
#define BUF_PIN 8
+#define VER_SIZE 128
typedef uint32_t sim_client_handle_type;
@@ -49,6 +50,11 @@
int (*qser_sim_enablepin)(sim_client_handle_type h_sim, QSER_SIM_ENABLE_PIN_INFO_T *pt_info);
int (*qser_sim_disablepin)(sim_client_handle_type h_sim, QSER_SIM_DISABLE_PIN_INFO_T *pt_info);
int (*qser_sim_getcardstatus)(sim_client_handle_type h_sim, QSER_SIM_SLOT_ID_TYPE_T simId, QSER_SIM_CARD_STATUS_INFO_T *pt_info);
+int (*qser_sim_getimei)(sim_client_handle_type h_sim, char *imei);
+int (*qser_get_imei_and_sv)(sim_client_handle_type h_sim,char *imei, char*sv);
+int (*qser_reset_modem)(sim_client_handle_type h_sim);
+int (*qser_get_version)(sim_client_handle_type h_sim, char *buf);
+int (*qser_reset_sim)(sim_client_handle_type h_sim);
typedef struct
@@ -70,7 +76,12 @@
{7, "qser_enable_pin"},
{8, "qser_disable_pin"},
{9, "qser_get_sim_status"},
- {10, "qser_deinit_sim"},
+ {10, "qser_get_imei"},
+ {11, "qser_get_imei_and_sv"},
+ {12, "qser_reset_modem"},
+ {13, "qser_get_version"},
+ {14, "qser_reset_sim"},
+ {15, "qser_deinit_sim"},
{-1, NULL}
};
@@ -405,6 +416,105 @@
//qser_deinit_sim
case 10:
{
+ char imei[BUF_SIZE]="";
+ qser_sim_getimei = (int(*)(sim_client_handle_type h_sim, char *imei))dlsym(dlHandle_sim,"qser_sim_getimei");
+ if(NULL != qser_sim_getimei)
+ {
+ res = qser_sim_getimei(h_sim, imei);
+ if(res == 0)
+ {
+ printf("get imei success!!!\n");
+ }else{
+ printf("get imei error, res = %d\n", res);
+ }
+ }else{
+ printf("qser_sim_getimei dlsym error\n");
+ }
+ flag_init = 0;
+ break;
+ }
+ //qser_get_imei_and_sv
+ case 11:
+ {
+ char imei[BUF_SIZE]="";
+ char sv[BUF_SIZE]="";
+ qser_get_imei_and_sv = (int(*)(sim_client_handle_type h_sim, char *imei, char *sv))dlsym(dlHandle_sim,"qser_get_imei_and_sv");
+ if(NULL != qser_get_imei_and_sv)
+ {
+ res = qser_get_imei_and_sv(h_sim, imei, sv);
+ if(res == 0)
+ {
+ printf("get imei and sv success!!!\n");
+ }else{
+ printf("get imei and sv error, res = %d\n", res);
+ }
+ }else{
+ printf("qser_get_imei_and_sv dlsym error\n");
+ }
+ flag_init = 0;
+ break;
+ }
+ //qser_reset_modem
+ case 12:
+ {
+ qser_reset_modem = (int(*)(sim_client_handle_type h_sim))dlsym(dlHandle_sim,"qser_reset_modem");
+ if(NULL != qser_reset_modem)
+ {
+ res = qser_reset_modem(h_sim);
+ if(res == 0)
+ {
+ printf("reset modem success!!!\n");
+ }else{
+ printf("reset modem error, res = %d\n", res);
+ }
+ }else{
+ printf("qser_reset_modem dlsym error\n");
+ }
+ flag_init = 0;
+ break;
+ }
+ //qser_get_version
+ case 13:
+ {
+ char buf[VER_SIZE]="";
+ qser_get_version = (int(*)(sim_client_handle_type h_sim, char *buf))dlsym(dlHandle_sim,"qser_get_version");
+ if(NULL != qser_get_version)
+ {
+ res = qser_get_version(h_sim, buf);
+ if(res == 0)
+ {
+ printf("get version success!!!\n");
+ }else{
+ printf("get version error, res = %d\n", res);
+ }
+ }else{
+ printf("qser_get_version dlsym error\n");
+ }
+ flag_init = 0;
+ break;
+ }
+ //qser_reset_sim
+ case 14:
+ {
+ qser_reset_sim = (int(*)(sim_client_handle_type h_sim))dlsym(dlHandle_sim,"qser_reset_sim");
+ if(NULL != qser_reset_sim)
+ {
+ res = qser_reset_sim(h_sim);
+ if(res == 0)
+ {
+ printf("reset sim success!!!\n");
+ }else{
+ printf("reset sim error, res = %d\n", res);
+ }
+ }else{
+ printf("qser_reset_sim dlsym error\n");
+ }
+ flag_init = 0;
+ break;
+ }
+ //qser_deinit_sim
+ case 15:
+ {
qser_sim_client_deinit = (int(*)(sim_client_handle_type h_sim))dlsym(dlHandle_sim,"qser_sim_client_deinit");
if(NULL != qser_sim_client_deinit)
{
@@ -413,7 +523,7 @@
{
printf("sim deinit success is!!!\n");
}else{
- printf("get imsi error, res = %d\n", res);
+ printf("sim deint errors, res = %d\n", res);
}
}else{
printf("qser_sim_client_deinit dlsym error\n");
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/include/lynq_qser_sim.h b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/include/lynq_qser_sim.h
index 0895f45..f4d3233 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/include/lynq_qser_sim.h
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/include/lynq_qser_sim.h
@@ -375,6 +375,11 @@
QSER_SIM_CARD_STATUS_INFO_T *pt_info ///< [OUT] Cart status infor output
);
+int qser_sim_getimei(sim_client_handle_type h_sim, char *imei);
+int qser_get_imei_and_sv(sim_client_handle_type h_sim,char *imei, char*sv);
+int qser_reset_modem(sim_client_handle_type h_sim);
+int qser_get_version(sim_client_handle_type h_sim, char *buf);
+int qser_reset_sim(sim_client_handle_type h_sim);
#ifdef __cplusplus
}
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/lynq_qser_sim.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/lynq_qser_sim.cpp
index d95945d..d413c17 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/lynq_qser_sim.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/lynq_qser_sim.cpp
@@ -209,5 +209,71 @@
return ret;
}
+int qser_sim_getimei(sim_client_handle_type h_sim, char *imei)
+{
+ int ret = 0;
+ if(h_sim == 0)
+ {
+ LYERRLOG("not init\n");
+ return E_QSER_ERROR_BADPARM;
+ }
+ ret = lynq_get_imei(imei);
+
+ LYINFLOG("[%s-%d] QSER_IMEI: %s\n", __FUNCTION__, __LINE__, imei);
+
+ return ret;
+}
+int qser_get_imei_and_sv(sim_client_handle_type h_sim,char *imei, char*sv)
+{
+ int ret = 0;
+
+ if(h_sim == 0)
+ {
+ LYERRLOG("not init\n");
+ return E_QSER_ERROR_BADPARM;
+ }
+ ret = lynq_get_imei_and_sv(imei, sv);
+ LYINFLOG("[%s-%d] QSER_GET_IMEI_AND_SV: %s, %s\n", __FUNCTION__, __LINE__, imei, sv);
+ return ret;
+}
+int qser_reset_modem(sim_client_handle_type h_sim)
+{
+ int ret = 0;
+
+ if(h_sim == 0)
+ {
+ LYERRLOG("not init\n");
+ return E_QSER_ERROR_BADPARM;
+ }
+ ret = lynq_reset_modem();
+ return ret;
+}
+
+int qser_get_version(sim_client_handle_type h_sim, char *buf)
+{
+ int ret = 0;
+
+ if(h_sim == 0)
+ {
+ LYERRLOG("not init\n");
+ return E_QSER_ERROR_BADPARM;
+ }
+ ret = lynq_get_version(buf);
+ LYINFLOG("[%s-%d] QSER_GET_VERSION: %s\n", __FUNCTION__, __LINE__, buf);
+ return ret;
+}
+
+int qser_reset_sim(sim_client_handle_type h_sim)
+{
+ int ret = 0;
+
+ if(h_sim == 0)
+ {
+ LYERRLOG("not init\n");
+ return E_QSER_ERROR_BADPARM;
+ }
+ ret = lynq_reset_sim();
+ return ret;
+}
DEFINE_LYNQ_LIB_LOG(LYNQ_QSER_SIM)
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/makefile b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/makefile
index cafc77c..12704dd 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/makefile
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-sim/makefile
@@ -10,6 +10,9 @@
-fpermissive \
+ifeq ($(strip $(TARGET_PLATFORM)), T106)
+LOCAL_CFLAGS += -DMOBILETEK_TARGET_PLATFORM_T106
+endif
$(warning ################# lynq qser sms demo ROOT: $(ROOT),includedir:$(includedir))
LOCAL_PATH = .
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
index 081c584..cd5220a 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
Binary files differ