Skip to content

Commit

Permalink
Merge branch 'feature/11r_changes' into 'master'
Browse files Browse the repository at this point in the history
esp_wifi: Add support for FT psk

Closes WIFI-2160

See merge request espressif/esp-idf!16754
  • Loading branch information
kapilkedawat committed May 5, 2022
2 parents 2545606 + 3d5ca7e commit 805b5c9
Show file tree
Hide file tree
Showing 31 changed files with 2,112 additions and 348 deletions.
4 changes: 0 additions & 4 deletions components/esp_rom/esp32c2/ld/esp32c2.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -2010,7 +2010,6 @@ dbg_hmac_rxtx_statis_dump = 0x40001e84;
dbg_hmac_statis_dump = 0x40001e88;
ieee80211_send_action_vendor_spec = 0x40001e8c;
ieee80211_send_mgmt = 0x40001e90;
ieee80211_auth_construct = 0x40001e94;
ieee80211_vnd_lora_ie_size = 0x40001ea0;
ieee80211_vnd_ie_size = 0x40001ea4;
ieee80211_add_ssid = 0x40001ea8;
Expand All @@ -2032,7 +2031,6 @@ cnx_coexist_timeout = 0x40001ee8;
sta_recv_mgmt = 0x40001eec;
ieee80211_send_setup = 0x40001ef0;
ieee80211_send_probereq = 0x40001ef4;
sta_auth_open = 0x40001ef8;
sta_auth_shared = 0x40001efc;
sta_auth_sae = 0x40001f00;
cnx_coexist_timeout_process = 0x40001f04;
Expand All @@ -2046,7 +2044,6 @@ ieee80211_add_csa = 0x40001f20;
ieee80211_add_extcap = 0x40001f24;
ieee80211_regdomain_get_country = 0x40001f28;
ieee80211_add_countryie = 0x40001f2c;
ieee80211_alloc_proberesp = 0x40001f30;
ieee80211_amsdu_adjust_head = 0x40001f34;
ieee80211_amsdu_adjust_last_length = 0x40001f38;
ieee80211_amsdu_send_check = 0x40001f3c;
Expand Down Expand Up @@ -2078,7 +2075,6 @@ ieee80211_set_max_rate = 0x40001fa4;
ic_set_sta = 0x40001fa8;
ieee80211_match_security = 0x40001fac;
ieee80211_parse_wpa = 0x40001fb0;
ieee80211_parse_rsn = 0x40001fb4;
ieee80211_add_assoc_req_ies = 0x40001fb8;
ieee80211_add_probe_req_ies = 0x40001fbc;
/* Data (.data, .bss, .rodata) */
Expand Down
3 changes: 2 additions & 1 deletion components/esp_wifi/include/esp_wifi_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,8 @@ typedef struct {
uint32_t rm_enabled:1; /**< Whether Radio Measurements are enabled for the connection */
uint32_t btm_enabled:1; /**< Whether BSS Transition Management is enabled for the connection */
uint32_t mbo_enabled:1; /**< Whether MBO is enabled for the connection */
uint32_t reserved:29; /**< Reserved for future feature set */
uint32_t ft_enabled:1; /**< Whether FT is enabled for the connection */
uint32_t reserved:28; /**< Reserved for future feature set */
} wifi_sta_config_t;

