From e84542909c9ae3112c8f980f50fe47c768dbd221 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 1a919df6ff..d26c9b8558 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c +++ b/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c @@ -207,7 +207,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 cecd0250fe98a1970162d6d82020473f3fb16717 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 7569ad384a..4cf7955c62 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 3461e3525d..121946c5ed 100644 --- a/examples/wifi/scan/main/scan.c +++ b/examples/wifi/scan/main/scan.c @@ -79,6 +79,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; @@ -103,6 +115,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;