[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