Merge branch 'bugfix/fix_some_wifi_bugs_260519_v5.3' into 'release/v5.3'

fix(wifi): fix some wifi bugs 260519 v5.3(Backport v5.3)

See merge request espressif/esp-idf!48723
This commit is contained in:
Jiang Jiang Jian
2026-05-20 17:17:42 +08:00
17 changed files with 123 additions and 137 deletions
+2 -2
View File
@@ -884,8 +884,8 @@ ampdu_dispatch_as_many_as_possible = 0x4000182c;
ampdu_dispatch_movement = 0x40001830;
ampdu_dispatch_upto = 0x40001834;
chm_is_at_home_channel = 0x40001838;
cnx_node_is_existing = 0x4000183c;
cnx_node_search = 0x40001840;
/*cnx_node_is_existing = 0x4000183c;*/
/*cnx_node_search = 0x40001840;*/
ic_ebuf_recycle_rx = 0x40001844;
ic_ebuf_recycle_tx = 0x40001848;
ic_reset_rx_ba = 0x4000184c;
@@ -26,8 +26,8 @@ ampdu_dispatch_as_many_as_possible = 0x40000b28;
ampdu_dispatch_movement = 0x40000b2c;
ampdu_dispatch_upto = 0x40000b30;
chm_is_at_home_channel = 0x40000b34;
cnx_node_is_existing = 0x40000b38;
cnx_node_search = 0x40000b3c;
/*cnx_node_is_existing = 0x40000b38;*/
/*cnx_node_search = 0x40000b3c;*/
ic_ebuf_recycle_rx = 0x40000b40;
ic_ebuf_recycle_tx = 0x40000b44;
ic_reset_rx_ba = 0x40000b48;
@@ -25,8 +25,8 @@ ampdu_dispatch_as_many_as_possible = 0x40000b58;
ampdu_dispatch_movement = 0x40000b5c;
ampdu_dispatch_upto = 0x40000b60;
chm_is_at_home_channel = 0x40000b64;
cnx_node_is_existing = 0x40000b68;
cnx_node_search = 0x40000b6c;
/*cnx_node_is_existing = 0x40000b68;*/
/*cnx_node_search = 0x40000b6c;*/
ic_ebuf_recycle_rx = 0x40000b70;
ic_ebuf_recycle_tx = 0x40000b74;
ic_reset_rx_ba = 0x40000b78;
@@ -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
*/
@@ -333,12 +333,13 @@ typedef enum {
} wifi_sort_method_t;
/**
* @brief Structure describing parameters for a Wi-Fi fast scan
* @brief Structure describing parameters for Wi-Fi scan during connection
*/
typedef struct {
int8_t rssi; /**< The minimum rssi to accept in the fast scan mode. Defaults to -127 if set to >= 0 */
wifi_auth_mode_t authmode; /**< The weakest auth mode to accept in the fast scan mode
Note: In case this value is not set and password is set as per WPA2 standards(password len >= 8), it will be defaulted to WPA2 and device won't connect to deprecated WEP/WPA networks. Please set auth mode threshold as WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK to connect to WEP/WPA networks */
int8_t rssi; /**< The minimum rssi to accept in Wi-Fi scan. Defaults to -127 if set to >= 0 */
wifi_auth_mode_t authmode; /**< The weakest authentication mode to accept when scanning for Wi-Fi during connection.
Note: In case this value is not set and password is set as per WPA2 standards(password len >= 8), it will be defaulted to WPA2 and device won't connect to deprecated WEP/WPA networks. Please set auth mode threshold as WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK to connect to WEP/WPA networks.
If this is set to a mixed mode (for example, WPA_WPA2 or WPA2_WPA3), the minimum mode becomes the stronger of the two. For example, WPA_WPA2 becomes WPA2, and WPA2_WPA3 becomes WPA3. See `wifi_auth_mode_t` for details on relative strengths. */
} wifi_scan_threshold_t;
/**
@@ -408,7 +409,7 @@ typedef struct {
uint8_t channel; /**< Channel of soft-AP. Set to 0 for auto selection (min channel: typically 1 for 2.4G, 36 for 5G). Other invalid values return ESP_ERR_INVALID_ARG. */
wifi_auth_mode_t authmode; /**< Auth mode of soft-AP. Do not support AUTH_WEP, AUTH_WAPI_PSK and AUTH_OWE in soft-AP mode. When the auth mode is set to WPA2_PSK, WPA2_WPA3_PSK or WPA3_PSK, the pairwise cipher will be overwritten with WIFI_CIPHER_TYPE_CCMP by default, unless explicitly set. */
uint8_t ssid_hidden; /**< Broadcast SSID or not, default 0, broadcast the SSID */
uint8_t max_connection; /**< Max number of stations allowed to connect in */
uint8_t max_connection; /**< Max number of stations allowed to connect in. Please note that soft-AP and ESP-NOW share the same encryption hardware keys, so the max_connection parameter will be affected by CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM. */
uint16_t beacon_interval; /**< Beacon interval which should be multiples of 100. Unit: TU(time unit, 1 TU = 1024 us). Range: 100 ~ 60000. Default value: 100 */
uint8_t csa_count; /**< Channel Switch Announcement Count. Notify the station that the channel will switch after the csa_count beacon intervals. Default value: 3 */
uint8_t dtim_period; /**< Dtim period of soft-AP. Range: 1 ~ 10. Default value: 1 */
@@ -18,10 +18,8 @@ extern "C" {
#if CONFIG_IDF_TARGET_ESP32C2
#define ESP_WIFI_MAX_CONN_NUM (4) /**< max number of stations which can connect to ESP32C2 soft-AP */
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32C5
#define ESP_WIFI_MAX_CONN_NUM (10) /**< max number of stations which can connect to ESP32C3 soft-AP */
#else
#define ESP_WIFI_MAX_CONN_NUM (15) /**< max number of stations which can connect to ESP32/ESP32S3/ESP32S2 soft-AP */
#define ESP_WIFI_MAX_CONN_NUM (15)
#endif
/** @brief List of stations associated with the Soft-AP */