diff --git a/components/esp_rom/esp32c2/ld/esp32c2.rom.eco4.ld b/components/esp_rom/esp32c2/ld/esp32c2.rom.eco4.ld index eb4944d44f..74af3e7dca 100644 --- a/components/esp_rom/esp32c2/ld/esp32c2.rom.eco4.ld +++ b/components/esp_rom/esp32c2/ld/esp32c2.rom.eco4.ld @@ -1129,16 +1129,16 @@ lmacAdjustTimestamp = 0x40001b10; lmacDiscardMSDU = 0x40001b18; lmacEndFrameExchangeSequence = 0x40001b1c; lmacMSDUAged = 0x40001b28; -lmacSetTxFrame = 0x40001b4c; +//lmacSetTxFrame = 0x40001b4c; pm_check_state = 0x40001b6c; pm_dream = 0x40001b78; pm_on_beacon_rx = 0x40001ba0; -pm_parse_beacon = 0x40001bac; +//pm_parse_beacon = 0x40001bac; pm_process_tim = 0x40001bb0; pm_rx_beacon_process = 0x40001bb4; pm_rx_data_process = 0x40001bb8; pm_sleep = 0x40001bbc; -pm_tbtt_process = 0x40001bc4; +//pm_tbtt_process = 0x40001bc4; ppAssembleAMPDU = 0x40001bcc; ppCalTxAMPDULength = 0x40001bd8; ppRxFragmentProc = 0x40001c28; @@ -1148,7 +1148,7 @@ rcGetSched = 0x40001c88; rcTxUpdatePer = 0x40001c94; rcUpdateRate = 0x40001c9c; wDev_AppendRxBlocks = 0x40001cdc; -wDev_IndicateFrame = 0x40001cec; +//wDev_IndicateFrame = 0x40001cec; wDev_ProcessFiq = 0x40001d08; wDev_ProcessRxSucData = 0x40001d0c; ppProcTxDone = 0x40001d1c; @@ -1170,10 +1170,10 @@ hal_crypto_set_key_entry = 0x40001e18; pm_start = 0x40001e34; pm_stop = 0x40001e38; hal_set_sta_tbtt = 0x40001e4c; -pm_update_next_tbtt = 0x40001e50; +//pm_update_next_tbtt = 0x40001e50; pm_set_sleep_type = 0x40001e54; pm_tx_null_data_done_process = 0x40001eb0; -pm_tx_data_process = 0x40001eb4; +//pm_tx_data_process = 0x40001eb4; pm_attach = 0x40001eb8; pm_coex_schm_process = 0x40001ebc; pm_on_probe_resp_rx = 0x40001ecc; @@ -1196,31 +1196,31 @@ ieee80211_classify = 0x40001fe0; ieee80211_crypto_decap = 0x40001ff8; ieee80211_ccmp_decrypt = 0x4000200c; ieee80211_ccmp_encrypt = 0x40002010; -ieee80211_send_action_vendor_spec = 0x40002034; +//ieee80211_send_action_vendor_spec = 0x40002034; ieee80211_send_mgmt = 0x40002038; -ieee80211_auth_construct = 0x4000203c; +//ieee80211_auth_construct = 0x4000203c; ieee80211_deauth_construct = 0x40002040; ieee80211_disassoc_construct = 0x40002044; ieee80211_add_xrates = 0x40002058; -ieee80211_assoc_req_construct = 0x40002060; +//ieee80211_assoc_req_construct = 0x40002060; ieee80211_assoc_resp_construct = 0x40002064; ieee80211_timer_process = 0x4000208c; cnx_coexist_timeout = 0x40002090; -sta_recv_mgmt = 0x40002094; +//sta_recv_mgmt = 0x40002094; ieee80211_send_probereq = 0x4000209c; -sta_auth_open = 0x400020a0; -sta_auth_sae = 0x400020a8; +//sta_auth_open = 0x400020a0; +//sta_auth_sae = 0x400020a8; cnx_coexist_timeout_process = 0x400020ac; ieee80211_add_extcap = 0x400020cc; -ieee80211_alloc_proberesp = 0x400020d8; +//ieee80211_alloc_proberesp = 0x400020d8; esp_wifi_80211_tx = 0x400020f8; ieee80211_crypto_aes_128_cmac_decrypt = 0x40002104; ieee80211_output_do = 0x4000210c; ieee80211_send_nulldata = 0x40002110; -ieee80211_setup_robust_mgmtframe = 0x40002114; -ieee80211_mgmt_output = 0x40002118; +//ieee80211_setup_robust_mgmtframe = 0x40002114; +//ieee80211_mgmt_output = 0x40002118; ieee80211_send_deauth = 0x40002120; -ieee80211_tx_mgt_cb = 0x4000212c; +//ieee80211_tx_mgt_cb = 0x4000212c; sta_rx_csa = 0x40002134; sta_send_sa_query_req = 0x40002138; sta_send_sa_query_resp = 0x4000213c; @@ -1228,7 +1228,7 @@ sta_recv_sa_query_req = 0x40002140; sta_recv_sa_query_resp = 0x40002144; ieee80211_parse_beacon = 0x40002148; ieee80211_match_security = 0x40002154; -ieee80211_parse_rsn = 0x4000215c; +//ieee80211_parse_rsn = 0x4000215c; /* Data (.data, .bss, .rodata) */ s_sa_query_retries = 0x3fcdfad8; s_sa_query_success = 0x3fcdfad5; diff --git a/components/esp_wifi/include/esp_wifi_types_generic.h b/components/esp_wifi/include/esp_wifi_types_generic.h index 37e6b203cb..15a9585d96 100644 --- a/components/esp_wifi/include/esp_wifi_types_generic.h +++ b/components/esp_wifi/include/esp_wifi_types_generic.h @@ -805,6 +805,7 @@ typedef enum { WIFI_EVENT_STA_BEACON_TIMEOUT, /**< Station beacon timeout */ WIFI_EVENT_CONNECTIONLESS_MODULE_WAKE_INTERVAL_START, /**< Connectionless module wake interval start */ + /* Add next events after this only */ WIFI_EVENT_AP_WPS_RG_SUCCESS, /**< Soft-AP wps succeeds in registrar mode */ WIFI_EVENT_AP_WPS_RG_FAILED, /**< Soft-AP wps fails in registrar mode */ diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index f9124df59a..2e3a97ddfe 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit f9124df59a7bec35dc502bfd6d9741b890fc24a2 +Subproject commit 2e3a97ddfe0079f0fd37c2b18a555aa0ddeee5dd diff --git a/components/esp_wifi/src/wifi_init.c b/components/esp_wifi/src/wifi_init.c index 29543b5036..1b98a48a7a 100644 --- a/components/esp_wifi/src/wifi_init.c +++ b/components/esp_wifi/src/wifi_init.c @@ -588,3 +588,19 @@ void nan_sm_handle_event(void *p1, int p2) } #endif + +#if CONFIG_IDF_TARGET_ESP32C2 +#if CONFIG_ESP32C2_REV_MIN_FULL < 200 +void esp32c2_eco4_rom_ptr_init(void) +{ + /* Do not remove, stub to overwrite weak link in Wi-Fi Lib */ +} +#endif +#endif + +#ifndef CONFIG_ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE +void pm_beacon_offset_funcs_init(void) +{ + /* Do not remove, stub to overwrite weak link in Wi-Fi Lib */ +} +#endif 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 248c18a62c..d5ca7fd716 100644 --- a/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h +++ b/components/wpa_supplicant/esp_supplicant/src/esp_wifi_driver.h @@ -57,6 +57,7 @@ typedef enum { } wifi_appie_ram_t; enum { + /* this enum is in C2 ROM, do not change before WPA3_AUTH_PSK_EXT_KEY */ NONE_AUTH = 0x01, WPA_AUTH_UNSPEC = 0x02, WPA_AUTH_PSK = 0x03, @@ -73,6 +74,7 @@ enum { WPA2_AUTH_FT_PSK = 0x0e, WPA3_AUTH_OWE = 0x0f, WPA3_AUTH_PSK_EXT_KEY = 0x10, + /* this enum is in C2 ROM, do not change before WPA3_AUTH_PSK_EXT_KEY */ WPA3_AUTH_DPP = 0x11, WPA2_AUTH_INVALID };