From 2f630f5e919a47161a5df362643b91a091f7236c Mon Sep 17 00:00:00 2001 From: jgujarathi Date: Mon, 24 Apr 2023 10:36:15 +0530 Subject: [PATCH 1/2] wpa_supplicant : Add MBO ie in probe request. Adds the MBO information element in the probe request frame by resetting scan_ie after set_config is done. --- components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c b/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c index a399304d8d..5051436642 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c +++ b/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c @@ -185,7 +185,7 @@ int wpa_sta_connect(uint8_t *bssid) void wpa_config_done(void) { - /* used in future for setting scan and assoc IEs */ + esp_set_scan_ie(); } int wpa_parse_wpa_ie_wrapper(const u8 *wpa_ie, size_t wpa_ie_len, wifi_wpa_ie_t *data) From 62b672158ae5397aac55c1d8d8854cbcc02a13ac Mon Sep 17 00:00:00 2001 From: jgujarathi Date: Wed, 26 Apr 2023 14:26:49 +0530 Subject: [PATCH 2/2] wpa_supplicant : Fix scan results for GCMP and GCMP-256 cipher. Add support for recognising GCMP and GCMP-256 ciphers if used by AP. Update the scan example to show the correct cipher. --- components/wpa_supplicant/src/rsn_supp/wpa.c | 6 ++++++ examples/wifi/scan/main/scan.c | 21 ++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/components/wpa_supplicant/src/rsn_supp/wpa.c b/components/wpa_supplicant/src/rsn_supp/wpa.c index 9f1ec1143b..39467f8a2a 100644 --- a/components/wpa_supplicant/src/rsn_supp/wpa.c +++ b/components/wpa_supplicant/src/rsn_supp/wpa.c @@ -109,6 +109,12 @@ wifi_cipher_type_t cipher_type_map_supp_to_public(unsigned wpa_cipher) case WPA_CIPHER_SMS4: return WIFI_CIPHER_TYPE_SMS4; + case WPA_CIPHER_GCMP: + return WIFI_CIPHER_TYPE_GCMP; + + case WPA_CIPHER_GCMP_256: + return WIFI_CIPHER_TYPE_GCMP256; + default: return WIFI_CIPHER_TYPE_UNKNOWN; } diff --git a/examples/wifi/scan/main/scan.c b/examples/wifi/scan/main/scan.c index 34b88a24ff..17e5859c02 100644 --- a/examples/wifi/scan/main/scan.c +++ b/examples/wifi/scan/main/scan.c @@ -76,6 +76,18 @@ static void print_cipher_type(int pairwise_cipher, int group_cipher) case WIFI_CIPHER_TYPE_TKIP_CCMP: ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_TKIP_CCMP"); break; + case WIFI_CIPHER_TYPE_AES_CMAC128: + ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_AES_CMAC128"); + break; + case WIFI_CIPHER_TYPE_SMS4: + ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_SMS4"); + break; + case WIFI_CIPHER_TYPE_GCMP: + ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_GCMP"); + break; + case WIFI_CIPHER_TYPE_GCMP256: + ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_GCMP256"); + break; default: ESP_LOGI(TAG, "Pairwise Cipher \tWIFI_CIPHER_TYPE_UNKNOWN"); break; @@ -100,6 +112,15 @@ static void print_cipher_type(int pairwise_cipher, int group_cipher) case WIFI_CIPHER_TYPE_TKIP_CCMP: ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_TKIP_CCMP"); break; + case WIFI_CIPHER_TYPE_SMS4: + ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_SMS4"); + break; + case WIFI_CIPHER_TYPE_GCMP: + ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_GCMP"); + break; + case WIFI_CIPHER_TYPE_GCMP256: + ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_GCMP256"); + break; default: ESP_LOGI(TAG, "Group Cipher \tWIFI_CIPHER_TYPE_UNKNOWN"); break;