diff --git a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
index a8470b2..8206074 100755
--- a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
+++ b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
@@ -1395,6 +1395,9 @@
 # CONFIG_NET_VENDOR_XILINX is not set
 CONFIG_NET_VENDOR_ZTE=y
 CONFIG_ZX29_GMAC=y
+# zw.wang modify for T106BUG-423 20240118 start
+CONFIG_BOOT_WITHOUT_LOCK=y
+# zw.wang modify for T106BUG-423 20240118  end
 CONFIG_PHYLIB=y
 CONFIG_SWPHY=y
 CONFIG_FIXED_PHY=y
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
index b497527..105d347 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
@@ -1594,7 +1594,7 @@
         return -1;
     }
 
-    if(user == NULL || strcmp(user, "NULL") == 0)
+    if(user == NULL || strcmp(user, "NULL") == 0 || strlen(user) == 0)
     {
         argv[1] = NULL;
     }
@@ -1603,7 +1603,7 @@
         argv[1] = user;
     }
 
-    if(password == NULL || strcmp(password, "NULL") == 0)
+    if(password == NULL || strcmp(password, "NULL") == 0 || strlen(password) == 0)
     {
         argv[2] = NULL;
     }
@@ -1612,7 +1612,7 @@
         argv[2] = password;
     }
 
-    if(authType == NULL || strcmp(authType, "NULL") == 0)
+    if(authType == NULL || strcmp(authType, "NULL") == 0 || strlen(authType) == 0)
     {
         argv[3] = NULL;
     }
@@ -1620,7 +1620,7 @@
     {
         argv[3] = authType;
     }
-    if(normalProtocol==NULL)
+    if(normalProtocol==NULL|| strlen(normalProtocol) == 0)
     {
         argv[4] = "IPV4V6";
     }
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
index fb7494a..a4e452e 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
@@ -850,6 +850,8 @@
     }
     //check apn_type
     check_node = modify_node;
+    bzero(temp_buff,12);
+    snprintf(temp_buff,sizeof(temp_buff),"%d",(unsigned int)apn->profile_idx);
     while (check_node != NULL)
     {
         if (xmlGetProp(check_node, "profile_idx") == NULL)  //Null Node
@@ -859,6 +861,11 @@
         }
         else if(strcmp((char *)xmlGetProp(check_node, "apn_type"), apn->apn_type) == 0)
         {
+            if(strcmp((char *)xmlGetProp(check_node, "profile_idx"), temp_buff) == 0)
+            {
+                check_node = check_node->next;
+                continue;
+            }
             LYERRLOG("apntype already exists\n");
             goto FAILED;
         }
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/mbtk_gnss.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/mbtk_gnss.cpp
index d508438..90a5521 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/mbtk_gnss.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/mbtk_gnss.cpp
@@ -474,6 +474,7 @@
 {
     int ret = 0;
     int i = 0;
+    int location = 17;
     static struct mopen_location_info_t mopen_location_info;
     static int64_t tmp_time = 0;
     mopen_gnss_nmea_info_t nmea_info;
@@ -513,7 +514,9 @@
     //set system time.
     if (g_gnss_sync_enable_flag == 1 && g_gnss_sync_done == 0)
     {
-        if( strncmp(data+3,NMEA_RMC,strlen(NMEA_RMC)) == 0 && data[17] == 'A')
+        
+        location = (gpio21_value == 0?17:18);
+        if(strncmp(data+3,NMEA_RMC,strlen(NMEA_RMC)) == 0 && data[location] == 'A')
         {
             if (update_system_time(nmea_info.timestamp) == 0)
             {
