Merge branch 'bugfix/fix_some_wifi_bugs_240517_v5.0' into 'release/v5.0'

fix(wifi): fix some wifi issues(Backport v5.0)

See merge request espressif/esp-idf!30917
This commit is contained in:
Jiang Jiang Jian 2024-05-20 13:31:03 +08:00
commit b0173a1018
7 changed files with 22 additions and 20 deletions

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -1482,7 +1482,7 @@ is_lmac_idle = 0x40001b0c;
/*lmacAdjustTimestamp = 0x40001b10;*/
lmacDiscardAgedMSDU = 0x40001b14;
/*lmacDiscardMSDU = 0x40001b18;*/
lmacEndFrameExchangeSequence = 0x40001b1c;
/*lmacEndFrameExchangeSequence = 0x40001b1c;*/
lmacIsIdle = 0x40001b20;
lmacIsLongFrame = 0x40001b24;
/*lmacMSDUAged = 0x40001b28;*/
@ -1631,9 +1631,9 @@ hal_mac_set_txq_invalid = 0x40001d60;
hal_mac_txq_disable = 0x40001d64;
hal_mac_is_txq_enabled = 0x40001d68;
hal_mac_get_txq_pmd = 0x40001d6c;
lmacDiscardFrameExchangeSequence = 0x40001d70;
lmacDisableTransmit = 0x40001d74;
lmacProcessTxTimeout = 0x40001d78;
/*lmacDiscardFrameExchangeSequence = 0x40001d70;*/
/*lmacDisableTransmit = 0x40001d74;*/
/*lmacProcessTxTimeout = 0x40001d78;*/
/*lmacProcessTxSuccess = 0x40001d7c;*/
lmacProcessCollision = 0x40001d80;
lmacProcessTxRtsError = 0x40001d84;
@ -1665,7 +1665,7 @@ mac_last_rxbuf_init = 0x40001de8;
hal_attenna_init = 0x40001dec;
hal_timer_update_by_rtc = 0x40001df0;
hal_coex_pti_init = 0x40001df4;
lmac_stop_hw_txq = 0x40001df8;
/*lmac_stop_hw_txq = 0x40001df8;*/
ppDirectRecycleAmpdu = 0x40001dfc;
esp_wifi_internal_set_rts = 0x40001e00;
esp_wifi_internal_get_rts = 0x40001e04;
@ -1844,9 +1844,9 @@ ic_ebuf_recycle_rx = 0x40001fa0;
ic_ebuf_recycle_tx = 0x40001fa4;
ic_reset_rx_ba = 0x40001fa8;
ieee80211_align_eb = 0x40001fac;
ieee80211_ampdu_reorder = 0x40001fb0;
/*ieee80211_ampdu_reorder = 0x40001fb0;*/
ieee80211_ampdu_start_age_timer = 0x40001fb4;
ieee80211_encap_esfbuf = 0x40001fb8;
/*ieee80211_encap_esfbuf = 0x40001fb8;*/
ieee80211_is_tx_allowed = 0x40001fbc;
ieee80211_output_pending_eb = 0x40001fc0;
/* ieee80211_output_process = 0x40001fc4; */
@ -1856,7 +1856,7 @@ wifi_get_macaddr = 0x40001fd0;
wifi_rf_phy_disable = 0x40001fd4;
wifi_rf_phy_enable = 0x40001fd8;
ic_ebuf_alloc = 0x40001fdc;
ieee80211_classify = 0x40001fe0;
/*ieee80211_classify = 0x40001fe0;*/
ieee80211_copy_eb_header = 0x40001fe4;
ieee80211_recycle_cache_eb = 0x40001fe8;
ieee80211_search_node = 0x40001fec;

View File

@ -35,7 +35,7 @@ wDev_ProcessRxSucData = 0x400017f4;
ppProcTxDone = 0x40001804;
pm_tx_data_done_process = 0x40001808;
ppMapWaitTxq = 0x40001810;
ieee80211_encap_esfbuf = 0x4000185c;
/*ieee80211_encap_esfbuf = 0x4000185c;*/
/*sta_input = 0x40001870;*/
ieee80211_crypto_decap = 0x4000189c;
ieee80211_decap = 0x400018a0;

View File

