This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit d59cf4a91c83dec318b433ffbb1bf85c0d90aea9
Author: wangchen <[email protected]>
AuthorDate: Mon Dec 16 20:10:23 2024 +0800

    sim_wifidriver.c:resolve issue in wapi save_config & wapi reconnect command
    
    resolove issue wapi save_config & wapi reconnect command in sim
    
    Signed-off-by: wangchen <[email protected]>
---
 arch/sim/src/sim/sim_wifidriver.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/arch/sim/src/sim/sim_wifidriver.c 
b/arch/sim/src/sim/sim_wifidriver.c
index 5c00d1de018..2b1a8515b88 100644
--- a/arch/sim/src/sim/sim_wifidriver.c
+++ b/arch/sim/src/sim/sim_wifidriver.c
@@ -167,6 +167,7 @@ struct sim_netdev_s
   int key_mgmt;
   int proto;
   int auth_alg;
+  int auth_type;
   int pairwise_chiper;
   int group_cipher;
   uint8_t mode;                 /* IW_MODE_INFRA/ IW_MODE_MASTER */
@@ -1152,11 +1153,15 @@ static int wifidriver_set_auth(struct sim_netdev_s 
*wifidev,
 
       wifidev->proto = value >> 1;
 
-      ninfo("proto=%s\n", get_authstr(value));
+      ninfo("auth_type=%s\n", get_authstr(value));
 
       if (wifidev->mode == IW_MODE_INFRA)
         {
           ret = WPA_SET_NETWORK(wifidev, "proto %s", get_authstr(value));
+          if (ret == 0)
+            {
+              wifidev->auth_type = value;
+            }
         }
       else if(wifidev->mode == IW_MODE_MASTER)
         {
@@ -1208,15 +1213,20 @@ static int wifidriver_get_auth(struct sim_netdev_s 
*wifidev,
                                struct iwreq *pwrq)
 {
   int ret = 0;
+  int flag = pwrq->u.param.flags & IW_AUTH_INDEX;
 
-  switch (wifidev->mode)
+  switch (flag)
     {
-    case IW_MODE_INFRA:
+    case IW_AUTH_WPA_VERSION:
+      pwrq->u.param.value = wifidev->auth_type;
       break;
-    case IW_MODE_MASTER:
+
+    case IW_AUTH_CIPHER_PAIRWISE:
+      pwrq->u.param.value = wifidev->pairwise_chiper;
       break;
     default:
-      break;
+      nerr("ERROR: Unknown cmd %d\n", flag);
+      return -ENOSYS;
     }
 
   return ret;

Reply via email to