Merge branch 'bugfix/fix_some_wifi_bugs_240715_v5.1' into 'release/v5.1'

fix(wifi): fix some wifi bugs 240715(Backport v5.1)

See merge request espressif/esp-idf!32137
This commit is contained in:
Jiang Jiang Jian
2024-07-16 13:06:41 +08:00
8 changed files with 29 additions and 11 deletions

View File

@@ -1591,7 +1591,7 @@ trc_SetTxAmpduState = 0x40001ccc;
trc_tid_isTxAmpduOperational = 0x40001cd0; trc_tid_isTxAmpduOperational = 0x40001cd0;
trcAmpduSetState = 0x40001cd4; trcAmpduSetState = 0x40001cd4;
wDevCheckBlockError = 0x40001cd8; wDevCheckBlockError = 0x40001cd8;
wDev_AppendRxBlocks = 0x40001cdc; /*wDev_AppendRxBlocks = 0x40001cdc;*/
wDev_DiscardFrame = 0x40001ce0; wDev_DiscardFrame = 0x40001ce0;
wDev_GetNoiseFloor = 0x40001ce4; wDev_GetNoiseFloor = 0x40001ce4;
wDev_IndicateAmpdu = 0x40001ce8; wDev_IndicateAmpdu = 0x40001ce8;

View File

@@ -1623,7 +1623,7 @@ TRC_PER_IS_GOOD = 0x400017a4;
trc_SetTxAmpduState = 0x400017a8; trc_SetTxAmpduState = 0x400017a8;
trc_tid_isTxAmpduOperational = 0x400017ac; trc_tid_isTxAmpduOperational = 0x400017ac;
trcAmpduSetState = 0x400017b0; trcAmpduSetState = 0x400017b0;
wDev_AppendRxBlocks = 0x400017b8; /*wDev_AppendRxBlocks = 0x400017b8;*/
wDev_DiscardFrame = 0x400017bc; wDev_DiscardFrame = 0x400017bc;
wDev_GetNoiseFloor = 0x400017c0; wDev_GetNoiseFloor = 0x400017c0;
wDev_IndicateAmpdu = 0x400017c4; wDev_IndicateAmpdu = 0x400017c4;

View File

@@ -145,7 +145,7 @@ trc_SetTxAmpduState = 0x40000dc4;
trc_tid_isTxAmpduOperational = 0x40000dc8; trc_tid_isTxAmpduOperational = 0x40000dc8;
trcAmpduSetState = 0x40000dcc; trcAmpduSetState = 0x40000dcc;
//wDevCheckBlockError = 0x40000dd0; //wDevCheckBlockError = 0x40000dd0;
wDev_AppendRxBlocks = 0x40000dd4; /*wDev_AppendRxBlocks = 0x40000dd4;*/
wDev_DiscardFrame = 0x40000dd8; wDev_DiscardFrame = 0x40000dd8;
wDev_GetNoiseFloor = 0x40000ddc; wDev_GetNoiseFloor = 0x40000ddc;
wDev_IndicateAmpdu = 0x40000de0; wDev_IndicateAmpdu = 0x40000de0;

View File

@@ -1927,7 +1927,7 @@ trc_SetTxAmpduState = 0x40005838;
trc_tid_isTxAmpduOperational = 0x40005844; trc_tid_isTxAmpduOperational = 0x40005844;
trcAmpduSetState = 0x40005850; trcAmpduSetState = 0x40005850;
wDevCheckBlockError = 0x4000585c; wDevCheckBlockError = 0x4000585c;
wDev_AppendRxBlocks = 0x40005868; /*wDev_AppendRxBlocks = 0x40005868;*/
wDev_DiscardFrame = 0x40005874; wDev_DiscardFrame = 0x40005874;
wDev_GetNoiseFloor = 0x40005880; wDev_GetNoiseFloor = 0x40005880;
wDev_IndicateAmpdu = 0x4000588c; wDev_IndicateAmpdu = 0x4000588c;

View File

@@ -385,7 +385,7 @@ menu "Wi-Fi"
config ESP_WIFI_GMAC_SUPPORT config ESP_WIFI_GMAC_SUPPORT
bool "WiFi GMAC Support(GMAC128 and GMAC256)" bool "WiFi GMAC Support(GMAC128 and GMAC256)"
default n default y
help help
Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192 bit certification. Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192 bit certification.

View File

