Skip to content

Commit

Permalink
Merge branch 'bugfix/fix_issues_in_wifi_and_lwip_v5.0' into 'release/…
Browse files Browse the repository at this point in the history
…v5.0'

fix(wifi): fixed issues in wifi and lwip (v5.0)

See merge request espressif/esp-idf!29201
  • Loading branch information
jack0c committed Feb 28, 2024
2 parents d80aa9f + f12a539 commit a1dad7e
Show file tree
Hide file tree
Showing 10 changed files with 75 additions and 7 deletions.
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 @@ -36,7 +36,7 @@ ppProcTxDone = 0x40001804;
pm_tx_data_done_process = 0x40001808;
ppMapWaitTxq = 0x40001810;
ieee80211_encap_esfbuf = 0x4000185c;
sta_input = 0x40001870;
/*sta_input = 0x40001870;*/
ieee80211_crypto_decap = 0x4000189c;
ieee80211_decap = 0x400018a0;
coex_core_timer_idx_get = 0x400018d0;
Expand Down
27 changes: 27 additions & 0 deletions components/lwip/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1001,6 +1001,33 @@ menu "LWIP"
help
Set maximum number of ports a bridge can consists of.

menu "DNS"

config LWIP_DNS_MAX_SERVERS
int "Maximum number of DNS servers"
default 3
range 1 4
help
Set maximum number of DNS servers.
If fallback DNS servers are supported,
the number of DNS servers needs to be greater than or equal to 3.

config LWIP_FALLBACK_DNS_SERVER_SUPPORT
bool "Enable DNS fallback server support"
default n
depends on LWIP_DNS_MAX_SERVERS >= 3
help
Enable this feature to support DNS fallback server.

config LWIP_FALLBACK_DNS_SERVER_ADDRESS
string "DNS fallback server address"
default "114.114.114.114"
depends on LWIP_FALLBACK_DNS_SERVER_SUPPORT
help
This option allows you to config dns fallback server address.

endmenu # DNS

config LWIP_ESP_LWIP_ASSERT
bool "Enable LWIP ASSERT checks"
default y
Expand Down
2 changes: 1 addition & 1 deletion components/lwip/lwip
13 changes: 11 additions & 2 deletions components/lwip/port/esp32/include/lwipopts.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
* SPDX-FileContributor: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2015-2024 Espressif Systems (Shanghai) CO LTD
*/
#ifndef LWIP_HDR_ESP_LWIPOPTS_H
#define LWIP_HDR_ESP_LWIPOPTS_H
Expand Down Expand Up @@ -457,7 +457,7 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)

/** The maximum of DNS servers
*/
#define DNS_MAX_SERVERS 3
#define DNS_MAX_SERVERS CONFIG_LWIP_DNS_MAX_SERVERS

/** ESP specific option only applicable if ESP_DNS=1
*
Expand All @@ -476,6 +476,14 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)
#define LWIP_DNS_SUPPORT_MDNS_QUERIES 0
#endif

#ifdef CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT
#define FALLBACK_DNS_SERVER_ADDRESS(address) \
do { ip_addr_t *server_dns = address; \
char server_ip[] = CONFIG_LWIP_FALLBACK_DNS_SERVER_ADDRESS; \
ipaddr_aton(server_ip, server_dns); \
} while (0)
#endif /* CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT */

/*
---------------------------------
---------- UDP options ----------
Expand Down Expand Up @@ -1543,6 +1551,7 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)
#define ESP_LWIP_LOCK 1
#define ESP_THREAD_PROTECTION 1
#define LWIP_SUPPORT_CUSTOM_PBUF 1
#define ESP_LWIP_FALLBACK_DNS_PREFER_IPV4 0

/*
-----------------------------------------
Expand Down
25 changes: 25 additions & 0 deletions components/lwip/test_apps/sdkconfig.ci.lwip_debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Included for build test with LWIP debug enabled.

CONFIG_LWIP_IP_FORWARD=y
CONFIG_LWIP_IPV4_NAPT=y
CONFIG_LWIP_DEBUG=y
CONFIG_LWIP_DEBUG_ESP_LOG=y
CONFIG_LWIP_NETIF_DEBUG=y
CONFIG_LWIP_PBUF_DEBUG=y
CONFIG_LWIP_ETHARP_DEBUG=y
CONFIG_LWIP_API_LIB_DEBUG=y
CONFIG_LWIP_SOCKETS_DEBUG=y
CONFIG_LWIP_IP_DEBUG=y
CONFIG_LWIP_ICMP_DEBUG=y
CONFIG_LWIP_DHCP_STATE_DEBUG=y
CONFIG_LWIP_DHCP_DEBUG=y
CONFIG_LWIP_IP6_DEBUG=y
CONFIG_LWIP_ICMP6_DEBUG=y
CONFIG_LWIP_TCP_DEBUG=y
CONFIG_LWIP_UDP_DEBUG=y
CONFIG_LWIP_SNTP_DEBUG=y
CONFIG_LWIP_DNS_DEBUG=y
CONFIG_LWIP_NAPT_DEBUG=y
CONFIG_LWIP_BRIDGEIF_DEBUG=y
CONFIG_LWIP_BRIDGEIF_FDB_DEBUG=y
CONFIG_LWIP_BRIDGEIF_FW_DEBUG=y
2 changes: 0 additions & 2 deletions examples/wifi/iperf/sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,4 @@ CONFIG_LWIP_IRAM_OPTIMIZATION=y

CONFIG_LWIP_TCPIP_TASK_PRIO=23

CONFIG_LWIP_TCPIP_CORE_LOCKING=y
CONFIG_LWIP_TCPIP_CORE_LOCKING_INPUT=y
CONFIG_COMPILER_OPTIMIZATION_PERF=y
3 changes: 3 additions & 0 deletions examples/wifi/iperf/sdkconfig.defaults.esp32c2
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=120

CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_60M=y

CONFIG_LWIP_TCPIP_CORE_LOCKING=y
CONFIG_LWIP_TCPIP_CORE_LOCKING_INPUT=y
3 changes: 3 additions & 0 deletions examples/wifi/iperf/sdkconfig.defaults.esp32c3
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,6 @@ CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160

CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y

CONFIG_LWIP_TCPIP_CORE_LOCKING=y
CONFIG_LWIP_TCPIP_CORE_LOCKING_INPUT=y
3 changes: 3 additions & 0 deletions examples/wifi/iperf/sdkconfig.defaults.esp32s2
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESP32S2_INSTRUCTION_CACHE_16KB=y
CONFIG_ESP32S2_INSTRUCTION_CACHE_LINE_16B=y
CONFIG_ESP32S2_INSTRUCTION_CACHE_WRAP=y

CONFIG_LWIP_TCPIP_CORE_LOCKING=y
CONFIG_LWIP_TCPIP_CORE_LOCKING_INPUT=y

0 comments on commit a1dad7e

Please sign in to comment.