| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- menu "Wi-Fi"
- visible if !IDF_TARGET_ESP32H2
- config ESP32_WIFI_ENABLED
- bool
- default "y" if !IDF_TARGET_ESP32H2 # TODO: replace with SOC_CAPS_SUPPORT_WIFI after IDF-2223 is done
- config ESP32_WIFI_SW_COEXIST_ENABLE
- bool "Software controls WiFi/Bluetooth coexistence"
- depends on ESP32_WIFI_ENABLED && BT_ENABLED
- default y
- help
- If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware.
- Recommended for heavy traffic scenarios. Both coexistence configuration options are
- automatically managed, no user intervention is required.
- If only Bluetooth is used, it is recommended to disable this option to reduce binary file
- size.
- config ESP32_WIFI_STATIC_RX_BUFFER_NUM
- int "Max number of WiFi static RX buffers"
- range 2 25
- default 10 if !SPIRAM_TRY_ALLOCATE_WIFI_LWIP
- default 16 if SPIRAM_TRY_ALLOCATE_WIFI_LWIP
- help
- Set the number of WiFi static RX buffers. Each buffer takes approximately 1.6KB of RAM.
- The static rx buffers are allocated when esp_wifi_init is called, they are not freed
- until esp_wifi_deinit is called.
- WiFi hardware use these buffers to receive all 802.11 frames.
- A higher number may allow higher throughput but increases memory use. If ESP32_WIFI_AMPDU_RX_ENABLED
- is enabled, this value is recommended to set equal or bigger than ESP32_WIFI_RX_BA_WIN in order to
- achieve better throughput and compatibility with both stations and APs.
- config ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM
- int "Max number of WiFi dynamic RX buffers"
- range 0 128 if !LWIP_WND_SCALE
- range 0 1024 if LWIP_WND_SCALE
- default 32
- help
- Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated
- (provided sufficient free RAM). The size of each dynamic RX buffer depends on the size of
- the received data frame.
- For each received data frame, the WiFi driver makes a copy to an RX buffer and then delivers
- it to the high layer TCP/IP stack. The dynamic RX buffer is freed after the higher layer has
- successfully received the data frame.
- For some applications, WiFi data frames may be received faster than the application can
- process them. In these cases we may run out of memory if RX buffer number is unlimited (0).
- If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers.
- choice ESP32_WIFI_TX_BUFFER
- prompt "Type of WiFi TX buffers"
- default ESP32_WIFI_DYNAMIC_TX_BUFFER
- help
- Select type of WiFi TX buffers:
- If "Static" is selected, WiFi TX buffers are allocated when WiFi is initialized and released
- when WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB.
- If "Dynamic" is selected, each WiFi TX buffer is allocated as needed when a data frame is
- delivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame
- has been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length
- of each data frame sent by the TCP/IP layer.
- If PSRAM is enabled, "Static" should be selected to guarantee enough WiFi TX buffers.
- If PSRAM is disabled, "Dynamic" should be selected to improve the utilization of RAM.
- config ESP32_WIFI_STATIC_TX_BUFFER
- bool "Static"
- config ESP32_WIFI_DYNAMIC_TX_BUFFER
- bool "Dynamic"
- depends on !SPIRAM_USE_MALLOC
- endchoice
- config ESP32_WIFI_TX_BUFFER_TYPE
- int
- default 0 if ESP32_WIFI_STATIC_TX_BUFFER
- default 1 if ESP32_WIFI_DYNAMIC_TX_BUFFER
- config ESP32_WIFI_STATIC_TX_BUFFER_NUM
- int "Max number of WiFi static TX buffers"
- depends on ESP32_WIFI_STATIC_TX_BUFFER
- range 1 64
- default 16
- help
- Set the number of WiFi static TX buffers. Each buffer takes approximately 1.6KB of RAM.
- The static RX buffers are allocated when esp_wifi_init() is called, they are not released
- until esp_wifi_deinit() is called.
- For each transmitted data frame from the higher layer TCP/IP stack, the WiFi driver makes a
- copy of it in a TX buffer. For some applications especially UDP applications, the upper
- layer can deliver frames faster than WiFi layer can transmit. In these cases, we may run out
- of TX buffers.
- config ESP32_WIFI_CACHE_TX_BUFFER_NUM
- int "Max number of WiFi cache TX buffers"
- depends on (ESP32_SPIRAM_SUPPORT || ESP32S2_SPIRAM_SUPPORT || ESP32S3_SPIRAM_SUPPORT)
- range 16 128
- default 32
- help
- Set the number of WiFi cache TX buffer number.
- For each TX packet from uplayer, such as LWIP etc, WiFi driver needs to allocate a static TX
- buffer and makes a copy of uplayer packet. If WiFi driver fails to allocate the static TX buffer,
- it caches the uplayer packets to a dedicated buffer queue, this option is used to configure the
- size of the cached TX queue.
- config ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM
- int "Max number of WiFi dynamic TX buffers"
- depends on ESP32_WIFI_DYNAMIC_TX_BUFFER
- range 1 128
- default 32
- help
- Set the number of WiFi dynamic TX buffers. The size of each dynamic TX buffer is not fixed,
- it depends on the size of each transmitted data frame.
- For each transmitted frame from the higher layer TCP/IP stack, the WiFi driver makes a copy
- of it in a TX buffer. For some applications, especially UDP applications, the upper layer
- can deliver frames faster than WiFi layer can transmit. In these cases, we may run out of TX
- buffers.
- config ESP32_WIFI_CSI_ENABLED
- bool "WiFi CSI(Channel State Information)"
- default n
- help
- Select this option to enable CSI(Channel State Information) feature. CSI takes about
- CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM KB of RAM. If CSI is not used, it is better to disable
- this feature in order to save memory.
- config ESP32_WIFI_AMPDU_TX_ENABLED
- bool "WiFi AMPDU TX"
- default y
- help
- Select this option to enable AMPDU TX feature
- config ESP32_WIFI_TX_BA_WIN
- int "WiFi AMPDU TX BA window size"
- depends on ESP32_WIFI_AMPDU_TX_ENABLED
- range 2 32
- default 6
- help
- Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but
- more memory. Most of time we should NOT change the default value unless special reason, e.g.
- test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended
- value is 9~12.
- config ESP32_WIFI_AMPDU_RX_ENABLED
- bool "WiFi AMPDU RX"
- default y
- help
- Select this option to enable AMPDU RX feature
- config ESP32_WIFI_RX_BA_WIN
- int "WiFi AMPDU RX BA window size"
- depends on ESP32_WIFI_AMPDU_RX_ENABLED
- range 2 32
- default 6 if !SPIRAM_TRY_ALLOCATE_WIFI_LWIP
- default 16 if SPIRAM_TRY_ALLOCATE_WIFI_LWIP
- help
- Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput and better
- compatibility but more memory. Most of time we should NOT change the default value unless special
- reason, e.g. test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the
- recommended value is 9~12. If PSRAM is used and WiFi memory is prefered to allocat in PSRAM first,
- the default and minimum value should be 16 to achieve better throughput and compatibility with both
- stations and APs.
- config ESP32_WIFI_AMSDU_TX_ENABLED
- bool "WiFi AMSDU TX"
- depends on (ESP32_SPIRAM_SUPPORT || ESP32S2_SPIRAM_SUPPORT || ESP32S3_SPIRAM_SUPPORT)
- default n
- help
- Select this option to enable AMSDU TX feature
- config ESP32_WIFI_NVS_ENABLED
- bool "WiFi NVS flash"
- default y
- help
- Select this option to enable WiFi NVS flash
- choice ESP32_WIFI_TASK_CORE_ID
- depends on !FREERTOS_UNICORE
- prompt "WiFi Task Core ID"
- default ESP32_WIFI_TASK_PINNED_TO_CORE_0
- help
- Pinned WiFi task to core 0 or core 1.
- config ESP32_WIFI_TASK_PINNED_TO_CORE_0
- bool "Core 0"
- config ESP32_WIFI_TASK_PINNED_TO_CORE_1
- bool "Core 1"
- endchoice
- config ESP32_WIFI_SOFTAP_BEACON_MAX_LEN
- int "Max length of WiFi SoftAP Beacon"
- range 752 1256
- default 752
- help
- ESP-MESH utilizes beacon frames to detect and resolve root node conflicts (see documentation). However the
- default length of a beacon frame can simultaneously hold only five root node identifier structures,
- meaning that a root node conflict of up to five nodes can be detected at one time. In the occurence of
- more root nodes conflict involving more than five root nodes, the conflict resolution process will detect
- five of the root nodes, resolve the conflict, and re-detect more root nodes. This process will repeat
- until all root node conflicts are resolved. However this process can generally take a very long time.
- To counter this situation, the beacon frame length can be increased such that more root nodes can be
- detected simultaneously. Each additional root node will require 36 bytes and should be added ontop of the
- default beacon frame length of
- 752 bytes. For example, if you want to detect 10 root nodes simultaneously, you need to set the beacon
- frame length as
- 932 (752+36*5).
- Setting a longer beacon length also assists with debugging as the conflicting root nodes can be identified
- more quickly.
- config ESP32_WIFI_MGMT_SBUF_NUM
- int "WiFi mgmt short buffer number"
- range 6 32
- default 32
- help
- Set the number of WiFi management short buffer.
- config ESP32_WIFI_IRAM_OPT
- bool "WiFi IRAM speed optimization"
- default n if (BT_ENABLED && ESP32_SPIRAM_SUPPORT)
- default y
- help
- Select this option to place frequently called Wi-Fi library functions in IRAM.
- When this option is disabled, more than 10Kbytes of IRAM memory will be saved
- but Wi-Fi throughput will be reduced.
- config ESP32_WIFI_RX_IRAM_OPT
- bool "WiFi RX IRAM speed optimization"
- default n if (BT_ENABLED && ESP32_SPIRAM_SUPPORT)
- default y
- help
- Select this option to place frequently called Wi-Fi library RX functions in IRAM.
- When this option is disabled, more than 17Kbytes of IRAM memory will be saved
- but Wi-Fi performance will be reduced.
- config ESP32_WIFI_ENABLE_WPA3_SAE
- bool "Enable WPA3-Personal"
- default y
- depends on WPA_MBEDTLS_CRYPTO
- help
- Select this option to allow the device to establish a WPA3-Personal connection with eligible AP's.
- PMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be
- explicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide for details.
- config ESP_WIFI_SLP_IRAM_OPT
- bool "WiFi SLP IRAM speed optimization"
- select PM_SLP_DEFAULT_PARAMS_OPT
- help
- Select this option to place called Wi-Fi library TBTT process and receive beacon functions in IRAM.
- Some functions can be put in IRAM either by ESP32_WIFI_IRAM_OPT and ESP32_WIFI_RX_IRAM_OPT, or this one.
- If already enabled ESP32_WIFI_IRAM_OPT, the other 7.3KB IRAM memory would be taken by this option.
- If already enabled ESP32_WIFI_RX_IRAM_OPT, the other 1.3KB IRAM memory would be taken by this option.
- If neither of them are enabled, the other 7.4KB IRAM memory would be taken by this option.
- Wi-Fi power-save mode average current would be reduced if this option is enabled.
- config ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME
- int "Minimum active time"
- range 8 60
- default 50
- depends on ESP_WIFI_SLP_IRAM_OPT
- help
- The minimum timeout for waiting to receive data, unit: milliseconds.
- config ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME
- int "Maximum keep alive time"
- range 10 60
- default 10
- depends on ESP_WIFI_SLP_IRAM_OPT
- help
- The maximum time that wifi keep alive, unit: seconds.
- config ESP_WIFI_FTM_ENABLE
- bool "WiFi FTM"
- default n
- depends on (IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
- help
- Enable feature Fine Timing Measurement for calculating WiFi Round-Trip-Time (RTT).
- config ESP_WIFI_FTM_INITIATOR_SUPPORT
- bool "FTM Initiator support"
- default y
- depends on ESP_WIFI_FTM_ENABLE
- config ESP_WIFI_FTM_RESPONDER_SUPPORT
- bool "FTM Responder support"
- default y
- depends on ESP_WIFI_FTM_ENABLE
- config ESP_WIFI_STA_DISCONNECTED_PM_ENABLE
- bool "Power Management for station at disconnected"
- help
- Select this option to enable power_management for station when disconnected.
- Chip will do modem-sleep when rf module is not in use any more.
- config ESP_WIFI_EXTERNAL_COEXIST_ENABLE
- bool "WiFi External Coexistence"
- default n
- depends on (!BT_ENABLED && (IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3))
- help
- If enabled, HW External coexistence arbitration is managed by GPIO pins.
- It can support three types of wired combinations so far which are 1-wired/2-wired/3-wired.
- User can select GPIO pins in application code with configure interfaces.
- This function depends on BT-off
- because currently we don't support external coex and internal coex simultaneously.
- config ESP_WIFI_GCMP_SUPPORT
- bool "WiFi GCMP Support(GCMP128 and GCMP256)"
- default n
- depends on (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3)
- help
- Select this option to enable GCMP support. GCMP support is compulsory for WiFi Suite-B support.
- config ESP_WIFI_GMAC_SUPPORT
- bool "WiFi GMAC Support(GMAC128 and GMAC256)"
- default n
- help
- Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192 bit certification.
- endmenu # Wi-Fi
|