diff --git a/mbtk/mbtk_gnssd/gnss_hd8122.c b/mbtk/mbtk_gnssd/gnss_hd8122.c
index 3163819..7416b19 100755
--- a/mbtk/mbtk_gnssd/gnss_hd8122.c
+++ b/mbtk/mbtk_gnssd/gnss_hd8122.c
@@ -433,6 +433,25 @@
     return GNSS_ERR_OK;
 }
 
+static gnss_err_enum gnss_8122_cfg_save(int fd)
+{
+    uint8 buff[GNSS_PACK_BUFF_SIZE];
+    LOGD("CFG SAVE");
+    uint8 data[8];
+    memset(data, 0x00, 8);
+    data[4] = 0x0f;
+    int len = pack_create(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_CFG, 8, data, buff, sizeof(buff));
+    if(len <= 0)
+    {
+        LOGE("pack_create() fail.");
+        return GNSS_ERR_ARG;
+    }
+    log_hex("PACK", buff, len);
+    gnss_write(fd, buff, len);
+    msg_insert(HD8122_ID_TYPE_CFG, HD8122_ID_CFG_CFG);
+    return GNSS_ERR_OK;
+}
+
 static gnss_err_enum gnss_8122_msgcfg(int fd, uint8 type, uint8 id, uint8 period)
 {
     uint8 buff[GNSS_PACK_BUFF_SIZE];
@@ -786,6 +805,8 @@
             {
                 goto set_fail;
             }
+
+            gnss_set_result = gnss_8122_cfg_save(fd);
             should_wait_rsp = TRUE;
         }
         else if(memcmp(cmd, "$MSGCFG", 7) == 0)     // $MSGCFG,<mode>,<rate>