@@ -237,16 +237,32 @@ extern const wpa_crypto_funcs_t g_wifi_default_wpa_crypto_funcs;
#define WIFI_FTM_RESPONDER 0 #define WIFI_FTM_RESPONDER 0
#endif #endif
#define CONFIG_FEATURE_WPA3_SAE_BIT (1<<0) #if CONFIG_ESP_WIFI_GCMP_SUPPORT
#define WIFI_ENABLE_GCMP (1<<4)
#else
#define WIFI_ENABLE_GCMP 0
#endif
#if CONFIG_ESP_WIFI_GMAC_SUPPORT
#define WIFI_ENABLE_GMAC (1<<5)
#else
#define WIFI_ENABLE_GMAC 0
#endif
#define CONFIG_FEATURE_WPA3_SAE_BIT (1<<0)
#define CONFIG_FEATURE_CACHE_TX_BUF_BIT (1<<1) #define CONFIG_FEATURE_CACHE_TX_BUF_BIT (1<<1)
#define CONFIG_FEATURE_FTM_INITIATOR_BIT (1<<2) #define CONFIG_FEATURE_FTM_INITIATOR_BIT (1<<2)
#define CONFIG_FEATURE_FTM_RESPONDER_BIT (1<<3) #define CONFIG_FEATURE_FTM_RESPONDER_BIT (1<<3)
#define CONFIG_FEATURE_GCMP_BIT (1<<4)
#define CONFIG_FEATURE_GMAC_BIT (1<<5)
/* Set additional WiFi features and capabilities */ /* Set additional WiFi features and capabilities */
#define WIFI_FEATURE_CAPS (WIFI_ENABLE_WPA3_SAE | \ #define WIFI_FEATURE_CAPS (WIFI_ENABLE_WPA3_SAE | \
WIFI_ENABLE_SPIRAM | \ WIFI_ENABLE_SPIRAM | \
WIFI_FTM_INITIATOR | \ WIFI_FTM_INITIATOR | \
WIFI_FTM_RESPONDER) WIFI_FTM_RESPONDER | \
WIFI_ENABLE_GCMP | \
WIFI_ENABLE_GMAC)
#define WIFI_INIT_CONFIG_DEFAULT() { \ #define WIFI_INIT_CONFIG_DEFAULT() { \
.osi_funcs = &g_wifi_osi_funcs, \ .osi_funcs = &g_wifi_osi_funcs, \
@@ -397,6 +413,7 @@ esp_err_t esp_wifi_restore(void);
* - ESP_OK: succeed * - ESP_OK: succeed
* - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init
* - ESP_ERR_WIFI_NOT_STARTED: WiFi is not started by esp_wifi_start * - ESP_ERR_WIFI_NOT_STARTED: WiFi is not started by esp_wifi_start
* - ESP_ERR_WIFI_MODE: WiFi mode error
* - ESP_ERR_WIFI_CONN: WiFi internal error, station or soft-AP control block wrong * - ESP_ERR_WIFI_CONN: WiFi internal error, station or soft-AP control block wrong
* - ESP_ERR_WIFI_SSID: SSID of AP which station connects is invalid * - ESP_ERR_WIFI_SSID: SSID of AP which station connects is invalid
*/ */
@@ -1477,9 +1494,10 @@ esp_err_t esp_wifi_sta_get_negotiated_phymode(wifi_phy_mode_t *phymode);
esp_err_t esp_wifi_set_dynamic_cs(bool enabled); esp_err_t esp_wifi_set_dynamic_cs(bool enabled);
/** /**
* @brief Get the rssi info after station connected to AP * @brief Get the rssi information of AP to which the device is associated with
* *
* @attention This API should be called after station connected to AP. * @attention 1. This API should be called after station connected to AP.
* @attention 2. Use this API only in WIFI_MODE_STA or WIFI_MODE_APSTA mode.
* *
* @param rssi store the rssi info received from last beacon. * @param rssi store the rssi info received from last beacon.
* *

View File

@@ -43,7 +43,7 @@ static int esp_aes_gmac(const u8 *key, size_t key_len, const u8 *iv, size_t iv_l
#if CONFIG_GMAC #if CONFIG_GMAC
return aes_gmac(key, key_len, iv, iv_len, aad, aad_len, tag); return aes_gmac(key, key_len, iv, iv_len, aad, aad_len, tag);
#else #else
return 0; return -1;
#endif #endif
} }