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;
