[Bugfix][API-872]support WPA3 and wpa2/wpa3 mode for wifi

Change-Id: I9df4aeee6b5d0e0c792d2b5c0771088169814911
diff --git a/lib/liblynq-wifi6/libwifi6.c b/lib/liblynq-wifi6/libwifi6.c
index 25e429b..2903075 100755
--- a/lib/liblynq-wifi6/libwifi6.c
+++ b/lib/liblynq-wifi6/libwifi6.c
@@ -21,6 +21,7 @@
 #include <arpa/inet.h>
 #include <netdb.h>
 #include <ifaddrs.h>
+#include "log/log.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -29,6 +30,8 @@
 }
 #endif
 
+#undef LOG_TAG
+#define LOG_TAG "LYNQ_WIFI"
 #define MAX_CMD 128
 #define MAX_RET 4096
 #define MODE_LEN 10
@@ -89,7 +92,7 @@
 {
     int ret;
     if (ctrl->ctrl == NULL) {
-        printf("local_wpa_ctrl_request ctrl is null\n");
+        RLOGE("local_wpa_ctrl_request ctrl is null\n");
         return -1;
     }
     pthread_mutex_lock(&ctrl->mutex);
@@ -102,7 +105,7 @@
     int repeat_cnt;
     struct local_wpa_ctrl *lynq_wpa_ctrl = NULL;
     pthread_mutex_lock(&s_check_wpa_ctrl_mutex);
-    printf("inner_get_wpa_ctrl\n");
+    RLOGD("inner_get_wpa_ctrl\n");
     for (repeat_cnt = 0; repeat_cnt < 5 && NULL == g_lynq_wpa_ctrl[index]; repeat_cnt++) {
         pthread_mutex_unlock(&s_check_wpa_ctrl_mutex);
 //        printf("wait enable finish\n");
@@ -110,13 +113,13 @@
         pthread_mutex_lock(&s_check_wpa_ctrl_mutex);
     }
     if (NULL == g_lynq_wpa_ctrl[index]) {
-        printf("NULL == g_lynq_wpa_ctrl[index]\n");
+        RLOGE("NULL == g_lynq_wpa_ctrl[index]");
         goto out_addr;
     }
     if (NULL == g_lynq_wpa_ctrl[index]->ctrl) {
         g_lynq_wpa_ctrl[index]->ctrl = wpa_ctrl_open(CTRL_PATH[index]);
         if (NULL == g_lynq_wpa_ctrl[index]->ctrl) {
-            printf("wpa_ctrl_open fail\n");
+            RLOGE("wpa_ctrl_open fail\n");
             goto out_addr;
         }
         pthread_mutex_init(&g_lynq_wpa_ctrl[index]->mutex, NULL);
@@ -136,7 +139,7 @@
 #define CHECK_IDX(idx, type) do { \
         if ( (idx == LYNQ_WIFI_INTERFACE_0 && type != CTRL_STA) || (idx == LYNQ_WIFI_INTERFACE_1 && type != CTRL_AP) \
                 || idx < LYNQ_WIFI_INTERFACE_0 || idx > LYNQ_WIFI_INTERFACE_1 ) { \
-            printf("not support create [%s] on interface [%d]\n", (type == CTRL_STA ? "station" : "ap"), idx); \
+            RLOGE("not support create [%s] on interface [%d]\n", (type == CTRL_STA ? "station" : "ap"), idx); \
             return -1; \
         } \
     }while (0)
@@ -153,23 +156,23 @@
 #define DO_REQUEST(cmd_str) do { \
         reply_len = MAX_RET;\
         cmd_reply[0] = '\0'; \
-        printf("to call [%s]\n", cmd_str);  \
+        RLOGD("to call [%s]\n", cmd_str);  \
         ret = local_wpa_ctrl_request(lynq_wpa_ctrl, cmd_str, strlen(cmd_str), cmd_reply, &reply_len, NULL); \
         if (ret != 0) { \
-            printf("call "#cmd_str" fail %d\n", ret); \
+            RLOGE("call "#cmd_str" fail %d\n", ret); \
             return ret; \
         } \
         cmd_reply[reply_len+1] = '\0'; \
-        printf("cmd replay [ %s ]\n", cmd_reply); \
+        RLOGD("cmd replay [ %s ]\n", cmd_reply); \
     }while(0)
 
 #define DO_OK_FAIL_REQUEST(cmd_str) do { \
         DO_REQUEST(cmd_str); \
         if (reply_len >=4 && memcmp(cmd_reply, "FAIL", 4) == 0 ) {\
-            printf("cmd "#cmd_str" return FAIL\n"); \
+            RLOGE("cmd "#cmd_str" return FAIL\n"); \
             return -1; \
         } else if (reply_len >=2 && memcmp(cmd_reply, "OK", 2) != 0) { \
-            printf("cmd "#cmd_str" return not OK|FAIL\n"); \
+            RLOGE("cmd "#cmd_str" return not OK|FAIL\n"); \
             return -1; \
         } \
     }while (0)
@@ -184,10 +187,13 @@
     struct wpa_ctrl *lynq_wpa_ctrl = NULL;
     g_ap_watcher_stop_flag = 0;
 
-    while (g_ap_watcher_stop_flag == 0) {
-        if (lynq_wpa_ctrl == NULL) {
+    while (g_ap_watcher_stop_flag == 0)
+    {
+        if (lynq_wpa_ctrl == NULL)
+	{
             lynq_wpa_ctrl = wpa_ctrl_open(CTRL_PATH[CTRL_AP]); //@todo temp change
-            if (lynq_wpa_ctrl == NULL) {
+            if (lynq_wpa_ctrl == NULL)
+	    {
                 usleep(100*1000);
                 continue;
             }
@@ -196,32 +202,40 @@
             g_ap_watcher_started_flag = 1;
         }
 
-        if ( 0 == wpa_ctrl_pending(lynq_wpa_ctrl)) {
+        if ( 0 == wpa_ctrl_pending(lynq_wpa_ctrl))
+	{
             usleep(100*1000);
             continue;
         }
         memset(msg_notify, 0, MAX_RET);
         len = MAX_RET;
-        if (!wpa_ctrl_recv(lynq_wpa_ctrl, msg_notify, &len)) {
+        if (!wpa_ctrl_recv(lynq_wpa_ctrl, msg_notify, &len))
+	{
             msg_notify[len+1] = '\0';
-            printf("ap------> %s\n", msg_notify);
+            RLOGD("STAWatcherThreadProc ap------> %s\n", msg_notify);
 //you.chen change for tv-box start
-            if (strstr(msg_notify, "AP-STA-DISCONNECTED") != NULL) {
+            if (strstr(msg_notify, "AP-STA-DISCONNECTED") != NULL)
+	    {
                 if (g_ap_callback_func != NULL)
                     g_ap_callback_func(g_ap_callback_priv, LYNQ_WIFI_STATUS_DISCONNECT);
-                if (g_gbw_enabled == 1 && g_gbw_mac != NULL) {
-                    printf("disconect %d, %s ,%s\n", g_gbw_enabled, g_gbw_mac, strstr(msg_notify, (const char*)g_gbw_mac));
-                    if (strstr(msg_notify, (const char*)g_gbw_mac) != NULL) {
+                if (g_gbw_enabled == 1 && g_gbw_mac != NULL)
+		{
+                    RLOGD("disconect %d, %s ,%s\n", g_gbw_enabled, g_gbw_mac, strstr(msg_notify, (const char*)g_gbw_mac));
+                    if (strstr(msg_notify, (const char*)g_gbw_mac) != NULL)
+		    {
                         stopGBW();
                     }
                 }
             }
-            else if (strstr(msg_notify, "AP-STA-CONNECTED") != NULL) {
+            else if (strstr(msg_notify, "AP-STA-CONNECTED") != NULL)
+	    {
                 if (g_ap_callback_func != NULL)
                     g_ap_callback_func(g_ap_callback_priv, LYNQ_WIFI_STATUS_CONNECT);
-                if (g_gbw_enabled == 1 && g_gbw_mac != NULL) {
-                    printf("conect %d, %s ,%s\n", g_gbw_enabled, g_gbw_mac, strstr(msg_notify, (const char*)g_gbw_mac));
-                    if (strstr(msg_notify, (const char*)g_gbw_mac) != NULL) {
+                if (g_gbw_enabled == 1 && g_gbw_mac != NULL)
+		{
+                    RLOGD("conect %d, %s ,%s\n", g_gbw_enabled, g_gbw_mac, strstr(msg_notify, (const char*)g_gbw_mac));
+                    if (strstr(msg_notify, (const char*)g_gbw_mac) != NULL)
+		    {
                         startGBW();
                     }
                 }
@@ -229,7 +243,8 @@
 //you.chen add for tv-box end
         } // end if (!wpa_ctrl_recv(lynq_wpa_ctrl, msg_notify, &len))
     } // end while (g_ap_watcher_stop_flag == 0)
-    if (lynq_wpa_ctrl != NULL) {
+    if (lynq_wpa_ctrl != NULL)
+    {
         wpa_ctrl_detach(lynq_wpa_ctrl);
         wpa_ctrl_close(lynq_wpa_ctrl);
     }
@@ -244,10 +259,13 @@
     struct wpa_ctrl *lynq_wpa_ctrl = NULL;
     g_sta_watcher_stop_flag = 0;
 
-    while (g_sta_watcher_stop_flag == 0) {
-        if (lynq_wpa_ctrl == NULL) {
+    while (g_sta_watcher_stop_flag == 0)
+    {
+        if (lynq_wpa_ctrl == NULL)
+	{
             lynq_wpa_ctrl = wpa_ctrl_open(CTRL_PATH[CTRL_STA]);
-            if (lynq_wpa_ctrl == NULL) {
+            if (lynq_wpa_ctrl == NULL)
+	    {
                 usleep(100*1000);
                 continue;
             }
@@ -256,51 +274,64 @@
             g_sta_watcher_started_flag = 1;
         }
 
-        if ( 0 == wpa_ctrl_pending(lynq_wpa_ctrl)) {
+        if ( 0 == wpa_ctrl_pending(lynq_wpa_ctrl))
+	{
             usleep(100*1000);
             continue;
         }
         memset(msg_notify, 0, MAX_RET);
         len = MAX_RET;
-        if (!wpa_ctrl_recv(lynq_wpa_ctrl, msg_notify, &len)) {
+        if (!wpa_ctrl_recv(lynq_wpa_ctrl, msg_notify, &len))
+	{
             msg_notify[len+1] = '\0';
-            printf("sta ------> %s\n", msg_notify);
-            if (strstr(msg_notify, state_scan_result) != NULL) {
+            RLOGD("STAWatcherThreadProc sta ------> %s\n", msg_notify);
+            if (strstr(msg_notify, state_scan_result) != NULL)
+	    {
                 g_sta_scan_finish_flag = 1;
             }
 
-            if (g_sta_callback_func == NULL) {
+            if (g_sta_callback_func == NULL)
+	    {
                 continue;
             }
             error = -1;
-            if (strstr(msg_notify, "CTRL-EVENT-SCAN-RESULTS") != NULL) {
+            if (strstr(msg_notify, "CTRL-EVENT-SCAN-RESULTS") != NULL)
+	    {
                 g_sta_callback_func(g_ap_callback_priv, LYNQ_WIFI_STA_STATUS_SCAN_RESULT, error);
             }
-            else if (strstr(msg_notify, "CTRL-EVENT-CONNECTED") != NULL) {
+            else if (strstr(msg_notify, "CTRL-EVENT-CONNECTED") != NULL)
+	    {
                 g_sta_callback_func(g_ap_callback_priv, LYNQ_WIFI_STA_STATUS_CONNECT, error);
             }
-            else if (strstr(msg_notify, "CTRL-EVENT-SSID-TEMP-DISABLED") != NULL) {
+            else if (strstr(msg_notify, "CTRL-EVENT-SSID-TEMP-DISABLED") != NULL)
+	    {
                 pReason = strstr(msg_notify, "reason=");
-                if (pReason != NULL) {
+                if (pReason != NULL)
+		{
                     pReason += strlen("reason=");
-                    if (memcmp(pReason, "CONN_FAILED", 11) == 0) {
+                    if (memcmp(pReason, "CONN_FAILED", 11) == 0)
+		    {
                         error = LYNQ_TIME_OUT;
                     }
-                    else if (memcmp(pReason, "WRONG_KEY", 9) == 0) {
+                    else if (memcmp(pReason, "WRONG_KEY", 9) == 0)
+		    {
                         error = LYNQ_PSW_ERROR;
                     }
                     g_sta_callback_func(g_ap_callback_priv, LYNQ_WIFI_STA_STATUS_DISCONNECT, error);
                 }
             }
-            else if (strstr(msg_notify, "CTRL-EVENT-DISCONNECTED") != NULL) {
+            else if (strstr(msg_notify, "CTRL-EVENT-DISCONNECTED") != NULL)
+	    {
                 g_sta_callback_func(g_ap_callback_priv, LYNQ_WIFI_STA_STATUS_DISCONNECT, error);
             }
-            else if (strstr(msg_notify, "CTRL-EVENT-NETWORK-NOT-FOUND") != NULL) {
+            else if (strstr(msg_notify, "CTRL-EVENT-NETWORK-NOT-FOUND") != NULL)
+	    {
                 g_sta_callback_func(g_ap_callback_priv, LYNQ_WIFI_STA_STATUS_DISCONNECT, LYNQ_NOT_FIND_AP);
             }
         }
     }
-    if (lynq_wpa_ctrl != NULL) {
+    if (lynq_wpa_ctrl != NULL)
+    {
         wpa_ctrl_detach(lynq_wpa_ctrl);
         wpa_ctrl_close(lynq_wpa_ctrl);
     }
@@ -310,13 +341,14 @@
 {
     int ret = 0;
     int i;
+    RLOGD("enter lynq_wifi_enable");
     pthread_mutex_lock(&s_check_wpa_ctrl_mutex);
 
-    if (g_lynq_wpa_ctrl[0] != NULL && g_lynq_wpa_ctrl[1] != NULL) {
+    if (g_lynq_wpa_ctrl[0] != NULL && g_lynq_wpa_ctrl[1] != NULL)
+    {
         goto out_enable;
     }
 
-    printf("lynq_wifi_enable1\n");
     const char * cmd_check_service =
             "state=`systemctl is-active wg870_drv_insmod.service`\n"
             "[ \"\"$state == \"active\" ] && exit 0\n"
@@ -326,20 +358,26 @@
 //    }
 
     ret = system(cmd_check_service);
-    if (ret != 0) {
-        printf("service state %d\n", ret);
+    if (ret != 0)
+    {
+        //printf("service state %d\n", ret);
+        RLOGE("[wifi error]service state %d",ret);
         ret = -1;
         goto out_enable;
     }
 
-    for (i=0; i<10; i++) {
+    RLOGD("check service state is OK");
+    for (i=0; i<10; i++)
+    {
         if (system("connmanctl technologies | grep -q \"/net/connman/technology/wifi\"") == 0) {
             break;
         }
         usleep(300*1000);
     }
 
-    if (i >= 10) {
+    if (i >= 10)
+    {
+	RLOGE("[wifi error] check connman technologies no wifi");
         ret = -1;
         goto out_enable;
     }
@@ -360,7 +398,8 @@
     }
     //@todo delete add temp check for socket avilable end (20220606)
 
-    if (0 != system("ifconfig | grep -q ap0")) {
+    if (0 != system("ifconfig | grep -q ap0"))
+    {
         system("connmanctl enable wifi");
         usleep(300*1000);
         system("wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 disconnect");
@@ -370,30 +409,34 @@
         usleep(300*1000);
         system("wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=ap0 disconnect");
     }
-    ret = system("wl -i wlan0 PM 0");
-    if( ret != 0)
+    if (g_ap_watcher_pid == 0 )
     {
-        printf("Set sta PM work mode to 0 fail,ret is%d",ret);
-    }
-    if (g_ap_watcher_pid == 0 ) {
         ret=pthread_create(&g_ap_watcher_pid,NULL,APWatcherThreadProc,NULL);
-        if(ret<0){
+        if(ret<0)
+	{
+            RLOGE("[wifi error]creat APWatcherThreadProc fail");
             ret = -1;
             goto out_enable;
         }
     }
-
+    
+    RLOGD("creat APWatcherTheradProc susccs");
     if (g_sta_watcher_pid == 0 ) {
         ret=pthread_create(&g_sta_watcher_pid,NULL,STAWatcherThreadProc,NULL);
-        if(ret<0){
+        if(ret<0)
+	{
+            RLOGE("[wifi error]creat STAWatcherThreadProc fail");
             ret = -1;
             goto out_enable;
         }
     }
 
-    for (i=0; i<10; i++) {
+    RLOGD("creat STAWatcherTheradProc susccs");
+    for (i=0; i<10; i++)
+    {
         usleep(300*1000);
-        if (g_ap_watcher_started_flag == 1 && g_sta_watcher_started_flag == 1) {
+        if (g_ap_watcher_started_flag == 1 && g_sta_watcher_started_flag == 1)
+	{
             break;
         }
     }
@@ -409,6 +452,7 @@
 
 int lynq_wifi_disable(void)
 {
+    RLOGD("enter lynq_wifi_disable");
     pthread_mutex_lock(&s_check_wpa_ctrl_mutex);
     g_ap_watcher_stop_flag = 1;
     g_sta_watcher_stop_flag = 1;
@@ -515,17 +559,20 @@
 static int inner_get_param(int interface, int net_no, char* param_name, char * out_put) {
     int i, ssid_len;
     char lynq_cmd_get[128]={0};
-
-    if (out_put == NULL) {
-        printf("output ptr is null\n");
+    RLOGD("enter inner_get_param");
+    if (out_put == NULL)
+    {
+        RLOGE("output ptr is null");
         return -1;
     }
-    if (param_name == NULL) {
-        printf("param ptr is null");
+    if (param_name == NULL)
+    {
+        RLOGE("param ptr is null");
         return -1;
     }
-    if (param_name[0] == '\0') {
-        printf("param is empty");
+    if (param_name[0] == '\0')
+    {
+        RLOGE("param is empty");
         return -1;
     }
 
@@ -535,14 +582,17 @@
 
     DO_REQUEST(lynq_cmd_get);
 
-    if (memcmp(cmd_reply, "FAIL", 4) == 0) {
+    if (memcmp(cmd_reply, "FAIL", 4) == 0)
+    {
+        RLOGE("wpa_supplicant return cmd_reply is FAIL");
         return -1;
     }
 
 //    printf("reply len %d, %08x\n", reply_len, (int)out_put);
     if (strcmp(param_name, "ssid") == 0)
     {
-        if (cmd_reply[0] == '\"') {
+        if (cmd_reply[0] == '\"')
+	{
             ssid_len = reply_len - 1;
             memcpy(out_put, cmd_reply + 1, ssid_len);
             if (out_put[ssid_len-1] == '\"')
@@ -554,7 +604,8 @@
                 out_put[ssid_len] = '\0';
             }
         }
-        else{
+        else
+	{
             ssid_len = reply_len / 2;
             for(i=0; i<ssid_len; i++)
             {
@@ -574,15 +625,18 @@
     int ret = 0;
     char * end = str + len - 1;
     results[ret++] = str;
-    while(str < end) {
-        if (*str == delimiter) {
+    while(str < end)
+    {
+        if (*str == delimiter)
+	{
             *str++ = '\0';
             results[ret++] = str;
             continue;
         }
         str++;
     }
-    if (*str == delimiter) {
+    if (*str == delimiter)
+    {
         *str = '\0';
     }
 
@@ -604,7 +658,7 @@
     {
         *p = '\0';
     }
-    printf("inner_get_ip_by_mac %s\n", ip);
+    RLOGD("inner_get_ip_by_mac %s\n", ip);
     return ret;
 }
 
@@ -612,20 +666,24 @@
     struct in_addr addr ={0};
     struct hostent *ht;
 
-    if (ip == NULL || *ip == '\0' || hostname == NULL) {
-        return -1;
+    if (ip == NULL || *ip == '\0' || hostname == NULL)
+    {
+        RLOGE("ip == NULL or hostname == NULL");
+	return -1;
     }
 
     *hostname = '\0';
-    if (inet_aton(ip, &addr) == 0) {
+    if (inet_aton(ip, &addr) == 0)
+    {
         printf("---inet_aton fail\n");
         return -1;
     }
 
     ht = gethostbyaddr(&addr, sizeof(struct in_addr), AF_INET);
 
-    if (ht == NULL) {
-        printf("---gethostbyaddr fail\n");
+    if (ht == NULL)
+    {
+        RLOGE("---gethostbyaddr fail\n");
         herror(NULL);
         return -1;
     }
@@ -642,6 +700,7 @@
     char * split_words[128] = {0};
     char local_ssid[128] = {0};
     const char *lynq_wifi_list_networks = "LIST_NETWORKS";
+    RLOGD("[lynq_get_network_number_list] enter lynq_get_network_number_list api");
 
     CHECK_WPA_CTRL(ap_sta);
 
@@ -652,16 +711,19 @@
     //@todo check ssid field to compatible
 
     ret = 0;
-    for(index=1; index < count; index++) {
+    for(index=1; index < count; index++)
+    {
         words_count = lynq_split(split_lines[index], strlen(split_lines[index]), '\t', split_words);
-        if (words_count > 2) {
+        if (words_count > 2)
+	{
             inner_copy_ssid(local_ssid, split_words[1], sizeof (local_ssid));
-            if (ssid == NULL || strcmp(local_ssid, ssid) == 0) {
+            if (ssid == NULL || strcmp(local_ssid, ssid) == 0)
+	    {
                 net_no_list[ret++] = atoi(split_words[0]);
             }
         }
     }
-
+    RLOGD("[lynq_get_network_number_list] lynq_get_network_number_list return ok");
     return ret;
 }
 
@@ -670,13 +732,18 @@
     CHECK_WPA_CTRL(ap_sta);
     const char *lynq_wifi_add_network = "ADD_NETWORK";
 
+    RLOGD("[lynq_add_network] enter lynq_add_network");
     DO_REQUEST(lynq_wifi_add_network);
-    if (memcmp(cmd_reply, "FAIL", 4) == 0) {
+    if (memcmp(cmd_reply, "FAIL", 4) == 0)
+    {
+        RLOGE("[wifi error]lynq_add_network  cmd_reply FAIL");
         return -1;
     }
 
-    for(i=0;i<reply_len;i++) {
-        if(cmd_reply[i] == '\n') {
+    for(i=0;i<reply_len;i++)
+    {
+        if(cmd_reply[i] == '\n')
+	{
             cmd_reply[i] = '\0';
             break;
         }
@@ -689,10 +756,12 @@
     int count, index;
     int net_no_list[128];
 
-
+    RLOGD("[lynq_check_network_number] enter lynq_check_network_number api");
     count = lynq_get_network_number_list(idx, ap_sta, net_no_list, NULL);
-    for (index=0; index < count; index++) {
-        if (net_no_list[index] == net_no) {
+    for (index=0; index < count; index++)
+    {
+        if (net_no_list[index] == net_no)
+	{
             return 0;
         }
     }
@@ -702,45 +771,59 @@
     else
         index = -1;
 
-    while (index < net_no ) {
+    while (index < net_no )
+    {
         index = lynq_add_network(ap_sta);
-        if (index >= net_no) { // required network no created
+        if (index >= net_no)
+	{ // required network no created
+            RLOGD("required network no created\n");;
             return 0;
         }
-        else if( index < 0) {
-            printf("add network fail\n");
+        else if( index < 0)
+	{
+            RLOGE("[lynq_check_network_number] add network fail");
             return -1;
         }
     }
 
     if (index < 0)
-        return -1;
-
+    {
+        RLOGE("[lynq_check_network_number] network index < 0");
+	return -1;
+    }
+    RLOGD("[lynq_check_network_number] work finished &state is ok");
     return 0;
 }
 
 static lynq_wifi_band_m convert_band_from_freq(int freq) { //@todo
-    if (freq > 5000 && freq < 6000) {
+    if (freq > 5000 && freq < 6000)
+    {
         return LYNQ_WIFI_5G_band;
     }
-    else if (freq > 2000 && freq <  3000) {
+    else if (freq > 2000 && freq <  3000)
+    {
         return LYNQ_WIFI_2G_band;
     }
     return LYNQ_WIFI_2_and_5G_band;
 }
 
 static lynq_wifi_auth_s convert_auth_from_key_mgmt(char * key_mgmt) {
-    if (key_mgmt != NULL) {
-        if (memcmp( key_mgmt, "NONE", 4) == 0) {
+    if (key_mgmt != NULL)
+    {
+        if (memcmp( key_mgmt, "NONE", 4) == 0)
+	{
             return LYNQ_WIFI_AUTH_OPEN;
         }
-        else if (memcmp( key_mgmt, "WEP", 3) == 0){
+        else if (memcmp( key_mgmt, "WEP", 3) == 0)
+	{
             return LYNQ_WIFI_AUTH_WEP;
         }
-        else if (memcmp( key_mgmt, "WPA-PSK", 7) == 0){
+        else if (memcmp( key_mgmt, "WPA-PSK", 7) == 0)
+	{
             return LYNQ_WIFI_AUTH_WPA_PSK;
         }
-        else if (memcmp( key_mgmt, "WPA2-PSK", 8) == 0){
+        else if (memcmp( key_mgmt, "WPA2-PSK", 8) == 0)
+	{
             return LYNQ_WIFI_AUTH_WPA2_PSK;
         }
     }
@@ -749,20 +832,26 @@
 }
 
 static lynq_wifi_auth_s convert_max_auth_from_flag(char * flag) {
-    if (flag != NULL) {
-        if (strstr( flag, "WPA2-PSK") != NULL){
+    if (flag != NULL)
+    {
+        if (strstr( flag, "WPA2-PSK") != NULL)
+	{
             return LYNQ_WIFI_AUTH_WPA2_PSK;
         }
-        else if (strstr( flag, "WPA-PSK") != NULL){
+        else if (strstr( flag, "WPA-PSK") != NULL)
+	{
             return LYNQ_WIFI_AUTH_WPA_PSK;
         }
-        else if (strstr( flag, "WEP") != NULL){
+        else if (strstr( flag, "WEP") != NULL)
+	{
             return LYNQ_WIFI_AUTH_WEP;
         }
-        else if (strstr( flag, "NONE") != NULL) {
+        else if (strstr( flag, "NONE") != NULL)
+	{
             return LYNQ_WIFI_AUTH_OPEN;
         }
-        else if (strcmp( flag, "[ESS]") == 0 || strcmp( flag,"[WPS][ESS]") == 0) {
+        else if (strcmp( flag, "[ESS]") == 0 || strcmp( flag,"[WPS][ESS]") == 0)
+	{
             return LYNQ_WIFI_AUTH_OPEN;
         }
     }
@@ -806,7 +895,9 @@
 
     CHECK_WPA_CTRL(interface);
 
-    if (curr_state == NULL) {
+    if (curr_state == NULL)
+    {
+        RLOGE("[wifi error][inner_get_status_info]curr_state is NULL");
         return -1;
     }
 
@@ -816,53 +907,63 @@
 
     curr_state->net_no = -1;
     ret = -1;
-    for(i=0; i < count; i++) {
-        if (curr_state->ap != NULL) {
+    for(i=0; i < count; i++)
+    {
+        if (curr_state->ap != NULL)
+	{
             p = strstr(split_lines[i], FLAG_SBSID);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 strncpy(curr_state->ap->ap_mac, p + strlen(FLAG_SBSID), sizeof(curr_state->ap->ap_mac));
                 ret = 0;
                 continue;
             }
             p = strstr(split_lines[i], FLAG_SSID);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 inner_copy_ssid(curr_state->ap->ap_ssid, p + strlen(FLAG_SSID), sizeof (curr_state->ap->ap_ssid));
                 ret = 0;
                 continue;
             }
             p = strstr(split_lines[i], FLAG_KEY_MGMT);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 curr_state->ap->auth = convert_auth_from_key_mgmt(p + strlen(FLAG_KEY_MGMT));
-                printf("key_mgmt %d, -- %s\n", curr_state->ap->auth, p);
+                RLOGD("inner_get_status_info: key_mgmt %d, -- %s\n", curr_state->ap->auth, p);
                 ret = 0;
                 continue;
             }
             p = strstr(split_lines[i], FLAG_FREQ);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 curr_state->ap->band = convert_band_from_freq(atoi( p + strlen(FLAG_FREQ)));
                 ret = 0;
                 continue;
             }
             p = strstr(split_lines[i], FLAG_IPADDR);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 strncpy(curr_state->ap->ap_ip, p + strlen(FLAG_IPADDR), sizeof(curr_state->ap->ap_ip));
                 ret = 0;
                 continue;
             }
         } // end  if (ap != NULL)
-        if (curr_state->state != NULL) {
+        if (curr_state->state != NULL)
+	{
             p = strstr(split_lines[i], FLAG_STATE);
-            if (p != NULL) {
+            if (p != NULL)
+	    {
                 strcpy(curr_state->state, p + strlen(FLAG_STATE));
                 ret = 0;
                 continue;
             }
 
         } //end else if (state != NULL)
-        if ((p = strstr(split_lines[i], FLAG_ID)) == split_lines[i]) {
+        if ((p = strstr(split_lines[i], FLAG_ID)) == split_lines[i])
+	{
             ret = 0;
             curr_state->net_no = atoi(p + strlen(FLAG_ID));
-            printf("net_no %d, -- %s\n", curr_state->net_no, p);
+            RLOGD("inner_get_status_info:net_no %d, -- %s\n", curr_state->net_no, p);
         }
     }
 
@@ -872,17 +973,22 @@
 
 int lynq_wifi_ap_ssid_set(lynq_wifi_index_e idx,char *ap_ssid)
 {
+    RLOGD("enter lynq_wifi_ap_ssid_set");
     char lynq_wifi_ssid_cmd[80]={0};
 
-    if (ap_ssid == NULL) {
-        printf("ap_ssid is null\n");
+    if (ap_ssid == NULL)
+    {
+        RLOGE("Input ap_ssid is NULL");
         return -1;
     }
-    else {
-        printf("idx:%d ap_ssid : %s\n", idx, ap_ssid);
+    else
+    {
+        RLOGD("[lynq_wifi_ap_ssid_set]idx:%d ap_ssid : %s\n", idx, ap_ssid);
     }
 
-    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0) {
+    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0)
+    {
+        RLOGE("Do check ap network_number fail");
         return -1;
     }
 
@@ -894,13 +1000,14 @@
 
     DO_OK_FAIL_REQUEST(lynq_wifi_ssid_cmd);
     DO_OK_FAIL_REQUEST(cmd_save_config);
-
-	return 0;
+    RLOGD("[lynq_wifi_ap_ssid_set] set ssid sucss");
+    return 0;
 
 }
 
 int lynq_wifi_ap_ssid_get(lynq_wifi_index_e idx, char* ap_ssid)
 {
+    RLOGD("enter lynq_wifi_ap_ssid_get");
     CHECK_IDX(idx, CTRL_AP);
     return inner_get_param(CTRL_AP, AP_NETWORK_0, "ssid", ap_ssid);
 }
@@ -928,7 +1035,7 @@
 
     if(i == arr_len)
     {
-        printf("input frequency is eero--->%d,please check it\n", input_frequency);
+        RLOGE("[lynq_check_set_frequency]input frequency is --->%d,please check it\n", input_frequency);
         return -1;
     }
 
@@ -942,7 +1049,7 @@
 
     if( lynq_get_country_code(1,str_dest) != 0 )
     {
-        printf("get country_code error\n");
+        RLOGE("get country_code error\n");
 	return -1;
     }
     if( strncmp(str_dest,str_cnc,2) != 0 )
@@ -950,7 +1057,7 @@
         return 0;
     }else if( 2473 < input_frequency && input_frequency < 5744)
     {
-        printf("input frequency is bad\n");
+        RLOGE("input frequency is bad\n");
 	return -1;
     } 
     return 0;
@@ -961,23 +1068,24 @@
     char lynq_wifi_frequency_cmd[128]={0};
     char lynq_cmd_mode[128]={0};
     char lynq_cmd_slect[128]={0};
-
+    RLOGD("enter lynq_wifi_ap_frequency_set and input frequency is:%d", lynq_wifi_frequency);
     //@do check input frequency
     check = lynq_check_set_frequency(lynq_wifi_frequency);
     if(check != 0)
     {
-        printf("do check frequency error\n");
+        RLOGE("do check frequency error");
         return -1;
     }
     check = lynq_check_frequencyby_country_code(lynq_wifi_frequency);
     if(check != 0)
     {
-        printf("do check frequency error\n");
+        RLOGE("do check frequency error");
         return -1;
     }
 
     if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0)
     {
+        RLOGE("[set ap frequecny][lynq_check_network_number] error");
         return -1;
     }
 
@@ -994,67 +1102,76 @@
     DO_OK_FAIL_REQUEST(lynq_cmd_mode);
     DO_OK_FAIL_REQUEST(cmd_save_config);
 
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_frequency_get(lynq_wifi_index_e idx,int *lynq_wifi_frequency)
 {
     char lynq_frequency_str[MAX_RET] = {0};
-
+    RLOGD("enter lynq_wifi_ap_frequency_get and input idx is %d",idx);
     CHECK_IDX(idx, CTRL_AP);
 
-    if (inner_get_param(CTRL_AP, AP_NETWORK_0, "frequency", lynq_frequency_str) != 0) {
+    if (inner_get_param(CTRL_AP, AP_NETWORK_0, "frequency", lynq_frequency_str) != 0)
+    {
+        RLOGE("[wifi error][lynq_wifi_ap_frequency_get]get frequency from device fail");
         return -1;
     }
     *lynq_wifi_frequency = atoi(lynq_frequency_str);
 
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_bandwidth_set(lynq_wifi_index_e idx,lynq_wifi_bandwidth_type_m bandwidth)
 {
+    RLOGD("enter lynq_wifi_ap_bandwidth_set");
     CHECK_IDX(idx, CTRL_AP);
     switch(bandwidth){
-		case LYNQ_WIFI_BANDWIDTH_HT10:
-		{
-            printf("bandwith  [%d] not support now\n", bandwidth);
-			return -1;
-		}
-		case LYNQ_WIFI_BANDWIDTH_HT20:
+        case LYNQ_WIFI_BANDWIDTH_HT10:
+	{
+            RLOGE("bandwith  [%d] not support now\n", bandwidth);
+	    return -1;
+	}
+        case LYNQ_WIFI_BANDWIDTH_HT20:
         {
             char lynq_cmd_bandwith[MAX_CMD]="wl chanspec 6";
             system("wl down");
-            if (system(lynq_cmd_bandwith) != 0 ){
+            if (system(lynq_cmd_bandwith) != 0 )
+	    {
+                RLOGE("lynq_wifi_ap_bandwidth_set erro");
                 return -1;
             }
             system("wl up");
             break;
         }
         case LYNQ_WIFI_BANDWIDTH_HT40:
-		{
+        {
             char lynq_cmd_bandwith[MAX_CMD]="wl chanspec 149/40";
             sprintf(lynq_cmd_bandwith, "wl chanspec ");
             system("wl down");
-            if (system(lynq_cmd_bandwith) != 0 ){
+            if (system(lynq_cmd_bandwith) != 0 )
+	    {
+                RLOGE("lynq_wifi_ap_bandwidth_set erro");
                 return -1;
             }
             system("wl up");
             break;
-		}
+        }
         case LYNQ_WIFI_BANDWIDTH_HT80:
-		{
+        {
             char lynq_cmd_bandwith[MAX_CMD]="wl chanspec 149/80";
             system("wl down");
-            if (system(lynq_cmd_bandwith) != 0 ){
+            if (system(lynq_cmd_bandwith) != 0 )
+	    {
+                RLOGE("lynq_wifi_ap_bandwidth_set erro");
                 return -1;
             }
             system("wl up");
             break;
-		}				
-		default:
+        }				
+        default:
         {
-            printf("auth type [%d] not support now\n", bandwidth);
-			return -1;
+            RLOGE("auth type [%d] not support now\n", bandwidth);
+            return -1;
         }
     }
 
@@ -1068,7 +1185,7 @@
     int index = 0;
     char *split_words[128] = {0};
     const char *lynq_chanspec_cmd = "DRIVER chanspec\n";
-
+    RLOGD("enter lynq_wifi_ap_bandwidth_get");
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
@@ -1086,28 +1203,30 @@
             return -1;
         }
 
-        printf("bw %s\n", split_words[index]);
+        RLOGD("bw %s\n", split_words[index]);
         *bandwidth = convert_bandwidth_from_bw(atoi(split_words[index]));
         return 0;
     }
-
+    RLOGE("[wifi error]lynq_wifi_ap_bandwidth_get");
     return -1;
 }
 
 int lynq_wifi_ap_channel_set( lynq_wifi_index_e idx,int channel)
 {
     char lynq_cmd_channel[MAX_CMD]={0};
-
+    RLOGD("enter lynq_wifi_ap_channel_set and input channel is %d",channel);
     CHECK_IDX(idx, CTRL_AP);
 
     sprintf(lynq_cmd_channel, "wl channel %d", channel);
 
-    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0) {
+    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0) 
+    {
         return -1;
     }
 
     system("wl down");
     if (system(lynq_cmd_channel) != 0 ){
+        RLOGE("lynq_wifi_ap_channel_set erro");
         return -1;
     }
     system("wl up");
@@ -1120,7 +1239,7 @@
     int index = 0;
     char *split_words[128] = {0};
     char lynq_chanspec_cmd[]="DRIVER chanspec\n";
-
+    RLOGD("enter lynq_wifi_ap_channel_get");
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
@@ -1128,21 +1247,23 @@
     DO_REQUEST(lynq_chanspec_cmd);
 
     count = lynq_split(cmd_reply, reply_len, ' ', split_words);
-    for(;index < count; index++) {
-        printf("---- %s\n",split_words[index]);
+    for(;index < count; index++) 
+    {
+        RLOGD("[lynq_wifi_ap_channel_get]---- %s\n",split_words[index]);
         if (strncmp(split_words[index], "channel", 2) != 0) {
             continue;
         }
 
         index++;
-        if (index >= count) {
+        if (index >= count) 
+	{
             return -1;
         }
 
         *channel = atoi(split_words[index]);
         return 0;
     }
-
+    RLOGE("[lynq_wifi_ap_channel_get] function fail");
     return -1;
 }
 
@@ -1155,12 +1276,16 @@
     char lynq_auth_alg_cmd[64]={0};
     char lynq_psk_cmd[64]={0};
     char lynq_pairwise_cmd[64]={0};
+    char lynq_ieee80211_cmd[64]={0};
+    RLOGD("enter lynq_wifi_ap_auth_set and input idx is:%d,auth is:%d",idx,auth);
     lynq_wifi_auth_s org_auth;
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
 
-    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != AP_NETWORK_0) {
+    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != AP_NETWORK_0) 
+    {
+        RLOGE("[wifi error][lynq_wifi_ap_auth_set] check network fail\n");
         return -1;
     }
 
@@ -1185,15 +1310,15 @@
         }
     }
 
-	switch(auth){
-		case LYNQ_WIFI_AUTH_OPEN:
+    switch(auth){
+	case LYNQ_WIFI_AUTH_OPEN:
         {
             sprintf(lynq_auth_cmd,"SET_NETWORK %d key_mgmt NONE", AP_NETWORK_0);
             sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise NONE", AP_NETWORK_0);
 
             DO_OK_FAIL_REQUEST(lynq_auth_cmd);
-			break;
-		}
+	    break;
+	}
         case LYNQ_WIFI_AUTH_WEP:
         {
             sprintf(lynq_auth_cmd,"SET_NETWORK %d key_mgmt NONE", AP_NETWORK_0);
@@ -1204,14 +1329,16 @@
             DO_OK_FAIL_REQUEST(lynq_auth_alg_cmd);
             break;
         }
-		case LYNQ_WIFI_AUTH_WPA_PSK:
+	case LYNQ_WIFI_AUTH_WPA_PSK:
         case LYNQ_WIFI_AUTH_WPA2_PSK:
-		{
-            if (auth == LYNQ_WIFI_AUTH_WPA_PSK) {
+	{
+            if (auth == LYNQ_WIFI_AUTH_WPA_PSK)
+	    {
                 sprintf(lynq_auth_cmd,"SET_NETWORK %d proto WPA", AP_NETWORK_0);
                 sprintf(lynq_psk_cmd,"SET_NETWORK %d key_mgmt WPA-PSK", AP_NETWORK_0);
             }
-            else if (auth == LYNQ_WIFI_AUTH_WPA2_PSK) {
+            else if (auth == LYNQ_WIFI_AUTH_WPA2_PSK)
+	    {
                 sprintf(lynq_auth_cmd,"SET_NETWORK %d proto RSN", AP_NETWORK_0);
                 sprintf(lynq_psk_cmd,"SET_NETWORK %d key_mgmt WPA-PSK", AP_NETWORK_0);
             }
@@ -1222,17 +1349,43 @@
             DO_OK_FAIL_REQUEST(lynq_auth_cmd);
             DO_OK_FAIL_REQUEST(lynq_psk_cmd);
             DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
-			break;
-		}		
-		default:
+	    break;
+	}		
+        case LYNQ_WIFI_AUTH_WPA2_WPA3_PSK:
+	{
+            sprintf(lynq_auth_cmd,"SET_NETWORK %d proto WPA2", AP_NETWORK_0);
+            sprintf(lynq_ieee80211_cmd,"SET_NETWORK %d ieee80211w 1", AP_NETWORK_0);
+            sprintf(lynq_psk_cmd,"SET_NETWORK %d key_mgmt WPA-PSK SAE", AP_NETWORK_0);
+            sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise CCMP", AP_NETWORK_0);
+
+            DO_OK_FAIL_REQUEST(lynq_auth_cmd);
+            DO_OK_FAIL_REQUEST(lynq_ieee80211_cmd);
+            DO_OK_FAIL_REQUEST(lynq_psk_cmd);
+            DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
+	    break;
+	}		
+        case LYNQ_WIFI_AUTH_WPA3_PSK:
+	{
+            sprintf(lynq_auth_cmd,"SET_NETWORK %d proto WPA2", AP_NETWORK_0);
+            sprintf(lynq_ieee80211_cmd,"SET_NETWORK %d ieee80211w 2", AP_NETWORK_0);
+            sprintf(lynq_psk_cmd,"SET_NETWORK %d key_mgmt WPA-PSK SAE", AP_NETWORK_0);
+            sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise CCMP", AP_NETWORK_0);
+
+            DO_OK_FAIL_REQUEST(lynq_auth_cmd);
+            DO_OK_FAIL_REQUEST(lynq_ieee80211_cmd);
+            DO_OK_FAIL_REQUEST(lynq_psk_cmd);
+            DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
+	    break;
+	}		
+	default:
         {
-            printf("auth type [%d] not support now\n", auth);
-			return -1;
+            RLOGE("auth type [%d] not support now\n", auth);
+            return -1;
         }
     }
     DO_OK_FAIL_REQUEST(cmd_save_config);
 
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_auth_get(lynq_wifi_index_e idx, lynq_wifi_auth_s *auth)
@@ -1240,36 +1393,63 @@
     char lynq_auth_str[MAX_RET] = {0};
     char lynq_auth_alg_str[MAX_RET] = {0};
     char lynq_proto_str[MAX_RET] = {0};
-
+    RLOGD("enter lynq_wifi_ap_auth_get");
     CHECK_IDX(idx, CTRL_AP);
 
-    if (inner_get_param(CTRL_AP, AP_NETWORK_0, "key_mgmt", lynq_auth_str) != 0) {
+    if (inner_get_param(CTRL_AP, AP_NETWORK_0, "key_mgmt", lynq_auth_str) != 0)
+    {
+        RLOGE("[wifi error][lynq_wifi_ap_auth_get] check network fail");
         return -1;
     }
 
-    if (memcmp( lynq_auth_str, "NONE", 4) == 0) {
-        if (inner_get_param(CTRL_AP, AP_NETWORK_0, "auth_alg", lynq_auth_alg_str) != 0) {
+    if (memcmp( lynq_auth_str, "NONE", 4) == 0)
+    {
+        if (inner_get_param(CTRL_AP, AP_NETWORK_0, "auth_alg", lynq_auth_alg_str) != 0)
+	{
             *auth = LYNQ_WIFI_AUTH_OPEN;
         }
-        else if (memcmp(lynq_auth_alg_str, "SHARED", 6) == 0){
+        else if (memcmp(lynq_auth_alg_str, "SHARED", 6) == 0)
+	{
             *auth = LYNQ_WIFI_AUTH_WEP;
         }
-        else {
+        else
+	{
             *auth = LYNQ_WIFI_AUTH_OPEN;
         }
     }
-    else if(strcmp( lynq_auth_str, "WPA-PSK") == 0 ) {
-        if (inner_get_param(CTRL_AP, AP_NETWORK_0, "proto", lynq_proto_str) != 0) {
+    else if(strcmp( lynq_auth_str, "WPA-PSK") == 0 )
+    {
+        if (inner_get_param(CTRL_AP, AP_NETWORK_0, "proto", lynq_proto_str) != 0)
+	{
             *auth = -1;
         }
-        else if (memcmp(lynq_proto_str, "RSN", 3) == 0) {
+        else if (memcmp(lynq_proto_str, "RSN", 3) == 0)
+	{
             *auth = LYNQ_WIFI_AUTH_WPA2_PSK;
         }
-        else {
+        else
+	{
             *auth = LYNQ_WIFI_AUTH_WPA_PSK;
         }
     }
-    else {
+    
+    if (inner_get_param(CTRL_AP, AP_NETWORK_0, "ieee80211w", lynq_auth_str) != 0)
+    {
+        RLOGE("[wifi error][lynq_wifi_ap_auth_get] check network auth ieee80211w fail");
+        return -1;
+    }
+    
+    if (memcmp(lynq_auth_str,"1",1) == 0 )
+    {
+	RLOGD("auth : LYNQ_WIFI_AUTH_WPA2_WPA3_PSK\n");
+        *auth = LYNQ_WIFI_AUTH_WPA2_WPA3_PSK;
+    }else if (memcmp(lynq_auth_str,"2",1) == 0 )
+    {
+	RLOGD("auth : LYNQ_WIFI_AUTH_WPA3_PSK\n");
+        *auth = LYNQ_WIFI_AUTH_WPA3_PSK;
+    }
+    else
+    {
         *auth = -1;
     }
 
@@ -1282,7 +1462,7 @@
     char LYNQ_WIFI_CMD[128]={0};
     //const char *lynq_remove_all_cmd = "REMOVE_NETWORK all";
     //const char *lynq_reconfig_cmd = "RECONFIGURE /data/wifi/wg870/wpa_supplicant.conf";
-
+    RLOGD("enter lynq_wifi_ap_channel_get");
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
@@ -1299,7 +1479,7 @@
     sprintf(LYNQ_WIFI_CMD,"SELECT_NETWORK %d",AP_NETWORK_0);
     DO_OK_FAIL_REQUEST(LYNQ_WIFI_CMD);
 
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_restart(lynq_wifi_index_e idx)
@@ -1321,7 +1501,7 @@
 
 //    system("connmanctl tether wifi off");
 	
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_hide_ssid(lynq_wifi_index_e idx)
@@ -1329,11 +1509,10 @@
     char lynq_disable_cmd[128] = {0};
     char lynq_select_cmd[128] = {0};
     const char *lynq_hide_cmd = "SET HIDE_SSID 1";
-
+    RLOGD("enter lynq_wifi_ap_hide_ssid");
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
-	
     sprintf(lynq_disable_cmd,"DISABLE_NETWORK %d", AP_NETWORK_0);
     sprintf(lynq_select_cmd,"SELECT_NETWORK %d", AP_NETWORK_0);
 
@@ -1341,7 +1520,7 @@
     DO_OK_FAIL_REQUEST(lynq_hide_cmd);
     DO_OK_FAIL_REQUEST(lynq_select_cmd);
 
-	return 0;
+    return 0;
 }
 
 int lynq_wifi_ap_unhide_ssid(lynq_wifi_index_e idx)
@@ -1349,7 +1528,7 @@
     char lynq_disable_cmd[128] = {0};
     char lynq_select_cmd[128] = {0};
     const char *lynq_unhide_cmd = "SET HIDE_SSID 0";
-
+    RLOGD("enter lynq_wifi_ap_unhide_ssid");
     CHECK_IDX(idx, CTRL_AP);
 
     CHECK_WPA_CTRL(CTRL_AP);
@@ -1361,51 +1540,74 @@
     DO_OK_FAIL_REQUEST(lynq_unhide_cmd);
     DO_OK_FAIL_REQUEST(lynq_select_cmd);
 
-	return 0;
+    return 0;
 }
 
 int lynq_ap_password_set(lynq_wifi_index_e idx,char *password)
 {
-	int pass_len;
+    int pass_len;
     char lynq_tmp_cmd[MAX_CMD] = {0};
+    char lynq_wpa2_wpa3[64] = {0};
     char lynq_wep_tx_keyidx_cmd[MAX_CMD] = {0};
-    if( password == NULL ){
+    RLOGD("enter lynq_ap_password_set");
+    if( password == NULL )
+    {
+        RLOGE("[lynq_ap_password_set]input password is NULL");
         return -1;
     }
     pass_len=strlen(password);
     lynq_wifi_auth_s auth = -1;
-    if(pass_len < 8 || pass_len >= 64){
-		return -1;
+    if(pass_len < 8 || pass_len >= 64)
+    {
+        RLOGE("[lynq_ap_password_set]input password len not in rage");
+        return -1;
     }
 
     CHECK_IDX(idx, CTRL_AP);
 
-    if (0 != lynq_wifi_ap_auth_get(idx, &auth)) {
+    if (0 != lynq_wifi_ap_auth_get(idx, &auth))
+    {
         return -1;
     }
-    else if (auth == LYNQ_WIFI_AUTH_OPEN) {
+    else if (auth == LYNQ_WIFI_AUTH_OPEN)
+    {
+        RLOGE("ap auth :LYNQ_WIFI_AUTH_OPEN\n");
         return -1;
     }
 
     CHECK_WPA_CTRL(CTRL_AP);
 
-    if (auth == LYNQ_WIFI_AUTH_WEP) {
+    if (auth == LYNQ_WIFI_AUTH_WEP)
+    {
+        RLOGD("ap auth : LYNQ_WIFI_AUTH_WEP\n");
         sprintf(lynq_tmp_cmd,"SET_NETWORK %d wep_key0 \"%s\"",AP_NETWORK_0, password);
         sprintf(lynq_wep_tx_keyidx_cmd,"SET_NETWORK %d wep_tx_keyidx 0",AP_NETWORK_0);
         DO_OK_FAIL_REQUEST(lynq_tmp_cmd);
         DO_OK_FAIL_REQUEST(lynq_wep_tx_keyidx_cmd);
     }
-    else if (auth == LYNQ_WIFI_AUTH_WPA_PSK || auth == LYNQ_WIFI_AUTH_WPA2_PSK) {
+    else if (auth == LYNQ_WIFI_AUTH_WPA_PSK || auth == LYNQ_WIFI_AUTH_WPA2_PSK)
+    {
+	RLOGD("ap auth :LYNQ_WIFI_AUTH_WPA_PSK  LYNQ_WIFI_AUTH_WPA2_PSK\n");
         sprintf(lynq_tmp_cmd,"SET_NETWORK %d psk \"%s\"",AP_NETWORK_0, password);
         DO_OK_FAIL_REQUEST(lynq_tmp_cmd);
     }
-    else {
+    else if (auth == LYNQ_WIFI_AUTH_WPA2_WPA3_PSK || auth == LYNQ_WIFI_AUTH_WPA3_PSK)
+    {
+        
+        sprintf(lynq_tmp_cmd,"SET_NETWORK %d psk \"%s\"",AP_NETWORK_0, password);
+        sprintf(lynq_wpa2_wpa3,"SET_NETWORK %d psk sae_password \"%s\"",AP_NETWORK_0, password);
+        DO_OK_FAIL_REQUEST(lynq_tmp_cmd);
+        DO_OK_FAIL_REQUEST(lynq_wpa2_wpa3);
+
+    }
+    else
+    {
         return -1;
     }
 
     DO_OK_FAIL_REQUEST(cmd_save_config);
 
-	return 0;
+    return 0;
 }
 
 int lynq_ap_password_get(lynq_wifi_index_e idx, char *password)
@@ -1415,13 +1617,15 @@
     int count, index;
     char *split_lines[128] = {0};
     char *buff, *p;
+    RLOGD("enter lynq_ap_password_get");
 
     CHECK_IDX(idx, CTRL_AP);
 
     fp = fopen("/data/wifi/wg870/wpa_supplicant_ap.conf", "rb");
 //    fp = fopen("/data/wifi/wg870/wpa_supplicant.conf", "rb");
-    if (NULL == fp) {
-        printf("open file fail\n");
+    if (NULL == fp)
+    {
+        RLOGE("open file fail\n");
         return  -1;
     }
 
@@ -1430,13 +1634,17 @@
     len = fread(buff, 1, MAX_RET, fp);
     fclose(fp);
 
-    for(index=0; index < len; index ++) {
-        if (memcmp(buff + index, "network={", 9) != 0) {
+    for(index=0; index < len; index ++)
+    {
+        if (memcmp(buff + index, "network={", 9) != 0)
+	{
             continue;
         }
          p = buff + index + 9;
-         for (; index < len; index ++ ) {
-             if (buff[index] != '}') {
+         for (; index < len; index ++ )
+	 {
+             if (buff[index] != '}')
+	     {
                  continue;
              }
              buff[index] = '\0';
@@ -1448,28 +1656,36 @@
     count = lynq_split(p, len, '\n', split_lines);
 
     ret = -1;
-    for(index=0; index < count; index++) {
+    for(index=0; index < count; index++)
+    {
         p = strstr(split_lines[index], "psk=");
-        if (p != NULL) {
+        if (p != NULL)
+	{
             p += 4;
-            if (*p == '\"') {
+            if (*p == '\"')
+	    {
                 p++;
             }
         }
-        else if (NULL != (p = strstr(split_lines[index], "wep_key0="))) {
+        else if (NULL != (p = strstr(split_lines[index], "wep_key0=")))
+	{
             p += 9;
-            if (*p == '\"') {
+            if (*p == '\"')
+	    {
                 p++;
             }
         }
-        else {
+        else
+	{
             continue;
         }
 
         strcpy(password, p);
 
-        while(*password != '\0') {
-            if (*password == '\"') {
+        while(*password != '\0')
+	{
+            if (*password == '\"')
+	    {
                 *password = '\0';
                 break;
             }
@@ -1486,30 +1702,55 @@
     char lynq_auth_str[MAX_RET] = {0};
     char lynq_proto_str[MAX_RET] = {0};
 
-    if (inner_get_param(interface, net_no, "key_mgmt", lynq_auth_str) != 0) {
+    if (inner_get_param(interface, net_no, "key_mgmt", lynq_auth_str) != 0)
+    {
         return -1;
     }
 
     *auth = convert_auth_from_key_mgmt(lynq_auth_str);
 
-    if (*auth == LYNQ_WIFI_AUTH_WPA_PSK) {
-        if (inner_get_param(interface, net_no, "proto", lynq_proto_str) == 0) {
-            if (strcmp(lynq_proto_str, "RSN") == 0) {
+    if (*auth == LYNQ_WIFI_AUTH_WPA_PSK)
+    {
+        if (inner_get_param(interface, net_no, "proto", lynq_proto_str) == 0)
+	{
+            if (strcmp(lynq_proto_str, "RSN") == 0)
+	    {
                 *auth = LYNQ_WIFI_AUTH_WPA2_PSK;
             }
         }
     }
+    if (inner_get_param(interface, net_no,"ieee80211w",lynq_auth_str) !=0)
+    {
+	RLOGE("check ieee80211w error\n");
+        return -1;
+    }
+    if ( strncmp(lynq_auth_str,"1",1) == 0 )
+    {
+
+       *auth = LYNQ_WIFI_AUTH_WPA2_WPA3_PSK;
+    }else if( strncmp(lynq_auth_str,"2",1) == 0 )
+    {
+
+        *auth = LYNQ_WIFI_AUTH_WPA3_PSK;
+    }else
+    {
+        *auth = -1;
+        return -1;
+    }
     return 0;
 }
 
 int lynq_sta_ssid_password_set(lynq_wifi_index_e idx, ap_info_s *ap, char *password)
 {
+    RLOGD("enter lynq_sta_ssid_password_set");
     int pass_len, net_no, count, index;
     char lynq_tmp_cmd[300]={0};
     int net_no_list[128];
     lynq_wifi_auth_s net_auth;
     pass_len=strlen(password);
-    if(pass_len < 8 || pass_len >= 64){
+    if(pass_len < 8 || pass_len >= 64)
+    {
+        RLOGE("[lynq_sta_ssid_password_set]input psw error");
         return -1;
     }
 
@@ -1518,15 +1759,18 @@
     net_no = -1;
     count = lynq_get_network_number_list(idx, CTRL_STA, net_no_list, ap->ap_ssid);
 
-    for (index=0; index < count; index++) {
+    for (index=0; index < count; index++)
+    {
         net_auth = -1;
-        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == ap->auth) {
+        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == ap->auth)
+	{
             net_no = net_no_list[index];
             break;
         }
     }
 
-    if (net_no < 0) {
+    if (net_no < 0)
+    {
         return -1;
     }
 
@@ -1548,20 +1792,23 @@
     char *split_lines[128] = {0};
     char *buff, *p, *ssid, *ssid_end_flag;
     char tmp_ssid[128]={0};
+	RLOGD("enter lynq_sta_ssid_password_get");
 
     network_len = 0;
     p = NULL;
 
     CHECK_IDX(idx, CTRL_STA);
 
-    if (NULL == password) {
-        printf("bad param\n");
+    if (NULL == password)
+    {
+        RLOGE("bad param\n");
         return -1;
     }
 
     fp = fopen("/data/wifi/wg870/wpa_supplicant.conf", "rb");
-    if (NULL == fp) {
-        printf("open file fail\n");
+    if (NULL == fp)
+    {
+        RLOGE("[lynq_sta_ssid_password_get] open file fail\n");
         return  -1;
     }
 
@@ -1570,14 +1817,19 @@
     len = fread(buff, 1, MAX_RET, fp);
     fclose(fp);
 
-    for(index=0; index < len; index ++) {
-        for(; index < len; index ++) {
-            if (memcmp(buff + index, "network={", 9) != 0) {
+    for(index=0; index < len; index ++)
+    {
+        for(; index < len; index ++)
+	{
+            if (memcmp(buff + index, "network={", 9) != 0)
+	    {
                 continue;
             }
              p = buff + index + 9;
-             for (; index < len; index ++ ) {
-                 if (buff[index] != '}') {
+             for (; index < len; index ++ )
+	     {
+                 if (buff[index] != '}')
+		 {
                      continue;
                  }
                  buff[index] = '\0';
@@ -1593,11 +1845,13 @@
         ssid = strstr(p, "ssid=");
         if (ssid != NULL) {
             ssid += strlen("ssid=");
-            if (ssid[0] == '\"') {
+            if (ssid[0] == '\"')
+	    {
                 if (memcmp(ssid + 1, ap->ap_ssid, strlen(ap->ap_ssid)) == 0 && ssid[strlen(ap->ap_ssid) + 1] == '\"')
                     break;
             }
-            else{
+            else
+	    {
                 ssid_end_flag = strstr(ssid, "\n");
                 if (ssid_end_flag != NULL)
                 {
@@ -1614,28 +1868,35 @@
 
     }
 
-    if (index >= len || NULL == p || network_len <= 0) {
+    if (index >= len || NULL == p || network_len <= 0)
+    {
         return -1;
     }
 
     count = lynq_split(p, network_len, '\n', split_lines);
 
     ret = -1;
-    for(index=0; index < count; index++) {
+    for(index=0; index < count; index++)
+    {
         p = strstr(split_lines[index], "psk=");
-        if (p != NULL) {
+        if (p != NULL)
+	{
             p += 4;
-            if (*p == '\"') {
+            if (*p == '\"')
+	    {
                 p++;
             }
         }
-        else if (NULL != (p = strstr(split_lines[index], "wep_key0="))) {
+        else if (NULL != (p = strstr(split_lines[index], "wep_key0=")))
+	{
             p += 9;
-            if (*p == '\"') {
+            if (*p == '\"')
+	    {
                 p++;
             }
         }
-        else {
+        else
+	{
             continue;
         }
 
@@ -1644,8 +1905,10 @@
         strncpy(password, p, 64);
 
         p = password;
-        while(password - p < 64 && *password != '\0') {
-            if (*password == '\"') {
+        while(password - p < 64 && *password != '\0')
+	{
+            if (*password == '\"')
+	    {
                 *password = '\0';
                 break;
             }
@@ -1660,21 +1923,22 @@
 
 static int inner_set_sta_ssid(int net_no, char *sta_ssid)
 {
-	char lynq_wifi_ssid_cmd[80]={0};
+    char lynq_wifi_ssid_cmd[80]={0};
 
-	if (sta_ssid == NULL) {
-		printf("sta_ssid is null\n");
-		return -1;
+    if (sta_ssid == NULL)
+    {
+        RLOGE("sta_ssid is null\n");
+        return -1;
     }
 
-	CHECK_WPA_CTRL(CTRL_STA);
+    CHECK_WPA_CTRL(CTRL_STA);
 
     sprintf(lynq_wifi_ssid_cmd,"SET_NETWORK %d ssid \"%s\"", net_no, sta_ssid);
 
     DO_OK_FAIL_REQUEST(lynq_wifi_ssid_cmd);
 //    DO_OK_FAIL_REQUEST(cmd_save_config);
 
-	return 0;
+    return 0;
 
 }
 
@@ -1685,7 +1949,8 @@
 
     CHECK_WPA_CTRL(CTRL_STA);
 
-    if (save != 0) {
+    if (save != 0)
+    {
         if (start_flag != 0)
         {
             sprintf(lynq_select_cmd,"ENABLE_NETWORK %d", net_no);
@@ -1699,11 +1964,13 @@
         DO_OK_FAIL_REQUEST(cmd_save_config);
     }
 
-    if (start_flag == 0) {
+    if (start_flag == 0)
+    {
         sprintf(lynq_disable_cmd,"DISCONNECT");
         DO_OK_FAIL_REQUEST(lynq_disable_cmd);
     }
-    else {
+    else
+    {
         sprintf(lynq_select_cmd,"SELECT_NETWORK %d", net_no);
         DO_OK_FAIL_REQUEST(lynq_select_cmd);
     }
@@ -1713,6 +1980,7 @@
 
 int lynq_wifi_get_sta_ssid(lynq_wifi_index_e idx, char* sta_ssid)
 {
+    RLOGD("enter lynq_sta_ssid_password_set");
     CHECK_IDX(idx, CTRL_STA);
 
     curr_status_info curr_state;
@@ -1720,7 +1988,8 @@
     curr_state.ap = &ap_info;
     curr_state.state = NULL;
 
-    if (0 == inner_get_status_info(CTRL_STA, &curr_state)) {
+    if (0 == inner_get_status_info(CTRL_STA, &curr_state))
+    {
         strncpy(sta_ssid, ap_info.ap_ssid, sizeof (ap_info.ap_ssid));
         return 0;
     }
@@ -1742,7 +2011,8 @@
     ret = -1;
 
     CHECK_IDX(idx, CTRL_STA);
-    if (info == NULL) {
+    if (info == NULL)
+    {
         return -1;
     }
 
@@ -1756,7 +2026,8 @@
     curr_state.ap = &ap_info;
     curr_state.state = status;
 
-    if (0 == inner_get_status_info(CTRL_STA, &curr_state) && curr_state.net_no >= 0) {
+    if (0 == inner_get_status_info(CTRL_STA, &curr_state) && curr_state.net_no >= 0)
+    {
         memcpy(&info->base_info, &ap_info, sizeof (ap_info_s));
         if (strcmp(status, STATE_COMPLETED) == 0)
         {
@@ -1773,7 +2044,8 @@
 
     lynq_wifi_sta_start_scan(idx);
 
-    if (0 != lynq_get_scan_list(0, &scan_list, &scan_len)) {
+    if (0 != lynq_get_scan_list(0, &scan_list, &scan_len))
+    {
         if (NULL != scan_list)
         {
             free(scan_list);
@@ -1781,7 +2053,8 @@
         return -1;
     }
 
-    if (0 != lynq_get_sta_saved_ap(0, &save_list, &save_len)) {
+    if (0 != lynq_get_sta_saved_ap(0, &save_list, &save_len))
+    {
         if (NULL != scan_list)
         {
             free(scan_list);
@@ -1793,15 +2066,20 @@
         return -1;
     }
 
-    for (i=0; i < save_len; i++) {
-        for (j=0; j < scan_len; j++) {
+    for (i=0; i < save_len; i++)
+    {
+        for (j=0; j < scan_len; j++)
+	{
             if (strcmp(save_list[i].base_info.ap_ssid, scan_list[j].ssid) == 0 //@todo not finished
-                    && save_list[i].base_info.auth == scan_list[j].auth) {
-                if (best_rssi == 0) {
+                    && save_list[i].base_info.auth == scan_list[j].auth)
+	    {
+                if (best_rssi == 0)
+		{
                     best_index = i;
                     best_rssi = scan_list[j].rssi;
                 }
-                else if (best_rssi > scan_list[j].rssi) {
+                else if (best_rssi > scan_list[j].rssi)
+		{
                     best_index = i;
                     best_scan_index = j;
                     best_rssi = scan_list[j].rssi;
@@ -1812,7 +2090,8 @@
         }
     }
 
-    if (best_index >= 0) {
+    if (best_index >= 0)
+    {
         memcpy(&info->base_info, &save_list[best_index].base_info, sizeof (ap_info_s));
         inner_get_ip_by_mac( info->base_info.ap_mac, info->base_info.ap_ip, sizeof (info->base_info.ap_ip));
         info->status = LYNQ_WIFI_AP_STATUS_DISABLE;
@@ -1841,22 +2120,25 @@
 
     CHECK_WPA_CTRL(CTRL_STA);
 
-	switch(auth){
-		case LYNQ_WIFI_AUTH_OPEN:
+    switch(auth)
+    {
+        case LYNQ_WIFI_AUTH_OPEN:
         {
             sprintf(lynq_auth_cmd,"SET_NETWORK %d key_mgmt NONE", net_no);
 
             DO_OK_FAIL_REQUEST(lynq_auth_cmd);
-//            DO_OK_FAIL_REQUEST(cmd_save_config);
-			break;
-		}
-		case LYNQ_WIFI_AUTH_WPA_PSK:
+//          DO_OK_FAIL_REQUEST(cmd_save_config);
+            break;
+        }
+        case LYNQ_WIFI_AUTH_WPA_PSK:
         case LYNQ_WIFI_AUTH_WPA2_PSK:
-		{
-            if (auth == LYNQ_WIFI_AUTH_WPA_PSK) {
+	{
+            if (auth == LYNQ_WIFI_AUTH_WPA_PSK)
+	    {
                 sprintf(lynq_auth_cmd,"SET_NETWORK %d proto WPA", net_no);
             }
-            else if (auth == LYNQ_WIFI_AUTH_WPA2_PSK) {
+            else if (auth == LYNQ_WIFI_AUTH_WPA2_PSK)
+	    {
                 sprintf(lynq_auth_cmd,"SET_NETWORK %d proto RSN", net_no);
             }
             sprintf(lynq_ket_mgmt_cmd,"SET_NETWORK %d key_mgmt WPA-PSK", net_no);
@@ -1866,19 +2148,49 @@
             DO_OK_FAIL_REQUEST(lynq_ket_mgmt_cmd);
             DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
 
-            if (password != NULL) {
+            if (password != NULL)
+	    {
                 sprintf(lynq_psk_cmd, "SET_NETWORK %d psk \"%s\"", net_no, password);
                 DO_OK_FAIL_REQUEST(lynq_psk_cmd);
+                sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise CCMP", net_no);
             }
 
 //            DO_OK_FAIL_REQUEST(cmd_save_config);
-			break;
-		}		
-		default:
-			return -1;
+            break;
+        }	
+	case LYNQ_WIFI_AUTH_WPA2_WPA3_PSK:
+	{
+            sprintf(lynq_auth_cmd,"SET_NETWORJ %d ieee80211w 1",net_no);
+            sprintf(lynq_ket_mgmt_cmd,"SET_NETWORJ %d key_mgmt SAE WPA-PSK",net_no);
+            sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise CCMP", net_no);
+            sprintf(lynq_psk_cmd, "SET_NETWORK %d psk \"%s\"", net_no, password);
+            
+	    DO_OK_FAIL_REQUEST(lynq_auth_cmd);
+            DO_OK_FAIL_REQUEST(lynq_ket_mgmt_cmd);
+            DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
+            DO_OK_FAIL_REQUEST(lynq_psk_cmd);
+
+	    break;
+	}
+	case LYNQ_WIFI_AUTH_WPA3_PSK:
+	{
+            sprintf(lynq_auth_cmd,"SET_NETWORJ %d ieee80211w 2",net_no);
+            sprintf(lynq_ket_mgmt_cmd,"SET_NETWORJ %d key_mgmt SAE",net_no);
+            sprintf(lynq_pairwise_cmd,"SET_NETWORK %d pairwise CCMP", net_no);
+            sprintf(lynq_psk_cmd, "SET_NETWORK %d psk \"%s\"", net_no, password);
+            
+	    DO_OK_FAIL_REQUEST(lynq_auth_cmd);
+            DO_OK_FAIL_REQUEST(lynq_ket_mgmt_cmd);
+            DO_OK_FAIL_REQUEST(lynq_pairwise_cmd);
+            DO_OK_FAIL_REQUEST(lynq_psk_cmd);
+
+	    break;
+	}
+	default:
+            return -1;
     }
 
-	return 0;
+    return 0;
 }
 
 static int inner_get_curr_net_no(int interface) {
@@ -1886,7 +2198,8 @@
     curr_state.ap = NULL;
     curr_state.state = NULL;
 
-    if (0 != inner_get_status_info(interface, &curr_state)) {
+    if (0 != inner_get_status_info(interface, &curr_state))
+    {
         return -1;
     }
 
@@ -1900,7 +2213,8 @@
 
     net_no = inner_get_curr_net_no(CTRL_STA);
 
-    if (net_no < 0) {
+    if (net_no < 0)
+    {
         return -1;
     }
 
@@ -1913,14 +2227,17 @@
     int net_no_list[128];
     lynq_wifi_auth_s net_auth;
 
-    if (ssid == NULL || *ssid == '\0') {
-        printf("bad ssid\n");
+    if (ssid == NULL || *ssid == '\0')
+    {
+        RLOGE("bad ssid\n");
         return -1;
     }
 
-    if (LYNQ_WIFI_AUTH_OPEN != auth) {
-        if (psw == NULL || strlen(psw) < 8 || strlen(psw) >= 64) {
-            printf("bad password\n");
+    if (LYNQ_WIFI_AUTH_OPEN != auth)
+    {
+        if (psw == NULL || strlen(psw) < 8 || strlen(psw) >= 64)
+	{
+            RLOGE("bad password\n");
             return -1;
         }
     }
@@ -1930,27 +2247,33 @@
     net_no = -1;
     count = lynq_get_network_number_list(idx, CTRL_STA, net_no_list, ssid);
 
-    for (index=0; index < count; index++) {
+    for (index=0; index < count; index++)
+    {
         net_auth = -1;
-        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == auth) {
+        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == auth)
+	{
             net_no = net_no_list[index];
             break;
         }
     }
 
-    if (net_no < 0) {
+    if (net_no < 0)
+    {
         net_no = lynq_add_network(CTRL_STA);
-        if (net_no == -1) {
+        if (net_no == -1)
+	{
             return -1;
         }
 
-        printf("net no is %d\n", net_no);
-        if (0 != inner_set_sta_ssid(net_no, ssid)) {
+        RLOGD("net no is %d\n", net_no);
+        if (0 != inner_set_sta_ssid(net_no, ssid))
+	{
             return -1;
         }
     }
 
-    if (0 != inner_set_sta_auth_psw(net_no, auth, psw)) {
+    if (0 != inner_set_sta_auth_psw(net_no, auth, psw))
+    {
         return -1;
     }
 
@@ -1963,7 +2286,9 @@
     curr_status_info curr_state;
     ap.ap_ssid[0] = '\0';
 
-    if (ssid == NULL || *ssid == '\0') {
+    if (ssid == NULL || *ssid == '\0')
+    {
+        RLOGE("input ssid is NULL\n");
         return -1;
     }
 
@@ -1972,11 +2297,13 @@
     curr_state.ap = &ap;
     curr_state.state = NULL;
 
-    if (inner_get_status_info(CTRL_STA, &curr_state) != 0) {
+    if (inner_get_status_info(CTRL_STA, &curr_state) != 0)
+    {
         return 0;
     }
 
-    if (strcmp(ap.ap_ssid, ssid) != 0) {
+    if (strcmp(ap.ap_ssid, ssid) != 0)
+    {
         return 0;
     }
 
@@ -2091,8 +2418,9 @@
 
 //    ap_info_s * tmp_ap;
 //    device_info_s * tmp_list;
-    if (ap == NULL || list == NULL || len == NULL) {
-        printf("bad input param");
+    if (ap == NULL || list == NULL || len == NULL)
+    {
+        RLOGE("bad input param");
         return -1;
     }
 
@@ -2100,7 +2428,9 @@
 //    list = &tmp_list;
     *ap = malloc(sizeof (ap_info_s));
 
-    if (inner_get_status_info_ap (CTRL_AP, *ap) != 0) {
+    if (inner_get_status_info_ap (CTRL_AP, *ap) != 0)
+    {
+	RLOGE("inner_get_status_info_ap !=0\n");
         return -1;
     }
 
@@ -2110,8 +2440,10 @@
     DO_REQUEST(lynq_first_sta_cmd);
 
     index = 0;
-    while (reply_len > 0) {
-        if (memcmp(cmd_reply, "FAIL", 4) == 0) {
+    while (reply_len > 0)
+    {
+        if (memcmp(cmd_reply, "FAIL", 4) == 0)
+	{
             break;
         }
         line_count = lynq_split(cmd_reply, reply_len, '\n', split_lines);
@@ -2122,8 +2454,9 @@
         reply_len = MAX_RET;
         cmd_reply[0] = '\0';
         ret = local_wpa_ctrl_request(lynq_wpa_ctrl, lynq_next_sta_cmd, strlen(lynq_next_sta_cmd), cmd_reply, &reply_len, NULL);
-        if (ret != 0 || memcmp(cmd_reply, "FAIL", 4) == 0) {
-            printf("run %s fail \n", lynq_next_sta_cmd);
+        if (ret != 0 || memcmp(cmd_reply, "FAIL", 4) == 0)
+	{
+            RLOGD("run %s fail \n", lynq_next_sta_cmd);
             break;
         }
     }
@@ -2131,7 +2464,8 @@
     *len = index;
 
     *list = malloc(sizeof(device_info_s) * (*len));
-    for (index=0; index < *len; index++) {
+    for (index=0; index < *len; index++)
+    {
         dev_info = &(*list)[index];
         memset(dev_info, 0, sizeof(device_info_s));
         strncpy(dev_info->sta_mac, bssid[index], sizeof (dev_info->sta_mac));
@@ -2152,7 +2486,8 @@
     char *split_words[128] = {0};
     scan_info_s * p;
 
-    if (list == NULL || len == NULL) {
+    if (list == NULL || len == NULL)
+    {
         return -1;
     }
 
@@ -2172,16 +2507,18 @@
     *list = malloc(sizeof (scan_info_s) * *len);
 
     count_words = lynq_split(split_lines[0], strlen(split_lines[0]), '/', split_words); //@todo get with header
-    for (index=0; index <count_words; index++) {
-        printf("----header: %s\n", split_words[index]);
+    for (index=0; index <count_words; index++)
+    {
+        RLOGD("----header: %s\n", split_words[index]);
     }
 
-    for(index = 1;index < count; index++) {
-        printf("---- %s\n",split_lines[index]);
+    for(index = 1;index < count; index++)
+    {
+        RLOGD("---- %s\n",split_lines[index]);
         count_words = lynq_split(split_lines[index], strlen(split_lines[index]), '\t', split_words);
         if (count_words < 4)
             continue;
-        printf("count: %d, %s\n", count_words, split_words[0]);
+        RLOGD("count: %d, %s\n", count_words, split_words[0]);
         //bssid / frequency / signal level / flags / ssid
         p = (*list) + index - 1;
         strcpy(p->mac, split_words[0]);
@@ -2201,8 +2538,9 @@
     lynq_wifi_auth_s net_auth;
     char lynq_remove_cmd[MAX_CMD];
 
-    if (ssid == NULL || *ssid == '\0') {
-        printf("bad ssid\n");
+    if (ssid == NULL || *ssid == '\0')
+    {
+        RLOGD("bad ssid\n");
         return -1;
     }
 
@@ -2213,15 +2551,18 @@
     net_no = -1;
     count = lynq_get_network_number_list(idx, CTRL_STA, net_no_list, ssid);
 
-    for (index=0; index < count; index++) {
+    for (index=0; index < count; index++)
+    {
         net_auth = -1;
-        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == auth) {
+        if (0 == inner_get_network_auth(CTRL_STA, net_no_list[index], &net_auth) && net_auth == auth)
+	{
             net_no = net_no_list[index];
             break;
         }
     }
 
-    if (net_no < 0) {
+    if (net_no < 0)
+    {
         return 0;
     }
 
@@ -2234,13 +2575,14 @@
 }
 
 int lynq_get_sta_saved_ap(lynq_wifi_index_e idx, saved_ap_info_s ** list, int * len)
-{    
+{
     int count, index;
     int net_no_list[128];
     char freq[16];
-
-    if (list == NULL || len == NULL) {
-        printf("bad param\n");
+    RLOGD("enter lynq_get_sta_saved_ap api\n");
+    if (list == NULL || len == NULL)
+    {
+        RLOGE("bad param,please check!");
         return -1;
     }
 
@@ -2249,27 +2591,34 @@
 //    CHECK_WPA_CTRL(CTRL_STA);
 
     count = lynq_get_network_number_list(idx, CTRL_STA, net_no_list, NULL);
-    printf("count is %d\n", count);
+    RLOGD("[lynq_get_sta_saved_ap]count is %d\n", count);
 
     *list = malloc(sizeof (saved_ap_info_s) * count);
     memset(*list, 0, sizeof (saved_ap_info_s) * count);
     *len = count;
 
-    for (index=0; index < count; index++) {
-        printf("to get ssid %d\n", index);
+    for (index=0; index < count; index++)
+    {
+	RLOGD("[lynq_get_sta_saved_ap]to get ssid %d", index);
+	RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get ssid");
         inner_get_param(CTRL_STA, net_no_list[index], "ssid", (*list)[index].base_info.ap_ssid);
+	RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get mac");
         inner_get_param(CTRL_STA, net_no_list[index], "bssid", (*list)[index].base_info.ap_mac);
+	RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get auth");
         inner_get_network_auth(CTRL_STA, net_no_list[index], &(*list)[index].base_info.auth);
-        if (inner_get_param(CTRL_STA, net_no_list[index], "frequency", freq) == 0) {
+	RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get band");
+        if (inner_get_param(CTRL_STA, net_no_list[index], "frequency", freq) == 0)
+	{
             (*list)[index].base_info.band = convert_band_from_freq(atoi(freq));
         }
-        else {
+        else
+	{
             (*list)[index].base_info.band = -1;
         }
-
+	RLOGD("[lynq_get_sta_saved_ap][inner_get_param]to get psw");
         lynq_sta_ssid_password_get(idx, & (*list)[index].base_info, (*list)[index].base_info.psw);
     }
-
+    RLOGD("[lynq_get_sta_saved_ap] return ok");
     return 0;
 }
 
@@ -2283,9 +2632,11 @@
 
     g_sta_scan_finish_flag = 0;
     DO_REQUEST(lynq_scan_cmd);
-    if (reply_len >=9 && memcmp(cmd_reply, "FAIL-BUSY", 9) == 0 ) {
+    if (reply_len >=9 && memcmp(cmd_reply, "FAIL-BUSY", 9) == 0 )
+    {
         return 0;
-    } else if (reply_len >=2 && memcmp(cmd_reply, "OK", 2) != 0) {
+    } else if (reply_len >=2 && memcmp(cmd_reply, "OK", 2) != 0)
+    {
         g_sta_scan_finish_flag = 1;
         return -1;
     }
@@ -2294,7 +2645,9 @@
 }
 
 int lynq_reg_ap_event_callback(void * priv, AP_CALLBACK_FUNC_PTR cb) {
-    if (cb == NULL) {
+    if (cb == NULL) 
+    {
+        RLOGE("lynq_reg_ap_event_callback ptr is NULL,plese check!\n");
         return -1;
     }
 
@@ -2305,7 +2658,8 @@
 }
 
 int lynq_unreg_ap_event_callback(void * priv) {
-    if (g_ap_callback_priv == priv) {
+    if (g_ap_callback_priv == priv)
+    {
         g_ap_callback_func = NULL;
         g_ap_callback_priv = NULL;
         return 0;
@@ -2314,7 +2668,9 @@
 }
 
 int lynq_reg_sta_event_callback(void * priv, STA_CALLBACK_FUNC_PTR cb){
-    if (cb == NULL) {
+    if (cb == NULL) 
+    {
+        RLOGE("lynq_reg_sta_event_callback ptr is NULL,plese check!\n");
         return -1;
     }
 
@@ -2325,7 +2681,8 @@
 }
 
 int lynq_unreg_sta_event_callback(void * priv) {
-    if (g_sta_callback_priv == priv) {
+    if (g_sta_callback_priv == priv)
+    {
         g_sta_callback_func = NULL;
         g_sta_callback_priv = NULL;
         return 0;
@@ -2344,17 +2701,21 @@
 int lynq_get_ap_status(lynq_wifi_index_e idx, lynq_wifi_ap_run_status_s * ap_status)
 {
     char state[MAX_CMD];
+    RLOGD("enter lynq_get_ap_status\n");
     CHECK_IDX(idx, CTRL_AP);
 
-    if (inner_get_status_info_state(CTRL_AP, state) != 0) {
+    if (inner_get_status_info_state(CTRL_AP, state) != 0)
+    {
         *ap_status = LYNQ_WIFI_AP_STATUS_DISABLE;
         return 0;
     }
 
-    if (memcmp(state, STATE_COMPLETED, strlen (STATE_COMPLETED)) == 0) {
+    if (memcmp(state, STATE_COMPLETED, strlen (STATE_COMPLETED)) == 0)
+    {
         *ap_status = LYNQ_WIFI_AP_STATUS_ENABLE;
     }
-    else {
+    else
+    {
         *ap_status = LYNQ_WIFI_AP_STATUS_DISABLE;
     }
 
@@ -2363,17 +2724,21 @@
 
 int lynq_get_sta_status(lynq_wifi_index_e idx, lynq_wifi_sta_run_status_s * sta_status) {
     char state[MAX_CMD];
+    RLOGD("enter lynq_get_sta_status\n");
     CHECK_IDX(idx, CTRL_STA);
 
-    if (inner_get_status_info_state(CTRL_STA, state) != 0) {
+    if (inner_get_status_info_state(CTRL_STA, state) != 0)
+    {
         *sta_status = LYNQ_WIFI_STA_STATUS_DISABLE;
         return 0;
     }
 
-    if (memcmp(state, STATE_COMPLETED, strlen (STATE_COMPLETED)) == 0) {
+    if (memcmp(state, STATE_COMPLETED, strlen (STATE_COMPLETED)) == 0)
+    {
         *sta_status = LYNQ_WIFI_STA_STATUS_ENABLE;
     }
-    else {
+    else
+    {
         *sta_status = LYNQ_WIFI_STA_STATUS_DISABLE;
     }
 
@@ -2403,11 +2768,11 @@
 //        printf("to call [%s]\n", cmd_str);
 //        ret = local_wpa_ctrl_request(s_lynq_wpa_ctrl, cmd_str, strlen(cmd_str), cmd_reply, &reply_len, NULL);
 //        if (ret != 0) {
-//            printf("call ##cmd_str fail %d\n", ret);
+//            RLOGE("call ##cmd_str fail %d\n", ret);
 //            return ret;
 //        }
 //        cmd_reply[reply_len+1] = '\0';
-//        printf("cmd replay [ %s ]\n", cmd_reply);
+//        RLOGD("cmd replay [ %s ]\n", cmd_reply);
 //    }while(0);
 
     FILE *fp;
@@ -2417,25 +2782,27 @@
 //    CHECK_IDX(idx, CTRL_AP);
 
     if((fp=popen("wl country","r"))==NULL)
-        {
-            perror("popen error!");
-            return -1;
-        }
+    {
+        perror("popen error!");
+        return -1;
+    }
     if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0)
     {
         perror("fread fail!");
         return -1;
     }
 
-    for(i=0; i < strlen(lynq_cmd_ret); i++) {
-        if (lynq_cmd_ret[i] == ' ') {
+    for(i=0; i < strlen(lynq_cmd_ret); i++)
+    {
+        if (lynq_cmd_ret[i] == ' ')
+	{
             lynq_cmd_ret[i] = '\0';
             break;
         }
     }
 
     strcpy(country_code,lynq_cmd_ret);
-    printf("---country code %s\n", country_code);
+    RLOGD("---country code %s\n", country_code);
 
     int ret=pclose(fp);
     if(ret==-1)
@@ -2454,14 +2821,16 @@
 //    DO_REQUEST(cmd_str);
 //    printf("result %s\n", cmd_reply);
 
-    if (country_code == NULL || *country_code == '\0') {
-        printf("bad country code\n");
+    if (country_code == NULL || *country_code == '\0')
+    {
+        RLOGD("bad country code\n");
         return -1;
     }
 
     char lynq_country_cmd[MAX_CMD];
     sprintf(lynq_country_cmd, "wl country %s", country_code);
-    if (system(lynq_country_cmd) == 0) {
+    if (system(lynq_country_cmd) == 0)
+    {
         return 0;
     }
 
@@ -2470,7 +2839,10 @@
 
 int lynq_get_connect_ap_mac(lynq_wifi_index_e idx,char *mac)
 {
-    if (mac == NULL) {
+    RLOGD("enter lynq_get_connect_ap_mac\n");
+    if (mac == NULL) 
+    {
+        RLOGE("input ptr is NULL,please check\n");
         return -1;
     }
 
@@ -2478,7 +2850,8 @@
     ap_info_s ap;
     ap.ap_mac[0] = '\0';
 
-    if (inner_get_status_info_ap(CTRL_STA, &ap) != 0) {
+    if (inner_get_status_info_ap(CTRL_STA, &ap) != 0)
+    {
         return -1;
     }
     strcpy(mac, ap.ap_mac);
@@ -2488,18 +2861,22 @@
 
 int lynq_get_interface_ip(lynq_wifi_index_e idx, char *ip)
 {
+    RLOGD("enter lynq_get_interface_ip\n");
     struct ifaddrs *ifaddr_header, *ifaddr;
     struct in_addr * ifa;
     const char * ifaName = "wlan0";
     if (ip == NULL)
     {
+       RLOGE("[lynq_get_interface_ip]input erro,input is NULL ptr,please check\n");
        return -1;
     }
 
-    if (idx == 1) {
+    if (idx == 1)
+    {
        ifaName = "tether";
     }
-    else if (idx != 0) {
+    else if (idx != 0)
+    {
        return -1;
     }
 
@@ -2522,19 +2899,21 @@
                // is a valid IP4 Address
                ifa=&((struct sockaddr_in *)ifaddr->ifa_addr)->sin_addr;
                inet_ntop(AF_INET, ifa, ip, INET_ADDRSTRLEN);
-               printf("%s IP Address %s/n", ifaddr->ifa_name, ip);
+               RLOGD("[lynq_get_interface_ip]:%s IP Address %s/n", ifaddr->ifa_name, ip);
                freeifaddrs(ifaddr_header);
-               printf("ip %s\n", ip);
+               RLOGD("ip %s\n", ip);
                return 0;
             }
         }
     }
     freeifaddrs(ifaddr_header);
+    RLOGE("[lynq_get_interface_ip] can't find interface | other erro\n");
     return -1;
 }
 
 int lynq_get_interface_mac(lynq_wifi_index_e idx,char *mac)
 {
+    RLOGD("enter lynq_get_interface_mac\n");
     int count;
     size_t i;
     char *split_words[128] = {0};
@@ -2544,18 +2923,23 @@
 
     DO_REQUEST(lynq_get_mac_cmd);
 
-    if (memcmp(cmd_reply, "FAIL", 4) == 0) {
+    if (memcmp(cmd_reply, "FAIL", 4) == 0)
+    {
+        RLOGE("[lynq_get_interface_mac]do request cmd --DRIVER MACADDR-- reply FAIL\n");
         return -1;
     }
 
     count = lynq_split(cmd_reply, reply_len, '=', split_words);
 
-    if (count < 2) {
+    if (count < 2)
+    {
         return -1;
     }
 
-    for (i=0; i < strlen(split_words[1]); i++ ) {
-        if (split_words[1][i] != ' ') {
+    for (i=0; i < strlen(split_words[1]); i++ )
+    {
+        if (split_words[1][i] != ' ')
+	{
             break;
         }
     }
@@ -2604,10 +2988,10 @@
  *
  ***** change by qs.xiong 20221011*******/
     if((fp=popen("wl -i wlan0 rssi","r"))==NULL)
-        {
-            perror("popen error!");
-            return -1;
-        }
+    {
+        perror("popen error!");
+        return -1;
+    }
     if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0)
     {
         perror("fread fail!");
@@ -2617,7 +3001,8 @@
 /****** if got rssi is 0,means sta didn't connected any device****/
     if(*rssi == 0)
     {
-        printf("sta didn't connected any ap device,please check connection\n");
+        RLOGE("[lynq_get_connect_ap_rssi]sta didn't connected any ap device,please check connection\n");
+	return -1;
     }
 
     return 0;
@@ -2625,7 +3010,9 @@
 
 int lynq_get_connect_ap_band(lynq_wifi_index_e idx, lynq_wifi_band_m * band)
 {
-    if (band == NULL) {
+    RLOGD("enter lynq_get_connect_ap_band\n");
+    if (band == NULL)
+    {
         return -1;
     }
 
@@ -2633,7 +3020,8 @@
     ap_info_s ap;
     ap.band = -1;
 
-    if (inner_get_status_info_ap(CTRL_STA, &ap) != 0) {
+    if (inner_get_status_info_ap(CTRL_STA, &ap) != 0)
+    {
         return -1;
     }
     *band = ap.band;
@@ -2647,7 +3035,7 @@
 
     if (ip == NULL)
     {
-        printf("invalid param");
+        RLOGE("[lynq_get_connect_ap_ip]invalid param ptr ip,input ptr is NULL\n");
         return -1;
     }
 
@@ -2665,14 +3053,16 @@
 {
     char lynq_limit_cmd[32]={0};
     int ret;
-    if((sta_number < 1 ) && (sta_number > 15)){
-        printf("sta_number: not in range\n",sta_number);
+    if((sta_number < 1 ) && (sta_number > 15))
+    {
+        RLOGE("sta_number: not in range\n",sta_number);
         return -1;
     }
     sprintf(lynq_limit_cmd,"wl maxassoc  %d", sta_number);
     ret = system(lynq_limit_cmd);
-    if(ret != 0){
-        printf("cmd of limit ap devices number error\n");
+    if(ret != 0)
+    {
+        RLOGE("cmd of limit ap devices number error\n");
     }
     return 0;
 }
@@ -2684,11 +3074,13 @@
     char lynq_cmd_mode[128]={0};
     char lynq_cmd_slect[128]={0};
 
-    if((acs_mode != 2) && (acs_mode != 5)){
+    if((acs_mode != 2) && (acs_mode != 5))
+    {
         PRINT_AND_RETURN_VALUE("set acs_mode is error",-1);
     }
 
-    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0) {
+    if (lynq_check_network_number(idx, CTRL_AP, AP_NETWORK_0) != 0)
+    {
         return -1;
     }
 
@@ -2741,7 +3133,8 @@
     if( inet_aton(mask, &ip_addr) )
     {
         netmask = ntohl(ip_addr.s_addr);
-    }else{
+    }else
+    {
         netmask = 0;
         return 0;
     }
@@ -2796,7 +3189,7 @@
     nmax = 6;
     ncheckcount = nidlecount = 0;
 
-    printf("------gbw thread run\n");
+    RLOGD("------gbw thread run\n");
     sprintf(str_cmd, "ip neigh | grep %s | awk '{print $1}'", g_gbw_mac);
     while (dest_ip[0] == '\0') {
         sleep(1);
@@ -2819,7 +3212,7 @@
     system("tc class add dev tether parent 1:  classid 1:1  htb rate 50Mbit ceil 70Mbit prio 2 quantum 3000");
     if (get_tether_route_str(str_cmd_ret, sizeof (str_cmd_ret)) != 0)
     {
-        printf("not get tether info\n");
+        RLOGD("not get tether info\n");
         return;
     }
     sprintf(str_cmd, "tc filter add dev tether parent 1: protocol ip prio 16 u32 match ip dst %s flowid 1:1", str_cmd_ret);