From 8626e5f400c1210c935c1c85570a64e0b69b3109 Mon Sep 17 00:00:00 2001 From: "wangtao@espressif.com" Date: Fri, 27 Sep 2024 18:39:57 +0800 Subject: [PATCH 1/3] fix(wifi): fix ampdu to normal cause free buffer twice issue --- components/esp_rom/esp32c2/ld/esp32c2.rom.ld | 2 +- components/esp_rom/esp32c3/ld/esp32c3.rom.ld | 2 +- components/esp_rom/esp32s3/ld/esp32s3.rom.ld | 2 +- components/esp_wifi/lib | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld index d690efa1e9..de44c92c3c 100644 --- a/components/esp_rom/esp32c2/ld/esp32c2.rom.ld +++ b/components/esp_rom/esp32c2/ld/esp32c2.rom.ld @@ -633,7 +633,7 @@ ppGetTxframe = 0x40001bf8; ppMapTxQueue = 0x40001bfc; ppProcTxSecFrame = 0x40001c00; ppProcessRxPktHdr = 0x40001c04; -ppProcessTxQ = 0x40001c08; +/*ppProcessTxQ = 0x40001c08;*/ ppRecordBarRRC = 0x40001c0c; lmacRequestTxopQueue = 0x40001c10; lmacReleaseTxopQueue = 0x40001c14; diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.ld index 4b09789883..be86aa0a4c 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.ld @@ -745,7 +745,7 @@ ppEnqueueTxDone = 0x400016cc; ppGetTxQFirstAvail_Locked = 0x400016d0; ppGetTxframe = 0x400016d4; ppProcessRxPktHdr = 0x400016e0; -ppProcessTxQ = 0x400016e4; +/*ppProcessTxQ = 0x400016e4;*/ ppRecordBarRRC = 0x400016e8; lmacRequestTxopQueue = 0x400016ec; lmacReleaseTxopQueue = 0x400016f0; diff --git a/components/esp_rom/esp32s3/ld/esp32s3.rom.ld b/components/esp_rom/esp32s3/ld/esp32s3.rom.ld index cf1af10123..1bcd4b244e 100644 --- a/components/esp_rom/esp32s3/ld/esp32s3.rom.ld +++ b/components/esp_rom/esp32s3/ld/esp32s3.rom.ld @@ -1023,7 +1023,7 @@ ppGetTxQFirstAvail_Locked = 0x400055b0; ppGetTxframe = 0x400055bc; /*ppMapTxQueue = 0x400055c8;*/ ppProcessRxPktHdr = 0x400055e0; -ppProcessTxQ = 0x400055ec; +/*ppProcessTxQ = 0x400055ec;*/ ppRecordBarRRC = 0x400055f8; lmacRequestTxopQueue = 0x40005604; lmacReleaseTxopQueue = 0x40005610; diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index 172c1c5072..c3542aed20 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit 172c1c50720b5cf9abe5678c72639570fd09f3cc +Subproject commit c3542aed20c060e52be9f7663f6acf8880b149a3 From 2719ebce3fa6bc39695de3c5edbf3fa864888772 Mon Sep 17 00:00:00 2001 From: sibeibei Date: Mon, 14 Oct 2024 16:55:41 +0800 Subject: [PATCH 2/3] fix(wifi): fix some wifi issues 241031 1. fix cant sleep if reconnect to connected ap 2. clear pmk in internal reconnection 3. update connect status for init-->auth --- components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h | 1 + components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c | 1 + 2 files changed, 2 insertions(+) diff --git a/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h b/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h index 76290cbd01..8e3d9b5c78 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h +++ b/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h @@ -141,6 +141,7 @@ struct wpa_funcs { void (*wpa_config_done)(void); uint8_t *(*owe_build_dhie)(uint16_t group); int (*owe_process_assoc_resp)(const u8 *rsn_ie, size_t rsn_len, const uint8_t *dh_ie, size_t dh_len); + void (*wpa_sta_clear_curr_pmksa)(void); }; struct wpa2_funcs { diff --git a/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c b/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c index ddbbe0a9f4..ae59766941 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c +++ b/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c @@ -441,6 +441,7 @@ int esp_supplicant_init(void) wpa_cb->wpa_config_bss = NULL;//wpa_config_bss; wpa_cb->wpa_michael_mic_failure = wpa_michael_mic_failure; wpa_cb->wpa_config_done = wpa_config_done; + wpa_cb->wpa_sta_clear_curr_pmksa = wpa_sta_clear_curr_pmksa; esp_wifi_register_wpa3_ap_cb(wpa_cb); esp_wifi_register_wpa3_cb(wpa_cb); From e89948ddbed6aa0c06d924b29a153599a77e5a01 Mon Sep 17 00:00:00 2001 From: Chen Yudong Date: Sat, 14 Sep 2024 11:26:54 +0800 Subject: [PATCH 3/3] ci: increase test_wifi_power_save got ip timeout --- examples/wifi/power_save/pytest_wifi_power_save.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/wifi/power_save/pytest_wifi_power_save.py b/examples/wifi/power_save/pytest_wifi_power_save.py index 265e764399..d409ba325b 100644 --- a/examples/wifi/power_save/pytest_wifi_power_save.py +++ b/examples/wifi/power_save/pytest_wifi_power_save.py @@ -9,7 +9,7 @@ from common_test_methods import get_env_config_variable from pytest_embedded import Dut bad_event_str = [ - 'bcn_timout', + 'bcn_timeout', 'm f probe req l', 'abort() was called', 'Guru Meditation Error', @@ -31,7 +31,7 @@ def _run_test(dut: Dut) -> None: pass try: - dut.expect(r'got ip: (\d+\.\d+\.\d+\.\d+)[^\d]', timeout=20) + dut.expect(r'got ip: (\d+\.\d+\.\d+\.\d+)[^\d]', timeout=30) log_after_got_ip = dut.expect(pexpect.TIMEOUT, timeout=10).decode() if any(s in log_after_got_ip for s in bad_event_str): logging.info('Abnormal connection log:')