Skip to content

Commit

Permalink
Merge branch 'bugfix/fix_some_wifi_bugs_240311_v5.1' into 'release/v5.1'
Browse files Browse the repository at this point in the history
fix(wifi): fix some wifi issues(Backport v5.1)

See merge request espressif/esp-idf!29565
  • Loading branch information
jack0c committed Mar 12, 2024
2 parents 7b04776 + ec16fa7 commit 3991a98
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 14 deletions.
14 changes: 7 additions & 7 deletions components/esp_rom/esp32c2/ld/esp32c2.rom.ld
Original file line number Diff line number Diff line change
@@ -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
*/
Expand Down Expand Up @@ -1632,9 +1632,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;
Expand Down Expand Up @@ -1666,7 +1666,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;
Expand Down Expand Up @@ -1847,7 +1847,7 @@ ic_reset_rx_ba = 0x40001fa8;
ieee80211_align_eb = 0x40001fac;
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; */
Expand All @@ -1857,7 +1857,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;
Expand Down
2 changes: 1 addition & 1 deletion components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion components/esp_rom/esp32c3/ld/esp32c3.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions components/esp_rom/esp32c6/ld/esp32c6.rom.net80211.ld
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ ic_reset_rx_ba = 0x40000b78;
ieee80211_align_eb = 0x40000b7c;
ieee80211_ampdu_reorder = 0x40000b80;
ieee80211_ampdu_start_age_timer = 0x40000b84;
ieee80211_encap_esfbuf = 0x40000b88;
/*ieee80211_encap_esfbuf = 0x40000b88;*/
ieee80211_is_tx_allowed = 0x40000b8c;
ieee80211_output_pending_eb = 0x40000b90;
/*ieee80211_output_process = 0x40000b94;*/
Expand All @@ -43,7 +43,7 @@ wifi_get_macaddr = 0x40000ba0;
wifi_rf_phy_disable = 0x40000ba4;
wifi_rf_phy_enable = 0x40000ba8;
ic_ebuf_alloc = 0x40000bac;
ieee80211_classify = 0x40000bb0;
/*ieee80211_classify = 0x40000bb0;*/
ieee80211_copy_eb_header = 0x40000bb4;
ieee80211_recycle_cache_eb = 0x40000bb8;
ieee80211_search_node = 0x40000bbc;
Expand Down
2 changes: 1 addition & 1 deletion components/esp_rom/esp32s3/ld/esp32s3.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -2037,7 +2037,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;
Expand Down
1 change: 1 addition & 0 deletions examples/protocols/esp_local_ctrl/sdkconfig.defaults
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
CONFIG_ESP_HTTPS_SERVER_ENABLE=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
7 changes: 7 additions & 0 deletions examples/wifi/smart_config/main/Kconfig.projbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
menu "Example Configuration"

config SET_MAC_ADDRESS_OF_TARGET_AP
bool "whether set MAC address of target AP or not"
default y

endmenu
7 changes: 6 additions & 1 deletion examples/wifi/smart_config/main/smartconfig_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_wifi.h"
#include "esp_wpa2.h"
#include "esp_eap_client.h"
#include "esp_event.h"
#include "esp_log.h"
#include "esp_system.h"
#include "nvs_flash.h"
#include "esp_netif.h"
#include "esp_smartconfig.h"
#include "esp_mac.h"

/* FreeRTOS event group to signal when we are connected & ready to make a request */
static EventGroupHandle_t s_wifi_event_group;
Expand Down Expand Up @@ -59,10 +60,14 @@ static void event_handler(void* arg, esp_event_base_t event_base,
bzero(&wifi_config, sizeof(wifi_config_t));
memcpy(wifi_config.sta.ssid, evt->ssid, sizeof(wifi_config.sta.ssid));
memcpy(wifi_config.sta.password, evt->password, sizeof(wifi_config.sta.password));

#ifdef CONFIG_SET_MAC_ADDRESS_OF_TARGET_AP
wifi_config.sta.bssid_set = evt->bssid_set;
if (wifi_config.sta.bssid_set == true) {
ESP_LOGI(TAG, "Set MAC address of target AP: "MACSTR" ", MAC2STR(evt->bssid));
memcpy(wifi_config.sta.bssid, evt->bssid, sizeof(wifi_config.sta.bssid));
}
#endif

memcpy(ssid, evt->ssid, sizeof(evt->ssid));
memcpy(password, evt->password, sizeof(evt->password));
Expand Down

0 comments on commit 3991a98

Please sign in to comment.