Merge branch 'bugfix/support_auto_mode_connect_passive_channel_hhidden_ap' into 'master'

feat(wifi): support auto mode connect passive channel hidden ap

Closes FCS-1591, ESPCS-876, and WIFIBUG-1671

See merge request espressif/esp-idf!33911
This commit is contained in:
Jiang Jiang Jian
2026-03-23 10:33:22 +08:00
7 changed files with 43 additions and 6 deletions
+7
View File
@@ -881,6 +881,13 @@ menu "Wi-Fi"
This option enables assert checks to verify that modem RF power state
is correctly cleared before pmu sleep.
config ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT
bool "Support station connection to hidden APs using passive scan when country policy is auto"
default n
help
Select this option to enable/disable support for station connections
to hidden APs using passive scan when the country policy is set to auto.
endif # wifi enabled
endmenu # Wi-Fi
+10 -2
View File
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -284,6 +284,12 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
#define WIFI_ENABLE_BSS_MAX_IDLE 0
#endif
#if CONFIG_ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT
#define WIFI_ENABLE_PASSIVE_HIDDEN_AP (1<<9)
#else
#define WIFI_ENABLE_PASSIVE_HIDDEN_AP 0
#endif
#define CONFIG_FEATURE_WPA3_SAE_BIT (1<<0)
#define CONFIG_FEATURE_CACHE_TX_BUF_BIT (1<<1)
#define CONFIG_FEATURE_FTM_INITIATOR_BIT (1<<2)
@@ -293,6 +299,7 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
#define CONFIG_FEATURE_11R_BIT (1<<6)
#define CONFIG_FEATURE_WIFI_ENT_BIT (1<<7)
#define CONFIG_FEATURE_BSS_MAX_IDLE_BIT (1<<8)
#define CONFIG_FEATURE_WIFI_PASSIVE_HIDDEN_AP_BIT (1<<9)
/* Set additional WiFi features and capabilities */
#define WIFI_FEATURE_CAPS (WIFI_ENABLE_WPA3_SAE | \
@@ -303,7 +310,8 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
WIFI_ENABLE_GMAC | \
WIFI_ENABLE_11R | \
WIFI_ENABLE_ENTERPRISE | \
WIFI_ENABLE_BSS_MAX_IDLE)
WIFI_ENABLE_BSS_MAX_IDLE | \
WIFI_ENABLE_PASSIVE_HIDDEN_AP)
#define WIFI_INIT_CONFIG_DEFAULT() { \
.osi_funcs = &g_wifi_osi_funcs, \
@@ -860,6 +860,13 @@ config WIFI_RMT_MODEM_RF_FLAG_UPDATE_DEBUG
This option enables assert checks to verify that modem RF power state
is correctly cleared before pmu sleep.
config WIFI_RMT_PASSIVE_HIDDEN_AP_SUPPORT
bool "Support station connection to hidden APs using passive scan when country policy is auto"
default n
help
Select this option to enable/disable support for station connections
to hidden APs using passive scan when the country policy is set to auto.
if !ESP_WIFI_ENABLED
rsource "Kconfig.wifi_is_remote.in"
endif # ESP_WIFI_ENABLED
@@ -480,3 +480,9 @@ if WIFI_RMT_MODEM_RF_FLAG_UPDATE_DEBUG
depends on WIFI_RMT_ENHANCED_LIGHT_SLEEP
default WIFI_RMT_MODEM_RF_FLAG_UPDATE_DEBUG
endif
if WIFI_RMT_PASSIVE_HIDDEN_AP_SUPPORT
config ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT # ignore: multiple-definition
bool
default WIFI_RMT_PASSIVE_HIDDEN_AP_SUPPORT
endif
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -284,6 +284,12 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
#define WIFI_ENABLE_BSS_MAX_IDLE 0
#endif
#if CONFIG_WIFI_RMT_PASSIVE_HIDDEN_AP_SUPPORT
#define WIFI_ENABLE_PASSIVE_HIDDEN_AP (1<<9)
#else
#define WIFI_ENABLE_PASSIVE_HIDDEN_AP 0
#endif
#define CONFIG_FEATURE_WPA3_SAE_BIT (1<<0)
#define CONFIG_FEATURE_CACHE_TX_BUF_BIT (1<<1)
#define CONFIG_FEATURE_FTM_INITIATOR_BIT (1<<2)
@@ -293,6 +299,7 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
#define CONFIG_FEATURE_11R_BIT (1<<6)
#define CONFIG_FEATURE_WIFI_ENT_BIT (1<<7)
#define CONFIG_FEATURE_BSS_MAX_IDLE_BIT (1<<8)
#define CONFIG_FEATURE_WIFI_PASSIVE_HIDDEN_AP_BIT (1<<9)
/* Set additional WiFi features and capabilities */
#define WIFI_FEATURE_CAPS (WIFI_ENABLE_WPA3_SAE | \
@@ -303,7 +310,8 @@ extern wifi_osi_funcs_t g_wifi_osi_funcs;
WIFI_ENABLE_GMAC | \
WIFI_ENABLE_11R | \
WIFI_ENABLE_ENTERPRISE | \
WIFI_ENABLE_BSS_MAX_IDLE)
WIFI_ENABLE_BSS_MAX_IDLE | \
WIFI_ENABLE_PASSIVE_HIDDEN_AP)
#define WIFI_INIT_CONFIG_DEFAULT() { \
.osi_funcs = &g_wifi_osi_funcs, \
@@ -62,7 +62,8 @@ typedef u16 __bitwise be16;
#define WIFI_FAIL (1<<3)
#define EMPH_STR(s) "****** "s" ******"
#define MAX_IDLE_PERIOD (5)
//For station, max idle period is default 10 (1000TUs)
#define MAX_IDLE_PERIOD (10)
#define ETHTYPE_IP 0x0800
static const char* TAG = "test_bss_max_idle";