[Bugfix][T108-GSW][bug-view-1473] change gsw_reset_modem from sim module to nw module
Only Configure: No
Affected branch: unknown
Affected module: data
Is it affected on both ZXIC and ASR: only ASR
Self-test: yes
Doc Update: no
Change-Id: Id20dde78474bc49b3cfe02d85e2371b2203e203f
diff --git a/mbtk/libgsw_lib/gsw_nw_interface.c b/mbtk/libgsw_lib/gsw_nw_interface.c
index 9005bbd..a21aec5 100755
--- a/mbtk/libgsw_lib/gsw_nw_interface.c
+++ b/mbtk/libgsw_lib/gsw_nw_interface.c
@@ -14,6 +14,10 @@
#define ENTRY_LENGTH 6
#define FPLMN_ARRAY_SIZE (FPLMN_STRING_LENGTH / 6) + 1
+#define MBTK_ERR_OK 0
+#define GSW_IMEI_LENGTH 20+1
+
+
#ifndef FALSE
#define FALSE (0)
#endif
@@ -328,6 +332,8 @@
int (*mbtk_radio_state_change_cb_reg)(mbtk_info_handle_t* handle, mbtk_info_callback_func cb);
int (*mbtk_oos_get)(mbtk_info_handle_t* handle, mbtk_oos_info *oos_info);
int (*mbtk_oos_set)(mbtk_info_handle_t* handle, mbtk_oos_info *oos_info);
+int (*mbtk_imei_get)(mbtk_info_handle_t* handle, void *imei);
+
static void (*mbtk_log)(int level, const char *format, ...);
static void (*mbtk_log_init)(char *path, char *tag);
@@ -603,6 +609,13 @@
LOGE("mbtk_oos_set dlsym fail\n");
return GSW_HAL_NORMAL_FAIL;
}
+
+ mbtk_imei_get = (int (*)(mbtk_info_handle_t* handle, void *imei))dlsym(dlHandle_mbtk, "mbtk_imei_get");
+ if (mbtk_imei_get == NULL)
+ {
+ LOGE("mbtk_imei_get dlsym fail\n");
+ return GSW_HAL_NORMAL_FAIL;
+ }
return GSW_HAL_SUCCESS;
}
@@ -1486,10 +1499,10 @@
{
int ret = -1;
- LOGE("gsw_get_nwinfo start\n");
+ printf("gsw_get_nwinfo start\n");
if (nw_init_flag == 0 || nw_info_handle == NULL)
{
- LOGE("nw_sdk_deinit not init\n");
+ printf("nw_sdk_deinit not init\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -1999,6 +2012,10 @@
*/
int gsw_sigInfo_to_csq(int netType, int sigValue)
{
+ if (nw_init_flag == 0 || nw_info_handle == NULL)
+ {
+ return GSW_HAL_NORMAL_FAIL;
+ }
switch(netType)
{
case 1:
@@ -2107,7 +2124,7 @@
if (nw_init_flag == 0 || nw_info_handle == NULL)
{
- LOGE("nw_sdk_deinit not init\n");
+ printf("nw_sdk_deinit not init\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -2461,7 +2478,7 @@
*/
int gsw_remove_forbidden_networks(gsw_nw_plmn_list_t *plmn_list)
{
- LOGE("gsw_remove_forbidden_networks enter\n");
+ printf("gsw_remove_forbidden_networks enter\n");
if (nw_init_flag == 0 || nw_info_handle == NULL)
{
return GSW_HAL_NORMAL_FAIL;
@@ -2646,5 +2663,80 @@
return GSW_HAL_SUCCESS;
}
+/**
+ * @brief get imei function
+ * @param [in] len imei length,max is 20
+ * @param [out] imei return imei from this func
+ * @retval 0: success
+ * @retval other: fail
+ */
+int gsw_get_imei(int len, char *imei)
+{
+ int ret = -1;
+ if (nw_init_flag == 0 || nw_info_handle == NULL)
+ {
+ printf("nw sdk has been deinit\n");
+ return GSW_HAL_NORMAL_FAIL;
+ }
+
+ if(imei == NULL)
+ {
+ LOGE("imei is NULL.");
+ return GSW_HAL_ARG_INVALID;
+ }
+
+ if(len < GSW_IMEI_LENGTH)
+ {
+ LOGE("imei len is too short,len = %d\n", len);
+ return GSW_HAL_NORMAL_FAIL;
+ }
+
+ ret = mbtk_imei_get(nw_info_handle, (void *)imei);
+ if(ret != MBTK_ERR_OK)
+ {
+ LOGE("[gsw_nw] mbtk_imei_get fail [err = %d].", ret);
+ return GSW_HAL_NORMAL_FAIL;
+ }
+
+ return GSW_HAL_SUCCESS;
+}
+
+/**
+ * @brief reset modem stack only, notice: after use this method, all ril sdk
+ * need restart by app, means network, sim, sms, data need deinit then init!
+ * @param
+ * @retval 0: success
+ * @retval other: fail
+ */
+int gsw_reset_modem(void)
+{
+ int ret = -1;
+ if (nw_init_flag == 0 || nw_info_handle == NULL)
+ {
+ printf("nw sdk has been deinit\n");
+ return GSW_HAL_NORMAL_FAIL;
+ }
+ mbtk_modem_info_t info;
+ info.fun = MBTK_DEV_MODEM_MIN_FUN;
+ info.rst = 0;
+
+ ret = mbtk_set_modem_fun(nw_info_handle, &info);
+ if(ret)
+ {
+ LOGE("[gsw_nw] mbtk_set_modem_fun 0 fail [err = %d].", ret);
+ return GSW_HAL_NORMAL_FAIL;
+ }
+
+ sleep(1);
+
+ info.fun = MBTK_DEV_MODEM_FULL_FUN;
+ ret = mbtk_set_modem_fun(nw_info_handle, &info);
+ if(ret)
+ {
+ LOGE("[gsw_nw] mbtk_set_modem_fun 1 fail [err = %d].", ret);
+ return GSW_HAL_NORMAL_FAIL;
+ }
+ return GSW_HAL_SUCCESS;
+}
diff --git a/mbtk/libgsw_lib/gsw_sim_interface.c b/mbtk/libgsw_lib/gsw_sim_interface.c
index d85d7df..a3f66d6 100755
--- a/mbtk/libgsw_lib/gsw_sim_interface.c
+++ b/mbtk/libgsw_lib/gsw_sim_interface.c
@@ -9,7 +9,6 @@
#define GSW_SIM_ICCID_LENGTH 20+1
#define GSW_SIM_IMSI_LENGTH 20+1
#define GSW_SIM_MSISDN_LENGTH 20+1
-#define GSW_SIM_IMEI_LENGTH 20+1
//mbtk include
typedef unsigned int uint32;
@@ -83,7 +82,6 @@
int (*mbtk_imsi_get)(mbtk_info_handle_t* handle, void *imsi);
int (*mbtk_iccid_get)(mbtk_info_handle_t* handle, void *iccid);
int (*mbtk_phone_number_get)(mbtk_info_handle_t* handle, void *phone_number);
-int (*mbtk_imei_get)(mbtk_info_handle_t* handle, void *imei);
int (*mbtk_set_modem_fun)(mbtk_info_handle_t* handle, mbtk_modem_info_t *info);
int (*mbtk_sim_power_set)(int power);
static void (*mbtk_log)(int level, const char *format, ...);
@@ -238,13 +236,7 @@
return GSW_HAL_NORMAL_FAIL;
}
- mbtk_imei_get = (int (*)(mbtk_info_handle_t* handle, void *imei))dlsym(dlHandle_mbtk, "mbtk_imei_get");
- if (mbtk_imei_get == NULL)
- {
- LOGE("mbtk_imei_get dlsym fail\n");
- return GSW_HAL_NORMAL_FAIL;
- }
-
+
mbtk_sim_state_get = (int (*)(mbtk_info_handle_t* handle, mbtk_sim_state_enum *sim_state))dlsym(dlHandle_mbtk, "mbtk_sim_state_get");
if (mbtk_sim_state_get == NULL)
{
@@ -319,9 +311,9 @@
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -349,12 +341,12 @@
*/
int gsw_get_sim_status(int *sim_state)
{
- LOGD("gsw_get_sim_status enter\n");
+ printf("gsw_get_sim_status enter\n");
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -423,9 +415,9 @@
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -462,9 +454,9 @@
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -501,7 +493,7 @@
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
@@ -530,46 +522,6 @@
}
/**
- * @brief get imei function
- * @param [in] len imei length,max is 20
- * @param [out] imei return imei from this func
- * @retval 0: success
- * @retval other: fail
- */
-int gsw_get_imei(int len, char *imei)
-{
- int ret = -1;
-
- if(sim_init_flag == 0 && sim_info_handle == NULL)
- {
- LOGE("sim sdk has been deinit\n");
- return GSW_HAL_NORMAL_FAIL;
- }
-
- if(imei == NULL)
- {
- LOGE("imei is NULL.");
- return GSW_HAL_ARG_INVALID;
- }
-
- if(len < GSW_SIM_MSISDN_LENGTH)
- {
- LOGE("imei len is too short,len = %d\n", len);
- return GSW_HAL_NORMAL_FAIL;
- }
-
- ret = mbtk_imei_get(sim_info_handle, (void *)imei);
- if(ret != MBTK_ERR_OK)
- {
- LOGE("[gsw_sim] mbtk_imei_get fail [err = %d].", ret);
- return GSW_HAL_NORMAL_FAIL;
- }
-
- return GSW_HAL_SUCCESS;
-}
-
-
-/**
* @brief set sim power down
* @param
* @retval 0: success
@@ -578,9 +530,9 @@
int gsw_set_sim_power_down(void)
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -609,9 +561,9 @@
int gsw_set_sim_power_up(void)
{
int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
+ if(sim_init_flag == 0 || sim_info_handle == NULL)
{
- LOGE("sim sdk has been deinit\n");
+ printf("sim sdk has been deinit\n");
return GSW_HAL_NORMAL_FAIL;
}
@@ -628,43 +580,3 @@
return GSW_HAL_SUCCESS;
}
-
-
-/**
- * @brief reset modem stack only, notice: after use this method, all ril sdk
- * need restart by app, means network, sim, sms, data need deinit then init!
- * @param
- * @retval 0: success
- * @retval other: fail
- */
-int gsw_reset_modem(void)
-{
- int ret = -1;
- if(sim_init_flag == 0 && sim_info_handle == NULL)
- {
- LOGE("sim sdk has been deinit\n");
- return GSW_HAL_NORMAL_FAIL;
- }
-
- mbtk_modem_info_t info;
- info.fun = MBTK_DEV_MODEM_MIN_FUN;
- info.rst = 0;
-
- ret = mbtk_set_modem_fun(sim_info_handle, &info);
- if(ret)
- {
- LOGE("[gsw_sim] mbtk_set_modem_fun fail [err = %d].", ret);
- return GSW_HAL_NORMAL_FAIL;
- }
-
- sleep(1);
-
- info.fun = MBTK_DEV_MODEM_FULL_FUN;
- ret = mbtk_set_modem_fun(sim_info_handle, &info);
- if(ret)
- {
- LOGE("[gsw_sim] mbtk_set_modem_fun fail [err = %d].", ret);
- return GSW_HAL_NORMAL_FAIL;
- }
- return GSW_HAL_SUCCESS;
-}
\ No newline at end of file
diff --git a/mbtk/test/libgsw_lib/gsw_nw_test.c b/mbtk/test/libgsw_lib/gsw_nw_test.c
index 9fc90b1..9cfb040 100755
--- a/mbtk/test/libgsw_lib/gsw_nw_test.c
+++ b/mbtk/test/libgsw_lib/gsw_nw_test.c
@@ -13,6 +13,8 @@
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+#define GSW_IMEI_LENGTH 20+1
+
#ifndef FALSE
#define FALSE (0)
#endif
@@ -631,7 +633,8 @@
int (*gsw_get_cell_info)(GSW_NW_CELL_INFO *cell_info);
int (*gsw_oos_config_get)(GSW_NW_OOS_CONFIG_INFO_T *pt_info);
int (*gsw_oos_config_set)(GSW_NW_OOS_CONFIG_INFO_T *pt_info);
-
+int (*gsw_get_imei)(int32_t len, int8_t *imei);
+int (*gsw_reset_modem)(void);
static int gsw_nw_api_import()
{
@@ -779,6 +782,18 @@
return -1;
}
+ gsw_get_imei = (int(*)(int32_t len, int8_t *imei))dlsym(dlHandle_nw,"gsw_get_imei");
+ if (gsw_get_imei == NULL) {
+ printf("dlsym gsw_get_imei fail\n");
+ return GSW_HAL_FAIL;
+ }
+
+ gsw_reset_modem = (int(*)(void))dlsym(dlHandle_nw,"gsw_reset_modem");
+ if (gsw_reset_modem == NULL) {
+ printf("dlsym gsw_reset_modem fail\n");
+ return GSW_HAL_FAIL;
+ }
+
return 0;
}
@@ -867,6 +882,8 @@
printf(" 21 gsw_reg_rej_cause_callback\n");
printf(" 22 gsw_oos_config_get\n");
printf(" 23 gsw_oos_config_set\n");
+ printf(" 24 gsw_get_imei\n");
+ printf(" 25 gsw_reset modem\n");
printf("-------------------------------------------------------------------------\n");
}
@@ -1304,7 +1321,35 @@
break;
}
-
+
+ case 24:
+ {
+ char imei[GSW_IMEI_LENGTH] = {0};
+ ret = gsw_get_imei(GSW_IMEI_LENGTH, (int8_t *)imei);
+ if(ret == 0)
+ {
+ printf("gsw_get_imei success, imei = %s\n",imei);
+ }
+ else
+ {
+ printf("gsw_get_imei fail,ret = %d\n",ret);
+ }
+ break;
+ }
+ //reset modem
+ case 25:
+ {
+ ret = gsw_reset_modem();
+ if(ret == 0)
+ {
+ printf("gsw_reset_modem success\n");
+ }
+ else
+ {
+ printf("gsw_reset_modem fail,ret = %d\n",ret);
+ }
+ break;
+ }
default:
{
continue;
diff --git a/mbtk/test/libgsw_lib/gsw_sim_test.c b/mbtk/test/libgsw_lib/gsw_sim_test.c
index 6ba8288..b7dea00 100755
--- a/mbtk/test/libgsw_lib/gsw_sim_test.c
+++ b/mbtk/test/libgsw_lib/gsw_sim_test.c
@@ -96,11 +96,8 @@
int (*gsw_get_sim_iccid)(int32_t len, int8_t *iccid);
int (*gsw_get_sim_imsi)(int32_t len, int8_t *imsi);
int (*gsw_get_sim_msisdn)(int32_t len, int8_t *msisdn);
-int (*gsw_get_imei)(int32_t len, int8_t *imei);
int (*gsw_set_sim_power_down)(void);
int (*gsw_set_sim_power_up)(void);
-int (*gsw_reset_modem)(void);
-
#define lib_gsw_sim_path "/lib/libgsw_lib.so"
static void *dlHandle_sim = NULL;
@@ -148,13 +145,7 @@
if (gsw_get_sim_msisdn == NULL) {
printf("dlsym gsw_get_sim_msisdn fail\n");
return GSW_HAL_FAIL;
- }
-
- gsw_get_imei = (int(*)(int32_t len, int8_t *imei))dlsym(dlHandle_sim,"gsw_get_imei");
- if (gsw_get_imei == NULL) {
- printf("dlsym gsw_get_imei fail\n");
- return GSW_HAL_FAIL;
- }
+ }
gsw_set_sim_power_down = (int(*)(void))dlsym(dlHandle_sim,"gsw_set_sim_power_down");
if (gsw_set_sim_power_down == NULL) {
@@ -167,13 +158,7 @@
printf("dlsym gsw_set_sim_power_up fail\n");
return GSW_HAL_FAIL;
}
-
- gsw_reset_modem = (int(*)(void))dlsym(dlHandle_sim,"gsw_reset_modem");
- if (gsw_reset_modem == NULL) {
- printf("dlsym gsw_reset_modem fail\n");
- return GSW_HAL_FAIL;
- }
-
+
return GSW_HAL_SUCCESS;
}
@@ -198,7 +183,6 @@
printf("6.sim states\n");
printf("7.sim power_down\n");
printf("8.sim power_up\n");
- printf("9.reset modem\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Enter cmd:");
char* temp = NULL;
@@ -340,23 +324,7 @@
printf("gsw_set_sim_power_up fail,ret = %d\n",ret);
}
break;
- }
-
- //reset modem
- case 9:
- {
- ret = gsw_reset_modem();
- if(ret == 0)
- {
- printf("gsw_reset_modem success\n");
- }
- else
- {
- printf("gsw_reset_modem fail,ret = %d\n",ret);
- }
- break;
- }
-
+ }
default :
{
printf("error cmd.\n");