Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 | # Nordic Wi-Fi driver for nRF70 series SoCs # # Copyright (c) 2024 Nordic Semiconductor # # SPDX-License-Identifier: Apache-2.0 # menuconfig WIFI_NRF70 bool "nRF70 driver" select NET_L2_WIFI_MGMT if NETWORKING select NET_L2_ETHERNET_MGMT if NETWORKING && NET_L2_ETHERNET select WIFI_USE_NATIVE_NETWORKING if NETWORKING select EXPERIMENTAL if !SOC_SERIES_NRF53X && !SOC_SERIES_NRF91X default y depends on \ DT_HAS_NORDIC_NRF7002_SPI_ENABLED || DT_HAS_NORDIC_NRF7002_QSPI_ENABLED || \ DT_HAS_NORDIC_NRF7001_SPI_ENABLED || DT_HAS_NORDIC_NRF7001_QSPI_ENABLED || \ DT_HAS_NORDIC_NRF7000_SPI_ENABLED || DT_HAS_NORDIC_NRF7000_QSPI_ENABLED help Nordic Wi-Fi Driver if WIFI_NRF70 # Hidden symbols for internal use config WIFI_NRF7002 bool default y if DT_HAS_NORDIC_NRF7002_SPI_ENABLED || DT_HAS_NORDIC_NRF7002_QSPI_ENABLED config WIFI_NRF7001 bool default y if DT_HAS_NORDIC_NRF7001_SPI_ENABLED || DT_HAS_NORDIC_NRF7001_QSPI_ENABLED config WIFI_NRF7000 bool default y if DT_HAS_NORDIC_NRF7000_SPI_ENABLED || DT_HAS_NORDIC_NRF7000_QSPI_ENABLED module = WIFI_NRF70_BUS module-dep = LOG module-str = Log level for Wi-Fi nRF70 bus layers module-help = Sets log level for Wi-Fi nRF70 bus layers source "subsys/net/Kconfig.template.log_config.net" config WIFI_NRF70_BUS_LOG_LEVEL # Enable error by default default 1 choice NRF70_OPER_MODES bool "nRF70 operating modes" default NRF70_SYSTEM_WITH_RAW_MODES if !WIFI_NRF7000 && \ (NRF70_RAW_DATA_TX || NRF70_RAW_DATA_RX || NRF70_PROMISC_DATA_RX) default NRF70_SYSTEM_MODE if !WIFI_NRF7000 default NRF70_SCAN_ONLY if WIFI_NRF7000 help Select the operating mode of the nRF70 driver config NRF70_SYSTEM_MODE bool "nRF70 system mode" depends on WIFI_NRF7002 || WIFI_NRF7001 select WIFI_NM_WPA_SUPPLICANT help Select this option to enable system mode of the nRF70 driver config NRF70_SCAN_ONLY bool "nRF70 scan only mode" help Select this option to enable scan only mode of the nRF70 driver config NRF70_RADIO_TEST bool "Radio test mode of the nRF70 driver" config NRF70_OFFLOADED_RAW_TX bool "Offloaded raw TX mode of the nRF70 driver" config NRF70_SYSTEM_WITH_RAW_MODES bool "nRF70 system mode with raw modes" depends on WIFI_NRF7002 || WIFI_NRF7001 select WIFI_NM_WPA_SUPPLICANT help Select this option to enable system mode of the nRF70 driver with raw modes. endchoice config NRF70_SYSTEM_MODE_COMMON bool default y if NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES config NET_L2_ETHERNET default y if (!NRF70_RADIO_TEST && !NRF70_OFFLOADED_RAW_TX) config HEAP_MEM_POOL_ADD_SIZE_NRF70 # Use a maximum that works for typical use cases and boards, each sample/app can override # this value if needed by using CONFIG_HEAP_MEM_POOL_IGNORE_MIN def_int 25000 if NRF70_SCAN_ONLY def_int 150000 if NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES config NRF70_STA_MODE bool "nRF70 STA mode" default y help Select this option to enable STA mode of the nRF70 driver. config NRF70_AP_MODE bool "Access point mode" depends on WIFI_NM_WPA_SUPPLICANT_AP config NRF70_P2P_MODE bool "P2P support in driver" endif # NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES config NRF70_RAW_DATA_TX bool "RAW TX data path in the driver" select EXPERIMENTAL config NRF70_RAW_DATA_RX bool "RAW RX sniffer operation in the driver" select EXPERIMENTAL config NRF70_PROMISC_DATA_RX bool "Promiscuous RX sniffer operation in the driver" select WIFI_NM_WPA_SUPPLICANT select EXPERIMENTAL select NET_PROMISCUOUS_MODE config NRF70_DATA_TX bool "TX data path in the driver" default y if NRF70_SYSTEM_MODE || NRF70_SYSTEM_WITH_RAW_MODES config NRF_WIFI_IF_AUTO_START bool "Wi-Fi interface auto start on boot" default y choice NRF_WIFI_FW_BLOB_HANDLING prompt "nRF70 Firmware blob handling" default NRF_WIFI_PATCHES_BUILTIN config NRF_WIFI_BUILD_ONLY_MODE bool "Build only mode" help Enable this option to build the driver without firmware loading, removes dependency on firmware binary and patches. This is useful to check the build and link errors. config NRF_WIFI_PATCHES_BUILTIN bool "Store nRF70 FW patches as part of the driver" help Select this option to store nRF70 FW patches as part of the driver. This option impacts the code memory footprint of the driver. config NRF_WIFI_PATCHES_EXTERNAL bool "Load nRF70 FW patches from external binary" help Select this option to load nRF70 FW patches from an external tooling. endchoice config NRF_WIFI_LOW_POWER bool "Low power mode in nRF Wi-Fi chipsets" default y config NRF70_TCP_IP_CHECKSUM_OFFLOAD bool "TCP/IP checksum offload" default y config NRF70_REG_DOMAIN string "The ISO/IEC alpha2 country code for the country in which this device is currently operating. Default 00 (World regulatory)" # 00 is used for World regulatory default "00" # Making calls to RPU from net_mgmt callbacks. # # If WPA supplicant is enabled, then don't override as it has higher # stack requirements. config NET_MGMT_EVENT_STACK_SIZE default 2048 if !WIFI_NM_WPA_SUPPLICANT config NRF70_LOG_VERBOSE bool "Maintains the verbosity of information in logs" default y module = WIFI_NRF70 module-dep = LOG module-str = Log level for Wi-Fi nRF70 driver module-help = Sets log level for Wi-Fi nRF70 driver source "subsys/logging/Kconfig.template.log_config" config WIFI_NRF70_LOG_LEVEL # Enable error by default default 1 config NRF70_ON_QSPI def_bool DT_HAS_NORDIC_NRF7002_QSPI_ENABLED || \ DT_HAS_NORDIC_NRF7001_QSPI_ENABLED || \ DT_HAS_NORDIC_NRF7000_QSPI_ENABLED select NRFX_QSPI config NRF70_ON_SPI def_bool DT_HAS_NORDIC_NRF7002_SPI_ENABLED || \ DT_HAS_NORDIC_NRF7001_SPI_ENABLED || \ DT_HAS_NORDIC_NRF7000_SPI_ENABLED select SPI config NRF70_2_4G_ONLY def_bool y if WIFI_NRF7001 # Wi-Fi and SR Coexistence Hardware configuration. config NRF70_SR_COEX bool "Wi-Fi and SR coexistence support" config NRF70_SR_COEX_RF_SWITCH bool "GPIO configuration to control SR side RF switch position" config NRF70_WORKQ_STACK_SIZE int "Stack size for workqueue" default 4096 config NRF70_WORKQ_MAX_ITEMS int "Maximum work items for all workqueues" default 100 config NRF70_MAX_TX_PENDING_QLEN int "Maximum number of pending TX packets" default 18 config NRF70_UTIL depends on SHELL bool "Utility shell in nRF70 driver" config NRF70_QSPI_LOW_POWER bool "low power mode in QSPI" default y if NRF_WIFI_LOW_POWER config NRF70_PCB_LOSS_2G int "PCB loss for 2.4 GHz band" default 0 range 0 4 help Specifies PCB loss from the antenna connector to the RF pin. The values are in dB scale in steps of 1 dB and range of 0-4 dB. The loss is considered in the RX path only. config NRF70_PCB_LOSS_5G_BAND1 int "PCB loss for 5 GHz band (5150 MHz - 5350 MHz, Channel-32 - Channel-68)" default 0 range 0 4 help Specifies PCB loss from the antenna connector to the RF pin. The values are in dB scale in steps of 1 dB and range of 0-4 dB. The loss is considered in the RX path only. config NRF70_PCB_LOSS_5G_BAND2 int "PCB loss for 5 GHz band (5470 MHz - 5730 MHz, Channel-96 - Channel-144)" default 0 range 0 4 help Specifies PCB loss from the antenna connector to the RF pin. The values are in dB scale in steps of 1 dB and range of 0-4 dB. The loss is considered in the RX path only. config NRF70_PCB_LOSS_5G_BAND3 int "PCB loss for 5 GHz band (5730 MHz - 5895 MHz, Channel-149 - Channel-177)" default 0 range 0 4 help Specifies PCB loss from the antenna connector to the RF pin. The values are in dB scale in steps of 1 dB and range of 0-4 dB. The loss is considered in the RX path only. config NRF70_ANT_GAIN_2G int "Antenna gain for 2.4 GHz band" default 0 range 0 6 config NRF70_ANT_GAIN_5G_BAND1 int "Antenna gain for 5 GHz band (5150 MHz - 5350 MHz)" default 0 range 0 6 config NRF70_ANT_GAIN_5G_BAND2 int "Antenna gain for 5 GHz band (5470 MHz - 5730 MHz)" default 0 range 0 6 config NRF70_ANT_GAIN_5G_BAND3 int "Antenna gain for 5 GHz band (5730 MHz - 5895 MHz)" default 0 range 0 6 config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_DSSS int "DSSS Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_2G_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_DSSS int "DSSS Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_2G_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of 2.4 GHz frequency band" default 0 range 0 10 config NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-1 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_1_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of UNII-1 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-1 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_1_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of UNII-1 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-2A frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2A_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of UNII-2A frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-2A frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2A_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of UNII-2A frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-2C frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2C_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of UNII-2C frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-2C frequency band" default 0 range 0 10 config NRF70_BAND_UNII_2C_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of UNII-2C frequency band" default 0 range 0 10 config NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-3 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_3_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of UNII-3 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-3 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_3_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of UNII-3 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for lower edge of UNII-4 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_4_LOWER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for lower edge of UNII-4 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HT int "HT/VHT Transmit power backoff (in dB) for upper edge of UNII-4 frequency band" default 0 range 0 10 config NRF70_BAND_UNII_4_UPPER_EDGE_BACKOFF_HE int "HE Transmit power backoff (in dB) for upper edge of UNII-4 frequency band" default 0 range 0 10 # Performance fine tuning options config NRF70_RX_NUM_BUFS int "Number of RX buffers" default 48 config NRF70_MAX_TX_AGGREGATION int "Maximum number of TX packets to aggregate" default 12 config NRF70_MAX_TX_TOKENS int "Maximum number of TX tokens" range 5 12 if !NRF70_RADIO_TEST default 10 config NRF70_TX_MAX_DATA_SIZE int "Maximum size of TX data" default 1600 config NRF70_RX_MAX_DATA_SIZE int "Maximum size of RX data" default 1600 config NRF70_TX_DONE_WQ_ENABLED bool "TX done workqueue (impacts performance negatively)" config NRF70_RX_WQ_ENABLED bool "RX workqueue" # Use for IRQ processing (TODO: using for BH processing causes issues) config NUM_METAIRQ_PRIORITIES default 1 config NRF70_IRQ_WQ_PRIORITY int "Priority of the workqueue for handling IRQs" default -15 config NRF70_BH_WQ_PRIORITY int "Priority of the workqueue for handling bottom half" default 0 config NRF70_IRQ_WQ_STACK_SIZE int "Stack size of the workqueue for handling IRQs" default 2048 config NRF70_BH_WQ_STACK_SIZE int "Stack size of the workqueue for handling bottom half" default 2048 if NRF70_TX_DONE_WQ_ENABLED config NRF70_TX_DONE_WQ_PRIORITY int "Priority of the workqueue for handling TX done" default 0 config NRF70_TX_DONE_WQ_STACK_SIZE int "Stack size of the workqueue for handling TX done" default 2048 endif # NRF70_TX_DONE_WQ_ENABLED if NRF70_RX_WQ_ENABLED config NRF70_RX_WQ_PRIORITY int "Priority of the workqueue for handling RX" default 0 config NRF70_RX_WQ_STACK_SIZE int "Stack size of the workqueue for handling RX" default 2048 endif # NRF70_RX_WQ_ENABLED if NRF_WIFI_LOW_POWER config NRF70_RPU_PS_IDLE_TIMEOUT_MS int "RPU power save idle timeout in milliseconds" default 10 config NRF70_RPU_EXTEND_TWT_SP bool "extending TWT service period" help In case frames accepted before the beginning of SP are not transmitted before the SP completes, then typically they are dropped to conform to the SP window as per the specification that is, no transmission outside SP window. This feature mitigates frame loss by transmitting even after SP completion by using a standard contention mechanism, which is allowed in specification but not recommended. As the device is actively transmitting beyond SP, the power consumption increases depending on the amount of traffic available at the start of the SP. Note that if a frame is sent after the SP starts, it will be queued, and this mechanism is not used. endif # NRF_WIFI_LOW_POWER config WIFI_FIXED_MAC_ADDRESS string "Wi-Fi Fixed MAC address in format XX:XX:XX:XX:XX:XX" help This option overrides the MAC address read from OTP. It is strictly for testing purposes only. choice prompt "Wi-Fi MAC address type" default WIFI_FIXED_MAC_ADDRESS_ENABLED if WIFI_FIXED_MAC_ADDRESS != "" default WIFI_OTP_MAC_ADDRESS help Select the type of MAC address to be used by the Wi-Fi driver config WIFI_OTP_MAC_ADDRESS bool "Use MAC address from OTP" help This option uses the MAC address stored in the OTP memory of the nRF70. config WIFI_FIXED_MAC_ADDRESS_ENABLED bool "fixed MAC address" help Enable fixed MAC address config WIFI_RANDOM_MAC_ADDRESS bool "Random MAC address generation at runtime" depends on ENTROPY_GENERATOR help This option enables random MAC address generation at runtime. The random MAC address is generated using the entropy device random generator. endchoice config NRF70_RSSI_STALE_TIMEOUT_MS int "RSSI stale timeout in milliseconds" default 1000 help RSSI stale timeout is the period after which the driver queries RPU to get the RSSI value. If data is active (for example, ping), the driver stores the RSSI value from the received frames and provides this stored information to wpa_supplicant. In this case, a higher value will be suitable as the stored RSSI value at the driver will be updated regularly. If data is not active or after the stale timeout duration, the driver queries the RPU to get the RSSI value and provides it to wpa_supplicant. The value should be set to a lower value as the driver does not store it and requires RPU to provide the information. if NETWORKING # Finetune defaults for certain system components used by the driver config SYSTEM_WORKQUEUE_STACK_SIZE default 4096 config NET_TX_STACK_SIZE default 4096 config NET_RX_STACK_SIZE default 4096 config NET_TC_TX_COUNT default 1 endif # NETWORKING config MAIN_STACK_SIZE default 4096 config SHELL_STACK_SIZE default 4096 # Override the Wi-Fi subsystems WIFI_MGMT_SCAN_SSID_FILT_MAX parameter, # since we support a maximum of 2 SSIDs for scan result filtering. config WIFI_MGMT_SCAN_SSID_FILT_MAX default 2 config NRF_WIFI_SCAN_MAX_BSS_CNT int "Maximum number of scan results to return." default 0 range 0 65535 help Maximum number of scan results to return. 0 represents unlimited number of BSSes. config NRF_WIFI_BEAMFORMING bool "Wi-Fi beamforming. Enabling beamforming can provide a slight improvement in performance, whereas disabling it can provide better power savings in low network activity applications" default y config WIFI_NRF70_SCAN_TIMEOUT_S int "Scan timeout in seconds" default 30 menu "nRF Wi-Fi operation band(s)" visible if !NRF70_2_4G_ONLY config NRF_WIFI_2G_BAND bool "Set operation band to 2.4GHz" default y if NRF70_2_4G_ONLY config NRF_WIFI_5G_BAND bool "Set operation band to 5GHz" depends on !NRF70_2_4G_ONLY config NRF_WIFI_OP_BAND int "Options to set operation band" default 1 if NRF_WIFI_2G_BAND default 2 if NRF_WIFI_5G_BAND default 3 help Set this option to select frequency band 1 - 2.4GHz 2 - 5GHz 3 - All ( 2.4GHz and 5GHz ) endmenu config NRF_WIFI_IFACE_MTU int "MTU for Wi-Fi interface" range 576 2304 if NET_IPV4 range 1280 2304 if NET_IPV6 default 1500 config WIFI_NRF70_SKIP_LOCAL_ADMIN_MAC bool "Suppress networks with non-individual MAC addresses as BSSID in the scan results" help Wi-Fi access points use locally administered MAC addresses to manage multiple virtual interfaces. For geo-location use cases, these networks from the virtual interfaces do not help in any way as they are co-located with the primary interface that has a globally unique MAC address. So, to save resources, this option drops such networks from the scan results. config WIFI_NRF70_SCAN_DISABLE_DFS_CHANNELS bool "Disables DFS channels in scan operation" help This option disables inclusion of the DFS channels in the scan operation. This is useful to reduce the scan time, as DFS channels are seldom used. config NET_INTERFACE_NAME_LEN # nordic_wlanN default 15 config NRF_WIFI_AP_DEAD_DETECT_TIMEOUT int "Access point dead detection timeout in seconds" range 1 30 default 20 help The number of seconds after which the AP is declared dead if no beacons are received from the AP. This is used to detect AP silently going down, for example, due to power off. config NRF_WIFI_RPU_RECOVERY bool "RPU recovery mechanism" # Relies on power-save mode, so, LPM is needed and AP mode is not supported depends on NRF_WIFI_LOW_POWER depends on !NRF70_AP_MODE default y select EXPERIMENTAL help Enable the RPU recovery mechanism to recover from an RPU (nRF70) hang. This feature performs an interface reset (down and up), which triggers a RPU cold boot. The application's network connection will be lost during the recovery process, and it is the application's responsibility to re-establish the network connection. if NRF_WIFI_RPU_RECOVERY config NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS int "RPU recovery propagation delay in milliseconds" default 2000 help Propagation delay in milliseconds to wait after RPU is powered down before powering it up. This delay is required to ensure that the recovery is propagated to all the applications and stack and have enough time to clean up the resources. config NET_MGMT_EVENT_QUEUE_SIZE # Doing interface down and up even with delay puts a lot of events in the queue default 16 config NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS int "RPU recovery propagation delay in milliseconds" default 10 help Propagation delay in milliseconds to wait after the RPU is powered down before powering it up. This delay is required to ensure that the recovery is propagated to all the applications and stack, and has enough time to clean up the resources. config NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS int "RPU recovery power save active timeout in milliseconds" default 50000 help Power save active timeout in milliseconds, after which the RPU recovery mechanism will be triggered. This timeout is used to ensure that the RPU attempts to enter power save mode in case of inactivity. config NRF_WIFI_RPU_MIN_TIME_TO_ENTER_SLEEP_MS int "Minimum idle time to enter sleep in milliseconds" range 100 5000 default 1000 help Minimum time the host should de-assert WAKEUP_NOW and let RPU enter sleep mode, assuming there is no activity. config NRF_WIFI_RPU_RECOVERY_DEBUG bool "RPU recovery debug logs" help Enable RPU recovery debug logs to help debug the RPU recovery mechanism. config NRF_WIFI_RPU_RECOVERY_QUIET_PERIOD_MS int "RPU recovery quiet period in milliseconds" default 5000 help Quiet period in milliseconds after RPU recovery is triggered. During this period, no new RPU recovery will be triggered. config NRF_WIFI_RPU_RECOVERY_MAX_RETRIES int "Maximum number of consecutive RPU recovery retries, 0 to disable" default 0 help Maximum number of consecutive RPU recovery retries before giving up and resetting the system. Set it to 0 to keep retrying indefinitely. config NRF_WIFI_RPU_RECOVERY_RETRY_WINDOW_S int "RPU recovery retry window in seconds" default 900 help Window in seconds during which the number of consecutive RPU recovery retries are counted. If the number of consecutive RPU recovery retries exceeds NRF_WIFI_RPU_RECOVERY_MAX_RETRIES within this window, the system will be reset. config NRF_WIFI_RPU_RECOVERY_PS_STATE_DEBUG bool "RPU recovery power save state debug logs" help Enable RPU recovery power save state debug logs to help debug the RPU recovery mechanism. endif # NRF_WIFI_RPU_RECOVERY config NRF_WIFI_FEAT_WMM bool "WMM/QoS support" default y help This option controls disable/enable of the WMM (Wireless Multi-Media) feature. choice NRF_WIFI_PS_DATA_RETRIEVAL_MECHANISM prompt "Power save data retrieval mechanism" default NRF_WIFI_PS_POLL_BASED_RETRIEVAL help Select the mechanism to retrieve buffered data from AP. config NRF_WIFI_PS_POLL_BASED_RETRIEVAL bool "PS-Poll frame-based mechanism to retrieve buffered data from AP" help When the AP notifies about the availability of buffered data, the STA stays in power save and retrieves the frames one-by-one. This conserves more power but adds latency to the traffic. It is ideal for minimum number of frames. config NRF_WIFI_QOS_NULL_BASED_RETRIEVAL bool "QoS null frame-based mechanism to retrieve buffered data from AP" help When the AP notifies about the availability of buffered data, the STA comes out of power save, and then AP can deliver all buffered frames without any additional overhead or latency, but STA enters power save after a delay costing more power depending on the delay. It is ideal for heavy buffered traffic. endchoice config NRF_WIFI_MGMT_BUFF_OFFLOAD bool "Management buffer offload" default y help This option offloads the refilling of management buffers to the UMAC, saving the host from having to exchange commands and events for every management packet even if it is consumed by UMAC. config NRF_WIFI_FEAT_KEEPALIVE bool "Wi-Fi keepalive feature for connection maintenance" depends on NRF70_STA_MODE help Enable the Wi-Fi keepalive feature to keep the connection alive by sending keepalive packets to the AP. This feature is primarily intended to interoperate with APs that disconnect idle clients without any explicit checks. It slightly increases power consumption. if NRF_WIFI_FEAT_KEEPALIVE config NRF_WIFI_KEEPALIVE_PERIOD_S int "Keepalive period in seconds" range 30 3600 default 60 help Keepalive period in seconds to send keepalive packets to the AP. endif choice NRF_WIFI_PS_EXIT_STRATEGY prompt "Power save exit strategy" default NRF_WIFI_PS_INT_PS help Select the power save exit strategy to retrieve buffered data from AP. config NRF_WIFI_PS_EXIT_EVERY_TIM bool "Exit power save every time to retrieve buffered data from AP" help Exit power save every time to retrieve buffered data from AP. Entering back to power save mode might take some time and power. config NRF_WIFI_PS_INT_PS bool "Exit power save based on an intelligent algorithm" help Exit power save based on an intelligent algorithm to retrieve buffered data from the AP. The algorithm tracks the buffered data at the AP and then dynamically decides whether to stay in PS (for a lower amount of buffered data) or exit PS (for a higher amount of buffered data). endchoice config NRF70_PASSIVE_SCAN_ONLY bool "Forced Passive scan" depends on NRF70_SCAN_ONLY help Enable this configuration to force passive scan on all channels. This will override application-specified scan type. endif # WIFI_NRF70 |