diff --git a/mbtk/libgsw_lib/gsw_sim_interface.c b/mbtk/libgsw_lib/gsw_sim_interface.c
index cdcc9a7..d85d7df 100755
--- a/mbtk/libgsw_lib/gsw_sim_interface.c
+++ b/mbtk/libgsw_lib/gsw_sim_interface.c
@@ -584,12 +584,17 @@
         return GSW_HAL_NORMAL_FAIL;
     }
 
-    ret = mbtk_sim_power_set(0);
-    if(ret != MBTK_ERR_OK)
+    mbtk_modem_info_t info;
+    info.fun = MBTK_DEV_MODEM_DISABLE_SIM;
+    info.rst = 0;
+
+    ret = mbtk_set_modem_fun(sim_info_handle, &info);
+    if(ret)
     {
-        LOGE("[gsw_sim] mbtk_sim_power_set fail [err = %d].", ret);
+        LOGE("mbtk_set_modem_fun() fail [err = %d].", ret);
         return GSW_HAL_NORMAL_FAIL;
     }
+
     return GSW_HAL_SUCCESS;
 }
 
@@ -610,12 +615,17 @@
         return GSW_HAL_NORMAL_FAIL;
     }
 
-    ret = mbtk_sim_power_set(1);
-    if(ret != MBTK_ERR_OK)
+    mbtk_modem_info_t info;
+    info.fun = MBTK_DEV_MODEM_FULL_FUN;
+    info.rst = 0;
+
+    ret = mbtk_set_modem_fun(sim_info_handle, &info);
+    if(ret)
     {
-        LOGE("[gsw_sim] mbtk_sim_power_set fail [err = %d].", ret);
+        LOGE("mbtk_set_modem_fun() fail [err = %d].", ret);
         return GSW_HAL_NORMAL_FAIL;
     }
+    
     return GSW_HAL_SUCCESS;
 }
 
