Merge branch 'bugfix/backport_wifi_fixes_v6.0' into 'release/v6.0'

fix(wifi): backport some wifi fixes to v6.0

See merge request espressif/esp-idf!48386
This commit is contained in:
Jiang Jiang Jian
2026-05-12 21:23:03 +08:00
52 changed files with 895 additions and 528 deletions
@@ -156,6 +156,9 @@ typedef struct wifi_osi_funcs_t {
int (*_coex_schm_flexible_period_set)(uint8_t);
uint8_t (*_coex_schm_flexible_period_get)(void);
void * (*_coex_schm_get_phase_by_idx)(int);
#if CONFIG_SOC_WIFI_HE_SUPPORT
bool (*_wifi_disable_ac_ax)(void);
#endif
int32_t _magic;
} wifi_osi_funcs_t;
+3 -2
View File
@@ -779,8 +779,9 @@ esp_err_t esp_wifi_get_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t *bw);
*
* @attention 1. This API should be called after esp_wifi_start() and before esp_wifi_stop()
* @attention 2. When device is in STA mode, this API should not be called when STA is scanning or connecting to an external AP
* @attention 3. When device is in softAP mode, this API should not be called when softAP has connected to external STAs
* @attention 4. When device is in STA+softAP mode, this API should not be called when in the scenarios described above
* @attention 3. When device is in softAP mode and has connected to external STAs, it initiates the CSA process
* @attention 4. When device is in STA+softAP mode, this API should not be called when STA is scanning or connecting to an external AP
* or softAP has connected to external STAs.
* @attention 5. The channel info set by this API will not be stored in NVS. So If you want to remember the channel used before WiFi stop,
* you need to call this API again after WiFi start, or you can call `esp_wifi_set_config()` to store the channel info in NVS.
* @attention 6. When operating in 5 GHz band, the second channel is automatically determined by the primary channel according to the 802.11 standard.
@@ -529,7 +529,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 */
@@ -1488,7 +1488,6 @@ typedef struct {
bool dcm; /**< Using dcm rate to send frame */
} wifi_tx_rate_config_t;
#define WIFI_MAX_SUPPORT_COUNTRY_NUM 176 /**< max number of supported countries */
#ifdef CONFIG_SOC_WIFI_SUPPORT_5G
#define WIFI_MAX_REGULATORY_RULE_NUM 7 /**< max number of regulatory rules */
#else
@@ -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 || CONFIG_IDF_TARGET_ESP32C61
#define ESP_WIFI_MAX_CONN_NUM (10) /**< max number of stations which can connect to ESP32C3/ESP32C6/ESP32C5/ESP32C61 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 */