@ -1516,7 +1516,7 @@ is_lmac_idle = 0x400015e8;
/*lmacAdjustTimestamp = 0x400015ec;*/
lmacDiscardAgedMSDU = 0x400015f0;
/*lmacDiscardMSDU = 0x400015f4;*/
lmacEndFrameExchangeSequence = 0x400015f8;
/*lmacEndFrameExchangeSequence = 0x400015f8;*/
lmacIsIdle = 0x400015fc;
lmacIsLongFrame = 0x40001600;
/*lmacMSDUAged = 0x40001604;*/
@ -1717,7 +1717,7 @@ ic_ebuf_recycle_rx = 0x40001844;
ic_ebuf_recycle_tx = 0x40001848;
ic_reset_rx_ba = 0x4000184c;
ieee80211_align_eb = 0x40001850;
ieee80211_ampdu_reorder = 0x40001854;
/*ieee80211_ampdu_reorder = 0x40001854;*/
ieee80211_ampdu_start_age_timer = 0x40001858;
/*ieee80211_encap_esfbuf = 0x4000185c;*/
ieee80211_is_tx_allowed = 0x40001860;
@ -1729,7 +1729,7 @@ wifi_get_macaddr = 0x40001874;
wifi_rf_phy_disable = 0x40001878;
wifi_rf_phy_enable = 0x4000187c;
ic_ebuf_alloc = 0x40001880;
ieee80211_classify = 0x40001884;
/*ieee80211_classify = 0x40001884;*/
ieee80211_copy_eb_header = 0x40001888;
ieee80211_recycle_cache_eb = 0x4000188c;
ieee80211_search_node = 0x40001890;

View File

@ -1816,7 +1816,7 @@ is_lmac_idle = 0x400052f8;
/*lmacAdjustTimestamp = 0x40005304;*/
lmacDiscardAgedMSDU = 0x40005310;
/*lmacDiscardMSDU = 0x4000531c;*/
lmacEndFrameExchangeSequence = 0x40005328;
/*lmacEndFrameExchangeSequence = 0x40005328;*/
lmacIsIdle = 0x40005334;
lmacIsLongFrame = 0x40005340;
/*lmacMSDUAged = 0x4000534c;*/
@ -2024,7 +2024,7 @@ ic_ebuf_recycle_rx = 0x40005a24;
ic_ebuf_recycle_tx = 0x40005a30;
ic_reset_rx_ba = 0x40005a3c;
ieee80211_align_eb = 0x40005a48;
ieee80211_ampdu_reorder = 0x40005a54;
/* ieee80211_ampdu_reorder = 0x40005a54; */
ieee80211_ampdu_start_age_timer = 0x40005a60;
/* ieee80211_encap_esfbuf = 0x40005a6c; */
ieee80211_is_tx_allowed = 0x40005a78;
@ -2036,7 +2036,7 @@ wifi_get_macaddr = 0x40005ab4;
wifi_rf_phy_disable = 0x40005ac0;
wifi_rf_phy_enable = 0x40005acc;
ic_ebuf_alloc = 0x40005ad8;
ieee80211_classify = 0x40005ae4;
/*ieee80211_classify = 0x40005ae4;*/
ieee80211_copy_eb_header = 0x40005af0;
ieee80211_recycle_cache_eb = 0x40005afc;
ieee80211_search_node = 0x40005b08;

View File

@ -391,6 +391,7 @@ esp_err_t esp_wifi_restore(void);
* - ESP_OK: succeed
* - 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_MODE: WiFi mode error
* - 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
*/
@ -1457,9 +1458,10 @@ esp_err_t esp_wifi_sta_get_aid(uint16_t *aid);
esp_err_t esp_wifi_sta_get_negotiated_phymode(wifi_phy_mode_t *phymode);
/**
* @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.
*

@ -1 +1 @@
Subproject commit 80294cd2b02703f0feb408373f4e507117cfc010
Subproject commit e0ee52e2b664695bbf8d027ea11685f153618745

View File

@ -153,8 +153,8 @@ static void wifi_scan(void)
ESP_ERROR_CHECK(esp_wifi_start());
esp_wifi_scan_start(NULL, true);
ESP_LOGI(TAG, "Max AP number ap_info can hold = %u", number);
ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&number, ap_info));
ESP_ERROR_CHECK(esp_wifi_scan_get_ap_num(&ap_count));
ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&number, ap_info));
ESP_LOGI(TAG, "Total APs scanned = %u, actual AP number ap_info holds = %u", ap_count, number);
for (int i = 0; i < number; i++) {
ESP_LOGI(TAG, "SSID \t\t%s", ap_info[i].ssid);