1
2menu "Wi-Fi"
3    visible if (SOC_WIFI_SUPPORTED)
4    config ESP_WIFI_ENABLED
5        bool
6        default y if SOC_WIFI_SUPPORTED
7
8    config ESP_WIFI_STATIC_RX_BUFFER_NUM
9        int "Max number of WiFi static RX buffers"
10        range 2 25 if !SOC_WIFI_HE_SUPPORT
11        range 2 128 if SOC_WIFI_HE_SUPPORT
12        default 10 if !(SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
13        default 16 if (SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
14        help
15            Set the number of WiFi static RX buffers. Each buffer takes approximately 1.6KB of RAM.
16            The static rx buffers are allocated when esp_wifi_init is called, they are not freed
17            until esp_wifi_deinit is called.
18
19            WiFi hardware use these buffers to receive all 802.11 frames.
20            A higher number may allow higher throughput but increases memory use. If ESP_WIFI_AMPDU_RX_ENABLED
21            is enabled, this value is recommended to set equal or bigger than ESP_WIFI_RX_BA_WIN in order to
22            achieve better throughput and compatibility with both stations and APs.
23
24    config ESP_WIFI_DYNAMIC_RX_BUFFER_NUM
25        int "Max number of WiFi dynamic RX buffers"
26        range 0 128 if !LWIP_WND_SCALE
27        range 0 1024 if LWIP_WND_SCALE
28        default 32
29        help
30            Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated
31            (provided sufficient free RAM). The size of each dynamic RX buffer depends on the size of
32            the received data frame.
33
34            For each received data frame, the WiFi driver makes a copy to an RX buffer and then delivers
35            it to the high layer TCP/IP stack. The dynamic RX buffer is freed after the higher layer has
36            successfully received the data frame.
37
38            For some applications, WiFi data frames may be received faster than the application can
39            process them. In these cases we may run out of memory if RX buffer number is unlimited (0).
40
41            If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers.
42
43    choice ESP_WIFI_TX_BUFFER
44        prompt "Type of WiFi TX buffers"
45        default ESP_WIFI_DYNAMIC_TX_BUFFER
46        help
47            Select type of WiFi TX buffers:
48
49            If "Static" is selected, WiFi TX buffers are allocated when WiFi is initialized and released
50            when WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB.
51
52            If "Dynamic" is selected, each WiFi TX buffer is allocated as needed when a data frame is
53            delivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame
54            has been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length
55            of each data frame sent by the TCP/IP layer.
56
57            If PSRAM is enabled, "Static" should be selected to guarantee enough WiFi TX buffers.
58            If PSRAM is disabled, "Dynamic" should be selected to improve the utilization of RAM.
59
60        config ESP_WIFI_STATIC_TX_BUFFER
61            bool "Static"
62        config ESP_WIFI_DYNAMIC_TX_BUFFER
63            bool "Dynamic"
64            depends on !(SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
65    endchoice
66
67    config ESP_WIFI_TX_BUFFER_TYPE
68        int
69        default 0 if ESP_WIFI_STATIC_TX_BUFFER
70        default 1 if ESP_WIFI_DYNAMIC_TX_BUFFER
71
72    config ESP_WIFI_STATIC_TX_BUFFER_NUM
73        int "Max number of WiFi static TX buffers"
74        depends on ESP_WIFI_STATIC_TX_BUFFER
75        range 1 64
76        default 16
77        help
78            Set the number of WiFi static TX buffers. Each buffer takes approximately 1.6KB of RAM.
79            The static RX buffers are allocated when esp_wifi_init() is called, they are not released
80            until esp_wifi_deinit() is called.
81
82            For each transmitted data frame from the higher layer TCP/IP stack, the WiFi driver makes a
83            copy of it in a TX buffer.  For some applications especially UDP applications, the upper
84            layer can deliver frames faster than WiFi layer can transmit. In these cases, we may run out
85            of TX buffers.
86
87    config ESP_WIFI_CACHE_TX_BUFFER_NUM
88        int "Max number of WiFi cache TX buffers"
89        depends on (SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
90        range 0 128
91        default 32
92        help
93            Set the number of WiFi cache TX buffer number.
94
95            For each TX packet from uplayer, such as LWIP etc, WiFi driver needs to allocate a static TX
96            buffer and makes a copy of uplayer packet. If WiFi driver fails to allocate the static TX buffer,
97            it caches the uplayer packets to a dedicated buffer queue, this option is used to configure the
98            size of the cached TX queue.
99
100    config ESP_WIFI_DYNAMIC_TX_BUFFER_NUM
101        int "Max number of WiFi dynamic TX buffers"
102        depends on ESP_WIFI_DYNAMIC_TX_BUFFER
103        range 1 128
104        default 32
105        help
106            Set the number of WiFi dynamic TX buffers. The size of each dynamic TX buffer is not fixed,
107            it depends on the size of each transmitted data frame.
108
109            For each transmitted frame from the higher layer TCP/IP stack, the WiFi driver makes a copy
110            of it in a TX buffer. For some applications, especially UDP applications, the upper layer
111            can deliver frames faster than WiFi layer can transmit. In these cases, we may run out of TX
112            buffers.
113
114    choice ESP_WIFI_MGMT_RX_BUFFER
115        prompt "Type of WiFi RX MGMT buffers"
116        default ESP_WIFI_STATIC_RX_MGMT_BUFFER
117        help
118            Select type of WiFi RX MGMT buffers:
119
120            If "Static" is selected, WiFi RX MGMT buffers are allocated when WiFi is initialized and released
121            when WiFi is de-initialized. The size of each static RX MGMT buffer is fixed to about 500 Bytes.
122
123            If "Dynamic" is selected, each WiFi RX MGMT buffer is allocated as needed when a MGMT data frame is
124            received. The MGMT buffer is freed after the MGMT data frame has been processed by the WiFi driver.
125
126
127        config ESP_WIFI_STATIC_RX_MGMT_BUFFER
128            bool "Static"
129        config ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER
130            bool "Dynamic"
131    endchoice
132
133    config ESP_WIFI_DYNAMIC_RX_MGMT_BUF
134        int
135        default 0 if ESP_WIFI_STATIC_RX_MGMT_BUFFER
136        default 1 if ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER
137
138    config ESP_WIFI_RX_MGMT_BUF_NUM_DEF
139        int "Max number of WiFi RX MGMT buffers"
140        range 1 10
141        default 5
142        help
143            Set the number of WiFi RX_MGMT buffers.
144
145            For Management buffers, the number of dynamic and static management buffers is the same.
146            In order to prevent memory fragmentation, the management buffer type should be set to static first.
147
148    config ESP_WIFI_CSI_ENABLED
149        bool "WiFi CSI(Channel State Information)"
150        depends on SOC_WIFI_CSI_SUPPORT
151        default n
152        help
153            Select this option to enable CSI(Channel State Information) feature. CSI takes about
154            CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM KB of RAM. If CSI is not used, it is better to disable
155            this feature in order to save memory.
156
157    config ESP_WIFI_AMPDU_TX_ENABLED
158        bool "WiFi AMPDU TX"
159        default y
160        help
161            Select this option to enable AMPDU TX feature
162
163
164    config ESP_WIFI_TX_BA_WIN
165        int "WiFi AMPDU TX BA window size"
166        depends on ESP_WIFI_AMPDU_TX_ENABLED
167        range 2 32 if !SOC_WIFI_HE_SUPPORT
168        range 2 64 if SOC_WIFI_HE_SUPPORT
169        default 6
170        help
171            Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but
172            more memory. Most of time we should NOT change the default value unless special reason, e.g.
173            test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended
174            value is 9~12.
175
176    config ESP_WIFI_AMPDU_RX_ENABLED
177        bool "WiFi AMPDU RX"
178        default y
179        help
180            Select this option to enable AMPDU RX feature
181
182    config ESP_WIFI_RX_BA_WIN
183        int "WiFi AMPDU RX BA window size"
184        depends on ESP_WIFI_AMPDU_RX_ENABLED
185        range 2 32 if !SOC_WIFI_HE_SUPPORT
186        range 2 64 if SOC_WIFI_HE_SUPPORT
187        default 6 if !(SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
188        default 16 if (SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND)
189        help
190            Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput and better
191            compatibility but more memory. Most of time we should NOT change the default value unless special
192            reason, e.g. test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the
193            recommended value is 9~12. If PSRAM is used and WiFi memory is preferred to allocate in PSRAM first,
194            the default and minimum value should be 16 to achieve better throughput and compatibility with both
195            stations and APs.
196
197    config ESP_WIFI_AMSDU_TX_ENABLED
198        bool "WiFi AMSDU TX"
199        depends on (ESP_WIFI_CACHE_TX_BUFFER_NUM >= 2)
200        default n
201        help
202            Select this option to enable AMSDU TX feature
203
204    config ESP_WIFI_NVS_ENABLED
205        bool "WiFi NVS flash"
206        default y
207        help
208            Select this option to enable WiFi NVS flash
209
210    choice ESP_WIFI_TASK_CORE_ID
211        depends on !FREERTOS_UNICORE
212        prompt "WiFi Task Core ID"
213        default ESP_WIFI_TASK_PINNED_TO_CORE_0
214        help
215            Pinned WiFi task to core 0 or core 1.
216
217        config ESP_WIFI_TASK_PINNED_TO_CORE_0
218            bool "Core 0"
219        config ESP_WIFI_TASK_PINNED_TO_CORE_1
220            bool "Core 1"
221    endchoice
222
223    config ESP_WIFI_SOFTAP_BEACON_MAX_LEN
224        int "Max length of WiFi SoftAP Beacon"
225        range 752 1256
226        default 752
227        help
228            ESP-MESH utilizes beacon frames to detect and resolve root node conflicts (see documentation). However the
229            default length of a beacon frame can simultaneously hold only five root node identifier structures,
230            meaning that a root node conflict of up to five nodes can be detected at one time. In the occurence of
231            more root nodes conflict involving more than five root nodes, the conflict resolution process will detect
232            five of the root nodes, resolve the conflict, and re-detect more root nodes. This process will repeat
233            until all root node conflicts are resolved. However this process can generally take a very long time.
234
235            To counter this situation, the beacon frame length can be increased such that more root nodes can be
236            detected simultaneously. Each additional root node will require 36 bytes and should be added ontop of the
237            default beacon frame length of
238            752 bytes. For example, if you want to detect 10 root nodes simultaneously, you need to set the beacon
239            frame length as
240            932 (752+36*5).
241
242            Setting a longer beacon length also assists with debugging as the conflicting root nodes can be identified
243            more quickly.
244
245    config ESP_WIFI_MGMT_SBUF_NUM
246        int "WiFi mgmt short buffer number"
247        range 6 32
248        default 32
249        help
250            Set the maximum number of Wi-Fi management short buffers. These buffers are dynamically allocated,
251            with their size determined by the length of the management packet to be sent. When a management
252            packet is less than 64 bytes, the Wi-Fi driver classifies it as a short management packet and
253            assigns it to one of these buffers.
254
255    config ESP_WIFI_IRAM_OPT
256        bool "WiFi IRAM speed optimization"
257        default n if (BT_ENABLED && SPIRAM && IDF_TARGET_ESP32)
258        default y
259        help
260            Select this option to place frequently called Wi-Fi library functions in IRAM.
261            When this option is disabled, more than 10Kbytes of IRAM memory will be saved
262            but Wi-Fi throughput will be reduced.
263
264    config ESP_WIFI_EXTRA_IRAM_OPT
265        bool "WiFi EXTRA IRAM speed optimization"
266        default y if IDF_TARGET_ESP32C6
267        default n
268        help
269            Select this option to place additional frequently called Wi-Fi library functions
270            in IRAM. When this option is disabled, more than 5Kbytes of IRAM memory will be saved
271            but Wi-Fi throughput will be reduced.
272
273    config ESP_WIFI_RX_IRAM_OPT
274        bool "WiFi RX IRAM speed optimization"
275        default n if (BT_ENABLED && SPIRAM && IDF_TARGET_ESP32)
276        default y
277        help
278            Select this option to place frequently called Wi-Fi library RX functions in IRAM.
279            When this option is disabled, more than 17Kbytes of IRAM memory will be saved
280            but Wi-Fi performance will be reduced.
281
282    config ESP_WIFI_ENABLE_WPA3_SAE
283        bool "Enable WPA3-Personal"
284        default y
285        select ESP_WIFI_MBEDTLS_CRYPTO
286        help
287            Select this option to allow the device to establish a WPA3-Personal connection with eligible AP's.
288            PMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be
289            explicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide for details.
290
291    config ESP_WIFI_ENABLE_SAE_PK
292        bool "Enable SAE-PK"
293        default y
294        depends on ESP_WIFI_ENABLE_WPA3_SAE
295        help
296            Select this option to enable SAE-PK
297
298    config ESP_WIFI_SOFTAP_SAE_SUPPORT
299        bool "Enable WPA3 Personal(SAE) SoftAP"
300        default y
301        depends on ESP_WIFI_ENABLE_WPA3_SAE
302        depends on ESP_WIFI_SOFTAP_SUPPORT
303        help
304            Select this option to enable SAE support in softAP mode.
305
306    config ESP_WIFI_ENABLE_WPA3_OWE_STA
307        bool "Enable OWE STA"
308        default y
309        select ESP_WIFI_MBEDTLS_CRYPTO
310        help
311            Select this option to allow the device to establish OWE connection with eligible AP's.
312            PMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be
313            explicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide for details.
314
315    config ESP_WIFI_SLP_IRAM_OPT
316        bool "WiFi SLP IRAM speed optimization"
317        select PM_SLP_DEFAULT_PARAMS_OPT
318        select PERIPH_CTRL_FUNC_IN_IRAM
319        help
320            Select this option to place called Wi-Fi library TBTT process and receive beacon functions in IRAM.
321            Some functions can be put in IRAM either by ESP_WIFI_IRAM_OPT and ESP_WIFI_RX_IRAM_OPT, or this one.
322            If already enabled ESP_WIFI_IRAM_OPT, the other 7.3KB IRAM memory would be taken by this option.
323            If already enabled ESP_WIFI_RX_IRAM_OPT, the other 1.3KB IRAM memory would be taken by this option.
324            If neither of them are enabled, the other 7.4KB IRAM memory would be taken by this option.
325            Wi-Fi power-save mode average current would be reduced if this option is enabled.
326
327    config ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME
328        int "Minimum active time"
329        range 8 60
330        default 50
331        help
332            Only for station in WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. When the station enters the active state,
333            it will work for at least ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME. If a data packet is received or sent
334            during this period, the time will be refreshed. If the time is up, but the station still has packets
335            to receive or send, the time will also be refreshed. unit: milliseconds.
336
337    config ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME
338        int "Maximum keep alive time"
339        range 10 60
340        default 10
341        help
342            Only for station in WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. If no packet has been
343            sent within ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME, a null data packet will be sent
344            to maintain the connection with the AP. unit: seconds.
345
346    config ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME
347        int "Minimum wait broadcast data time"
348        range 10 30
349        default 15
350        help
351            Only for station in WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. When the station knows through the beacon
352            that AP will send broadcast packet, it will wait for ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME
353            before entering the sleep process. If a broadcast packet is received with more data bits, the time
354            will refreshed. unit: milliseconds.
355
356    config ESP_WIFI_FTM_ENABLE
357        bool "WiFi FTM"
358        default n
359        depends on SOC_WIFI_FTM_SUPPORT
360        help
361            Enable feature Fine Timing Measurement for calculating WiFi Round-Trip-Time (RTT).
362
363    config ESP_WIFI_FTM_INITIATOR_SUPPORT
364        bool "FTM Initiator support"
365        default y
366        depends on ESP_WIFI_FTM_ENABLE
367
368    config ESP_WIFI_FTM_RESPONDER_SUPPORT
369        bool "FTM Responder support"
370        default y
371        depends on ESP_WIFI_FTM_ENABLE
372
373    config ESP_WIFI_STA_DISCONNECTED_PM_ENABLE
374        bool "Power Management for station at disconnected"
375        default y
376        help
377            Select this option to enable power_management for station when disconnected.
378            Chip will do modem-sleep when rf module is not in use any more.
379
380    config ESP_WIFI_GCMP_SUPPORT
381        bool "WiFi GCMP Support(GCMP128 and GCMP256)"
382        default n
383        depends on SOC_WIFI_GCMP_SUPPORT
384        help
385            Select this option to enable GCMP support. GCMP support is compulsory for WiFi Suite-B support.
386
387    config ESP_WIFI_GMAC_SUPPORT
388        bool "WiFi GMAC Support(GMAC128 and GMAC256)"
389        default y
390        help
391            Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192 bit certification.
392
393    config ESP_WIFI_SOFTAP_SUPPORT
394        bool "WiFi SoftAP Support"
395        default y
396        help
397            WiFi module can be compiled without SoftAP to save code size.
398
399    config ESP_WIFI_ENHANCED_LIGHT_SLEEP
400        bool "WiFi modem automatically receives the beacon"
401        default n
402        depends on ESP_PHY_MAC_BB_PD && SOC_PM_SUPPORT_BEACON_WAKEUP
403        help
404            The wifi modem automatically receives the beacon frame during light sleep.
405
406    config ESP_WIFI_SLP_BEACON_LOST_OPT
407        bool "Wifi sleep optimize when beacon lost"
408        help
409            Enable wifi sleep optimization when beacon loss occurs and immediately enter
410            sleep mode when the WiFi module detects beacon loss.
411
412    config ESP_WIFI_SLP_BEACON_LOST_TIMEOUT
413        int "Beacon loss timeout"
414        range 5 100
415        default 10
416        depends on ESP_WIFI_SLP_BEACON_LOST_OPT
417        help
418            Timeout time for close rf phy when beacon loss occurs, Unit: 1024 microsecond.
419
420    config ESP_WIFI_SLP_BEACON_LOST_THRESHOLD
421        int "Maximum number of consecutive lost beacons allowed"
422        range 0 8
423        default 3
424        depends on ESP_WIFI_SLP_BEACON_LOST_OPT
425        help
426            Maximum number of consecutive lost beacons allowed, WiFi keeps Rx state when
427            the number of consecutive beacons lost is greater than the given threshold.
428
429    config ESP_WIFI_SLP_PHY_ON_DELTA_EARLY_TIME
430        int "Delta early time for RF PHY on"
431        range 0 100
432        default 2
433        depends on ESP_WIFI_SLP_BEACON_LOST_OPT && SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW
434        help
435            Delta early time for rf phy on, When the beacon is lost, the next rf phy on will
436            be earlier the time specified by the configuration item, Unit: 32 microsecond.
437
438    config ESP_WIFI_SLP_PHY_OFF_DELTA_TIMEOUT_TIME
439        int "Delta timeout time for RF PHY off"
440        range 0 8
441        default 2
442        depends on ESP_WIFI_SLP_BEACON_LOST_OPT && SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW
443        help
444            Delta timeout time for rf phy off, When the beacon is lost, the next rf phy off will
445            be delayed for the time specified by the configuration item. Unit: 1024 microsecond.
446
447    config ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM
448        int "Maximum espnow encrypt peers number"
449        range 0 4 if IDF_TARGET_ESP32C2
450        range 0 17 if (!IDF_TARGET_ESP32C2)
451        default 2 if IDF_TARGET_ESP32C2
452        default 7 if (!IDF_TARGET_ESP32C2)
453        help
454            Maximum number of encrypted peers supported by espnow.
455            The number of hardware keys for encryption is fixed. And the espnow and SoftAP share the same
456            hardware keys. So this configuration will affect the maximum connection number of SoftAP.
457            Maximum espnow encrypted peers number + maximum number of connections of SoftAP = Max hardware keys number.
458            When using ESP mesh, this value should be set to a maximum of 6.
459
460    config ESP_WIFI_NAN_ENABLE
461        bool "WiFi Aware"
462        default n
463        depends on SOC_WIFI_NAN_SUPPORT
464        help
465            Enable WiFi Aware (NAN) feature.
466
467    config ESP_WIFI_ENABLE_WIFI_TX_STATS
468        bool "Enable Wi-Fi transmission statistics"
469        depends on SOC_WIFI_HE_SUPPORT
470        default "y"
471        help
472            Enable Wi-Fi transmission statistics. Total support 4 access category. Each access category
473            will use 346 bytes memory.
474
475    config ESP_WIFI_MBEDTLS_CRYPTO
476        bool "Use MbedTLS crypto APIs"
477        default y
478        select MBEDTLS_AES_C
479        select MBEDTLS_ECP_C
480        select MBEDTLS_ECDH_C
481        select MBEDTLS_ECDSA_C
482        select MBEDTLS_CMAC_C
483        select MBEDTLS_ECP_DP_SECP256R1_ENABLED
484        help
485            Select this option to enable the use of MbedTLS crypto APIs.
486            The internal crypto support within the supplicant is limited
487            and may not suffice for all new security features, including WPA3.
488
489            It is recommended to always keep this option enabled. Additionally,
490            note that MbedTLS can leverage hardware acceleration if available,
491            resulting in significantly faster cryptographic operations.
492
493    if ESP_WIFI_MBEDTLS_CRYPTO
494        config ESP_WIFI_MBEDTLS_TLS_CLIENT
495            bool "Use MbedTLS TLS client for WiFi Enterprise connection"
496            depends on ESP_WIFI_ENTERPRISE_SUPPORT
497            default y
498            select MBEDTLS_TLS_ENABLED
499            help
500                Select this option to use MbedTLS TLS client for WPA2 enterprise connection.
501                Please note that from MbedTLS-3.0 onwards, MbedTLS does not support SSL-3.0
502                TLS-v1.0, TLS-v1.1 versions. Incase your server is using one of these version,
503                it is advisable to update your server.
504                Please disable this option for compatibilty with older TLS versions.
505    endif
506
507    config ESP_WIFI_WAPI_PSK
508        bool "Enable WAPI PSK support"
509        depends on SOC_WIFI_WAPI_SUPPORT
510        default n
511        help
512            Select this option to enable WAPI-PSK
513            which is a Chinese National Standard Encryption for Wireless LANs (GB 15629.11-2003).
514
515    config ESP_WIFI_SUITE_B_192
516        bool "Enable NSA suite B support with 192 bit key"
517        default n
518        depends on SOC_WIFI_GCMP_SUPPORT
519        select ESP_WIFI_GCMP_SUPPORT
520        select ESP_WIFI_GMAC_SUPPORT
521        help
522            Select this option to enable 192 bit NSA suite-B.
523            This is necessary to support WPA3 192 bit security.
524
525    config ESP_WIFI_11KV_SUPPORT
526        bool "Enable 802.11k, 802.11v APIs Support"
527        default n
528        help
529            Select this option to enable 802.11k 802.11v APIs(RRM and BTM support).
530            Only APIs which are helpful for network assisted roaming
531            are supported for now.
532            Enable this option with BTM and RRM enabled in sta config
533            to make device ready for network assisted roaming.
534            BTM: BSS transition management enables an AP to request a station to transition
535            to a specific AP, or to indicate to a station a set of preferred APs.
536            RRM: Radio measurements enable STAs to understand the radio environment,
537            it enables STAs to observe and gather data on radio link performance
538            and on the radio environment. Current implementation adds beacon report,
539            link measurement, neighbor report.
540
541    config ESP_WIFI_SCAN_CACHE
542        bool "Keep scan results in cache"
543        depends on ESP_WIFI_11KV_SUPPORT
544        default n
545        help
546            Keep scan results in cache, if not enabled, those
547            will be flushed immediately.
548
549    config ESP_WIFI_MBO_SUPPORT
550        bool "Enable Multi Band Operation Certification Support"
551        default n
552        select ESP_WIFI_11KV_SUPPORT
553        select ESP_WIFI_SCAN_CACHE
554        help
555            Select this option to enable WiFi Multiband operation certification support.
556
557    config ESP_WIFI_DPP_SUPPORT
558        bool "Enable DPP support"
559        default n
560        select ESP_WIFI_MBEDTLS_CRYPTO
561        help
562            Select this option to enable WiFi Easy Connect Support.
563
564    config ESP_WIFI_11R_SUPPORT
565        bool "Enable 802.11R (Fast Transition) Support"
566        default n
567        help
568            Select this option to enable WiFi Fast Transition Support.
569
570    config ESP_WIFI_WPS_SOFTAP_REGISTRAR
571        bool "Add WPS Registrar support in SoftAP mode"
572        depends on ESP_WIFI_SOFTAP_SUPPORT
573        default n
574        help
575            Select this option to enable WPS registrar support in softAP mode.
576
577    config ESP_WIFI_ENABLE_WIFI_RX_STATS
578        bool "Enable Wi-Fi reception statistics"
579        depends on SOC_WIFI_HE_SUPPORT
580        default "y"
581        help
582            Enable Wi-Fi reception statistics. Total support 2 access category. Each access category
583            will use 190 bytes memory.
584
585    config ESP_WIFI_ENABLE_WIFI_RX_MU_STATS
586        bool "Enable Wi-Fi DL MU-MIMO and DL OFDMA reception statistics"
587        depends on ESP_WIFI_ENABLE_WIFI_RX_STATS
588        default "y"
589        help
590            Enable Wi-Fi DL MU-MIMO and DL OFDMA reception statistics. Will use 10932 bytes memory.
591
592    menu "WPS Configuration Options"
593        config ESP_WIFI_WPS_STRICT
594            bool "Strictly validate all WPS attributes"
595            default n
596            help
597                Select this option to enable validate each WPS attribute
598                rigorously. Disabling this add the workaorunds with various APs.
599                Enabling this may cause inter operability issues with some APs.
600
601        config ESP_WIFI_WPS_PASSPHRASE
602            bool "Get WPA2 passphrase in WPS config"
603            default n
604            help
605                Select this option to get passphrase during WPS configuration.
606                This option fakes the virtual display capabilites to get the
607                configuration in passphrase mode.
608                Not recommanded to be used since WPS credentials should not
609                be shared to other devices, making it in readable format increases
610                that risk, also passphrase requires pbkdf2 to convert in psk.
611
612    endmenu # "WPS Configuration Options"
613
614
615    config ESP_WIFI_DEBUG_PRINT
616        bool "Print debug messages from WPA Supplicant"
617        default n
618        help
619            Select this option to print logging information from WPA supplicant,
620            this includes handshake information and key hex dumps depending
621            on the project logging level.
622
623            Enabling this could increase the build size ~60kb
624            depending on the project logging level.
625
626    config ESP_WIFI_TESTING_OPTIONS
627        bool "Add DPP testing code"
628        default n
629        help
630            Select this to enable unity test for DPP.
631
632    config ESP_WIFI_ENTERPRISE_SUPPORT
633        bool "Enable enterprise option"
634        default y
635        help
636            Select this to enable/disable enterprise connection support.
637
638            disabling this will reduce binary size.
639            disabling this will disable the use of any esp_wifi_sta_wpa2_ent_* (as APIs will be meaningless)
640
641    config ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER
642        bool "Free dynamic buffers during WiFi enterprise connection"
643        depends on ESP_WIFI_ENTERPRISE_SUPPORT
644        default y if IDF_TARGET_ESP32C2
645        default n if !IDF_TARGET_ESP32C2
646        help
647            Select this configuration to free dynamic buffers during WiFi enterprise connection.
648            This will enable chip to reduce heap consumption during WiFi enterprise connection.
649
650endmenu # Wi-Fi
651