/** @brief Configuration data for ESP32 AP or STA.
Expand Down
25 changes: 16 additions & 9 deletions components/wpa_supplicant/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ set(srcs "port/os_xtensa.c"
set(esp_srcs "esp_supplicant/src/esp_wpa2.c"
"esp_supplicant/src/esp_wpa_main.c"
"esp_supplicant/src/esp_wpas_glue.c"
"esp_supplicant/src/esp_common.c"
"esp_supplicant/src/esp_wps.c"
"esp_supplicant/src/esp_wpa3.c")
if(CONFIG_ESP_WIFI_SOFTAP_SUPPORT)
Expand Down Expand Up @@ -147,16 +148,18 @@ else()
"src/crypto/sha256.c")
endif()

if(CONFIG_WPA_11KV_SUPPORT)
if(CONFIG_WPA_11KV_SUPPORT OR CONFIG_WPA_11R_SUPPORT)
set(roaming_src
"src/common/rrm.c"
"src/common/wnm_sta.c"
"src/common/bss.c"
"src/common/scan.c"
"src/common/ieee802_11_common.c"
"esp_supplicant/src/esp_common.c"
"esp_supplicant/src/esp_scan.c"
)
"esp_supplicant/src/esp_scan.c")
if(CONFIG_WPA_11KV_SUPPORT)
set(roaming_src ${roaming_src} "src/common/rrm.c" "src/common/wnm_sta.c")
endif()
if(CONFIG_WPA_11R_SUPPORT)
set(roaming_src ${roaming_src} "src/rsn_supp/wpa_ft.c")
endif()
else()
set(roaming_src "")
endif()
Expand All @@ -180,7 +183,7 @@ idf_component_register(SRCS "${srcs}" ${esp_srcs} "${tls_src}" "${roaming_src}"
PRIV_INCLUDE_DIRS src src/utils esp_supplicant/src
PRIV_REQUIRES mbedtls esp_timer)

target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-strict-aliasing -Wno-write-strings)
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-strict-aliasing -Wno-write-strings -Werror)
target_compile_definitions(${COMPONENT_LIB} PRIVATE
__ets__
ESP_SUPPLICANT
Expand All @@ -200,7 +203,6 @@ target_compile_definitions(${COMPONENT_LIB} PRIVATE
CONFIG_ECC
CONFIG_IEEE80211W
CONFIG_SHA256
CONFIG_WNM
)

if(CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE)
Expand All @@ -221,11 +223,16 @@ endif()
if(CONFIG_ESP_WIFI_GMAC_SUPPORT)
target_compile_definitions(${COMPONENT_LIB} PRIVATE CONFIG_GMAC)
endif()

if(CONFIG_WPA_MBO_SUPPORT)
target_compile_definitions(${COMPONENT_LIB} PRIVATE CONFIG_MBO)
endif()
if(CONFIG_WPA_DPP_SUPPORT)
target_compile_definitions(${COMPONENT_LIB} PRIVATE CONFIG_DPP)
endif()
if(CONFIG_WPA_11KV_SUPPORT)
target_compile_definitions(${COMPONENT_LIB} PRIVATE CONFIG_SUPPLICANT_TASK CONFIG_WNM CONFIG_RRM)
endif()
if(CONFIG_WPA_11R_SUPPORT)
target_compile_definitions(${COMPONENT_LIB} PRIVATE CONFIG_IEEE80211R)
endif()
set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 3)
10 changes: 8 additions & 2 deletions components/wpa_supplicant/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ menu "Supplicant"
Enabling this may cause inter operability issues with some APs.

config WPA_11KV_SUPPORT
bool "Enable 802.11k, 802.11v APIs handling"
bool "Enable 802.11k, 802.11v APIs Support"
default n
help
Select this option to enable 802.11k 802.11v APIs(RRM and BTM support).
Expand All @@ -77,7 +77,7 @@ menu "Supplicant"
will be flushed immediately.

config WPA_MBO_SUPPORT
bool "Enable MBO support"
bool "Enable Multi Band Operation Certification Support"
default n
select WPA_11KV_SUPPORT
select WPA_SCAN_CACHE
Expand All @@ -91,4 +91,10 @@ menu "Supplicant"
help
Select this option to enable WiFi Easy Connect Support.

config WPA_11R_SUPPORT
bool "Enable 802.11R (Fast Transition)"
default n
help
Select this option to enable WiFi Fast Transition Support.

endmenu
Loading

0 comments on commit 805b5c9

Please sign in to comment.