1 /* 2 * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 /** 21 * DOC: This file contains configuration definitions for MLME LFR. 22 */ 23 24 #ifndef CFG_MLME_LFR_H__ 25 #define CFG_MLME_LFR_H__ 26 27 #ifdef CONNECTION_ROAMING_CFG 28 # define RoamScan_ActiveCH_DwellTime_min 0 29 # define RoamScan_ActiveCH_DwellTime_max 200 30 # define RoamScan_ActiveCH_DwellTime_default 40 31 # define RoamScan_InactiveCount_min 0 32 # define RoamScan_InactiveCount_max 20 33 # define RoamScan_InactiveCount_default 5 34 # define RoamScan_StepRSSI_min 0 35 # define RoamScan_StepRSSI_max 20 36 # define RoamScan_StepRSSI_default 5 37 # define RoamScan_HomeTime_min 0 38 # define RoamScan_HomeTime_max 200 39 # define RoamScan_HomeTime_default 45 40 # define RoamScan_AwayTime_min 0 41 # define RoamScan_AwayTime_max 200 42 # define RoamScan_AwayTime_default 100 43 # define RoamRSSI_Trigger_min -100 44 # define RoamRSSI_Trigger_max -50 45 # define RoamRSSI_Trigger_default -75 46 # define RoamCU_Trigger_min 60 47 # define RoamCU_Trigger_max 90 48 # define RoamCU_Trigger_default 70 49 # define RoamCU_24GRSSIRange_min -70 50 # define RoamCU_24GRSSIRange_max -50 51 # define RoamCU_24GRSSIRange_default -60 52 # define RoamCU_5GRSSIRange_min -70 53 # define RoamCU_5GRSSIRange_max -50 54 # define RoamCU_5GRSSIRange_default -70 55 # define RoamIdle_TriggerBand_min 0 56 # define RoamIdle_TriggerBand_max 4 57 # define RoamIdle_TriggerBand_default 3 58 # define RoamIdle_MinRSSI_min -70 59 # define RoamIdle_MinRSSI_max -50 60 # define RoamIdle_MinRSSI_default -65 61 # define RoamIdle_RSSIVariation_min 0 62 # define RoamIdle_RSSIVariation_max 10 63 # define RoamIdle_RSSIVariation_default 8 64 # define RoamIdle_InactivePacketCount_min 0 65 # define RoamIdle_InactivePacketCount_max 20 66 # define RoamIdle_InactivePacketCount_default 5 67 # define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0 68 # define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20 69 # define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 6 70 # define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0 71 # define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20 72 # define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 10 73 # define ROAMCU_6GRSSIRANGE_MIN -70 74 # define ROAMCU_6GRSSIRANGE_MAX -50 75 # define ROAMCU_6GRSSIRANGE_DEFAULT -70 76 # define RoamIdle_InactiveTime_default 5 77 #else 78 # define RoamScan_ActiveCH_DwellTime_min 3 79 # define RoamScan_ActiveCH_DwellTime_max 300 80 # define RoamScan_ActiveCH_DwellTime_default 40 81 # define RoamScan_InactiveCount_min 0 82 # define RoamScan_InactiveCount_max 0xFFFFFFFF 83 # define RoamScan_InactiveCount_default 10 84 # define RoamScan_StepRSSI_min 0 85 # define RoamScan_StepRSSI_max 100 86 # define RoamScan_StepRSSI_default 5 87 # define RoamScan_HomeTime_min 3 88 # define RoamScan_HomeTime_max 300 89 # define RoamScan_HomeTime_default 50 90 # define RoamScan_AwayTime_min 0 91 # define RoamScan_AwayTime_max 300 92 # define RoamScan_AwayTime_default 0 93 # define RoamRSSI_Trigger_min -100 94 # define RoamRSSI_Trigger_max -50 95 # define RoamRSSI_Trigger_default -76 96 # define RoamCU_Trigger_min 0 97 # define RoamCU_Trigger_max 100 98 # define RoamCU_Trigger_default 70 99 # define RoamCU_24GRSSIRange_min -120 100 # define RoamCU_24GRSSIRange_max 0 101 # define RoamCU_24GRSSIRange_default -60 102 # define RoamCU_5GRSSIRange_min -120 103 # define RoamCU_5GRSSIRange_max 0 104 # define RoamCU_5GRSSIRange_default -70 105 # define RoamIdle_TriggerBand_min 0 106 # define RoamIdle_TriggerBand_max 2 107 # define RoamIdle_TriggerBand_default 0 108 # define RoamIdle_MinRSSI_min -96 109 # define RoamIdle_MinRSSI_max 0 110 # define RoamIdle_MinRSSI_default -65 111 # define RoamIdle_RSSIVariation_min 0 112 # define RoamIdle_RSSIVariation_max 50 113 # define RoamIdle_RSSIVariation_default 3 114 # define RoamIdle_InactivePacketCount_min 0 115 # define RoamIdle_InactivePacketCount_max 0xFFFFFFFF 116 # define RoamIdle_InactivePacketCount_default 10 117 # define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0 118 # define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20 119 # define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 3 120 # define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0 121 # define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20 122 # define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 5 123 # define ROAMCU_6GRSSIRANGE_MIN -120 124 # define ROAMCU_6GRSSIRANGE_MAX 0 125 # define ROAMCU_6GRSSIRANGE_DEFAULT -70 126 # define RoamIdle_InactiveTime_default 10 127 #endif 128 129 /* 130 * <ini> 131 * RoamScan_PassiveCH_DwellTime - Set max channel time for roam passive scan 132 * @Min: 0 133 * @Max: 200 134 * @Default: 130 135 * 136 * This ini is used to set maximum channel time in msecs spent in 137 * passive scan for roaming 138 * 139 * Related: None 140 * 141 * Usage: External 142 * 143 * </ini> 144 */ 145 #define CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\ 146 "RoamScan_PassiveCH_DwellTime",\ 147 0, \ 148 200, \ 149 130, \ 150 CFG_VALUE_OR_DEFAULT, "roam scan passive dwell time") 151 152 /* 153 * <ini> 154 * mawc_roam_enabled - Enable/Disable MAWC during roaming 155 * @Min: 0 - Disabled 156 * @Max: 1 - Enabled 157 * @Default: 0 158 * 159 * This ini is used to control MAWC during roaming. 160 * 161 * Related: MAWCEnabled. 162 * 163 * Supported Feature: MAWC Roaming 164 * 165 * Usage: Internal/External 166 * 167 * </ini> 168 */ 169 #define CFG_LFR_MAWC_ROAM_ENABLED CFG_INI_BOOL( \ 170 "mawc_roam_enabled", \ 171 0, \ 172 "Enable/Disable MAWC during roaming") 173 174 /* 175 * <ini> 176 * mawc_roam_traffic_threshold - Configure traffic threshold 177 * @Min: 0 178 * @Max: 0xFFFFFFFF 179 * @Default: 300 180 * 181 * This ini is used to configure the data traffic load in kbps to 182 * register CMC. 183 * 184 * Related: mawc_roam_enabled. 185 * 186 * Supported Feature: MAWC Roaming 187 * 188 * Usage: Internal/External 189 * 190 * </ini> 191 */ 192 #define CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD CFG_INI_UINT( \ 193 "mawc_roam_traffic_threshold", \ 194 0, \ 195 0xFFFFFFFF, \ 196 300, \ 197 CFG_VALUE_OR_DEFAULT, \ 198 "Configure traffic threshold") 199 200 /* 201 * <ini> 202 * mawc_roam_ap_rssi_threshold - Best AP RSSI threshold 203 * @Min: -120 204 * @Max: 0 205 * @Default: -66 206 * 207 * This ini is used to specify the RSSI threshold to scan for the AP. 208 * 209 * Related: mawc_roam_enabled. 210 * 211 * Supported Feature: MAWC Roaming 212 * 213 * Usage: Internal/External 214 * 215 * </ini> 216 */ 217 #define CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD CFG_INI_INT( \ 218 "mawc_roam_ap_rssi_threshold", \ 219 -120, \ 220 0, \ 221 -66, \ 222 CFG_VALUE_OR_DEFAULT, \ 223 "Best AP RSSI threshold") 224 225 /* 226 * <ini> 227 * mawc_roam_rssi_high_adjust - Adjust MAWC roam high RSSI 228 * @Min: 3 229 * @Max: 5 230 * @Default: 5 231 * 232 * This ini is used for high RSSI threshold adjustment in stationary state 233 * to suppress the scan. 234 * 235 * Related: mawc_roam_enabled. 236 * 237 * Supported Feature: MAWC Roaming 238 * 239 * Usage: Internal/External 240 * 241 * </ini> 242 */ 243 #define CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST CFG_INI_UINT( \ 244 "mawc_roam_rssi_high_adjust", \ 245 3, \ 246 5, \ 247 5, \ 248 CFG_VALUE_OR_DEFAULT, \ 249 "Adjust MAWC roam high RSSI") 250 251 /* 252 * <ini> 253 * mawc_roam_rssi_low_adjust - Adjust MAWC roam low RSSI 254 * @Min: 3 255 * @Max: 5 256 * @Default: 5 257 * 258 * This ini is used for low RSSI threshold adjustment in stationary state 259 * to suppress the scan. 260 * 261 * Related: mawc_roam_enabled. 262 * 263 * Supported Feature: MAWC Roaming 264 * 265 * Usage: Internal/External 266 * 267 * </ini> 268 */ 269 #define CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST CFG_INI_UINT( \ 270 "mawc_roam_rssi_low_adjust", \ 271 3, \ 272 5, \ 273 5, \ 274 CFG_VALUE_OR_DEFAULT, \ 275 "Adjust MAWC roam low RSSI") 276 277 /* 278 * <ini> 279 * rssi_abs_thresh - The min RSSI of the candidate AP to consider roam 280 * @Min: -96 281 * @Max: 0 282 * @Default: 0 283 * 284 * The RSSI value of the candidate AP should be higher than rssi_abs_thresh 285 * to roam to the AP. 0 means no absolute minimum RSSI is required. 286 * 287 * Related: None 288 * 289 * Supported Feature: Roaming 290 * 291 * Usage: External 292 * 293 * </ini> 294 */ 295 #define CFG_LFR_ROAM_RSSI_ABS_THRESHOLD CFG_INI_INT( \ 296 "rssi_abs_thresh", \ 297 -96, \ 298 0, \ 299 0, \ 300 CFG_VALUE_OR_DEFAULT, \ 301 "The min RSSI of the candidate AP to consider roam") 302 303 /* 304 * <ini> 305 * lookup_threshold_5g_offset - Lookup threshold offset for 5G band 306 * @Min: -120 307 * @Max: 120 308 * @Default: 0 309 * 310 * This ini is used to set the 5G band lookup threshold for roaming. 311 * It depends on another INI which is gNeighborLookupThreshold. 312 * gNeighborLookupThreshold is a legacy INI item which will be used to 313 * set the RSSI lookup threshold for both 2G and 5G bands. If the 314 * user wants to setup a different threshold for a 5G band, then user 315 * can use this offset value which will be summed up to the value of 316 * gNeighborLookupThreshold and used for 5G 317 * e.g: gNeighborLookupThreshold = -76dBm 318 * lookup_threshold_5g_offset = 6dBm 319 * Then the 5G band will be configured to -76+6 = -70dBm 320 * A default value of Zero to lookup_threshold_5g_offset will keep the 321 * thresholds same for both 2G and 5G bands 322 * 323 * Related: gNeighborLookupThreshold 324 * 325 * Supported Feature: Roaming 326 * 327 * Usage: Internal/External 328 * 329 * </ini> 330 */ 331 #define CFG_LFR_5G_RSSI_THRESHOLD_OFFSET CFG_INI_INT( \ 332 "lookup_threshold_5g_offset", \ 333 -120, \ 334 120, \ 335 0, \ 336 CFG_VALUE_OR_DEFAULT, \ 337 "Lookup threshold offset for 5G band") 338 339 /* 340 * <ini> 341 * gEnableFastRoamInConcurrency - Enable LFR roaming on STA during concurrency 342 * @Min: 0 343 * @Max: 1 344 * @Default: 1 345 * 346 * This INI is used to enable Legacy fast roaming(LFR) on STA link during 347 * concurrent sessions. 348 * 349 * Related: None 350 * 351 * Supported Feature: Roaming 352 * 353 * Usage: External 354 * 355 * </ini> 356 */ 357 #define CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY CFG_INI_BOOL( \ 358 "gEnableFastRoamInConcurrency", \ 359 1, \ 360 "Enable LFR roaming on STA during concurrency") 361 362 /* 363 * <ini> 364 * gEnableEarlyStopScan - Set early stop scan 365 * @Min: 0 366 * @Max: 1 367 * @Default: 0 368 * 369 * This ini is used to set early stop scan. Early stop 370 * scan is a feature for roaming to stop the scans at 371 * an early stage as soon as we find a better AP to roam. 372 * This would make the roaming happen quickly. 373 * 374 * Related: None 375 * 376 * Supported Feature: LFR Scan 377 * 378 * Usage: External 379 * 380 * </ini> 381 */ 382 #define CFG_LFR_EARLY_STOP_SCAN_ENABLE CFG_INI_BOOL( \ 383 "gEnableEarlyStopScan", \ 384 0, \ 385 "Set early stop scan") 386 387 /* 388 * <ini> 389 * gEarlyStopScanMinThreshold - Set early stop scan min 390 * threshold 391 * @Min: -80 392 * @Max: -70 393 * @Default: -73 394 * 395 * This ini is used to set the early stop scan minimum 396 * threshold. Early stop scan minimum threshold is the 397 * minimum threshold to be considered for stopping the 398 * scan. The algorithm starts with a scan on the greedy 399 * channel list with the maximum threshold and steps down 400 * the threshold by 20% for each further channel. It can 401 * step down on each channel but cannot go lower than the 402 * minimum threshold. 403 * 404 * Related: None 405 * 406 * Supported Feature: Scan 407 * 408 * Usage: External 409 * 410 * </ini> 411 */ 412 #define CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD CFG_INI_INT( \ 413 "gEarlyStopScanMinThreshold", \ 414 -80, \ 415 -70, \ 416 -73, \ 417 CFG_VALUE_OR_DEFAULT, \ 418 "Set early stop scan min") 419 420 /* 421 * <ini> 422 * gEarlyStopScanMaxThreshold - Set early stop scan max 423 * threshold 424 * @Min: -60 425 * @Max: -40 426 * @Default: -43 427 * 428 * This ini is used to set the the early stop scan maximum 429 * threshold at which the candidate AP should be to be 430 * qualified as a potential roam candidate and good enough 431 * to stop the roaming scan. 432 * 433 * Related: None 434 * 435 * Supported Feature: Scan 436 * 437 * Usage: External 438 * 439 * </ini> 440 */ 441 #define CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD CFG_INI_INT( \ 442 "gEarlyStopScanMaxThreshold", \ 443 -60, \ 444 -40, \ 445 -43, \ 446 CFG_VALUE_OR_DEFAULT, \ 447 "Set early stop scan max") 448 449 /* 450 * <ini> 451 * gtraffic_threshold - Dense traffic threshold 452 * @Min: 0 453 * @Max: 0xffffffff 454 * @Default: 400 455 * 456 * Dense traffic threshold 457 * traffic threshold required for dense roam scan 458 * Measured in kbps 459 * 460 * Related: None 461 * 462 * Supported Feature: Roaming 463 * 464 * Usage: External 465 * 466 * </ini> 467 */ 468 #define CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD CFG_INI_UINT( \ 469 "gtraffic_threshold", \ 470 0, \ 471 0xffffffff, \ 472 400, \ 473 CFG_VALUE_OR_DEFAULT, \ 474 "Dense traffic threshold") 475 476 /* 477 * <ini> 478 * groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff 479 * @Min: 0 480 * @Max: 20 481 * @Default: 10 482 * 483 * This INI is used to set offset value from normal RSSI threshold to dense 484 * RSSI threshold FW will optimize roaming based on new RSSI threshold once 485 * it detects dense environment. 486 * 487 * Related: None 488 * 489 * Supported Feature: Roaming 490 * 491 * Usage: External 492 * 493 * </ini> 494 */ 495 #define CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET CFG_INI_UINT( \ 496 "groam_dense_rssi_thresh_offset", \ 497 0, \ 498 20, \ 499 10, \ 500 CFG_VALUE_OR_DEFAULT, \ 501 "Dense traffic threshold") 502 503 /* 504 * <ini> 505 * groam_dense_min_aps - Sets minimum number of AP for dense roam 506 * @Min: 1 507 * @Max: 5 508 * @Default: 3 509 * 510 * Minimum number of APs required for dense roam. FW will consider 511 * environment as dense once it detects #APs operating is more than 512 * groam_dense_min_aps. 513 * 514 * Related: None 515 * 516 * Supported Feature: Roaming 517 * 518 * Usage: External 519 * 520 * </ini> 521 */ 522 #define CFG_LFR_ROAM_DENSE_MIN_APS CFG_INI_UINT( \ 523 "groam_dense_min_aps", \ 524 1, \ 525 5, \ 526 3, \ 527 CFG_VALUE_OR_DEFAULT, \ 528 "Sets minimum number of AP for dense roam") 529 530 /* 531 * <ini> 532 * roam_bg_scan_bad_rssi_thresh - RSSI threshold for background roam 533 * @Min: -96 534 * @Max: 0 535 * @Default: -76 536 * 537 * If the DUT is connected to an AP with weak signal, then the bad RSSI 538 * threshold will be used as an opportunity to use the scan results 539 * from other scan clients and try to roam if there is a better AP 540 * available in the environment. 541 * 542 * Related: None 543 * 544 * Supported Feature: Roaming 545 * 546 * Usage: External 547 * 548 * </ini> 549 */ 550 #define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD CFG_INI_INT( \ 551 "roam_bg_scan_bad_rssi_thresh", \ 552 -96, \ 553 0, \ 554 -76, \ 555 CFG_VALUE_OR_DEFAULT, \ 556 "RSSI threshold for background roam") 557 558 /* 559 * <ini> 560 * roam_bg_scan_client_bitmap - Bitmap used to identify the scan clients 561 * @Min: 0 562 * @Max: 0x7FF 563 * @Default: 0x424 564 * 565 * This bitmap is used to define the client scans that need to be used 566 * by the roaming module to perform a background roaming. 567 * Currently supported bit positions are as follows: 568 * Bit 0 is reserved in the firmware. 569 * WMI_SCAN_CLIENT_NLO - 1 570 * WMI_SCAN_CLIENT_EXTSCAN - 2 571 * WMI_SCAN_CLIENT_ROAM - 3 572 * WMI_SCAN_CLIENT_P2P - 4 573 * WMI_SCAN_CLIENT_LPI - 5 574 * WMI_SCAN_CLIENT_NAN - 6 575 * WMI_SCAN_CLIENT_ANQP - 7 576 * WMI_SCAN_CLIENT_OBSS - 8 577 * WMI_SCAN_CLIENT_PLM - 9 578 * WMI_SCAN_CLIENT_HOST - 10 579 * 580 * Related: None 581 * 582 * Supported Feature: Roaming 583 * 584 * Usage: External 585 * 586 * </ini> 587 */ 588 #define CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP CFG_INI_UINT( \ 589 "roam_bg_scan_client_bitmap", \ 590 0, \ 591 0x7FF, \ 592 0x424, \ 593 CFG_VALUE_OR_DEFAULT, \ 594 "Bitmap used to identify the scan clients") 595 596 /* 597 * <ini> 598 * roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam 599 * @Min: 0 600 * @Max: 86 601 * @Default: 40 602 * 603 * If the DUT is connected to an AP with weak signal in 2G band, then the 604 * bad RSSI offset for 2g would be used as offset from the bad RSSI 605 * threshold configured and then use the resulting rssi for an opportunity 606 * to use the scan results from other scan clients and try to roam to 607 * 5G Band ONLY if there is a better AP available in the environment. 608 * 609 * For example if the roam_bg_scan_bad_rssi_thresh is -76 and 610 * roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be 611 * used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP 612 * 613 * Related: roam_bg_scan_bad_rssi_thresh 614 * 615 * Supported Feature: Roaming 616 * 617 * Usage: External 618 * 619 * </ini> 620 */ 621 #define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G CFG_INI_UINT( \ 622 "roam_bad_rssi_thresh_offset_2g", \ 623 0, \ 624 86, \ 625 40, \ 626 CFG_VALUE_OR_DEFAULT, \ 627 "RSSI threshold offset for 2G to 5G roam") 628 629 /* 630 * <ini> 631 * roam_data_rssi_threshold_triggers - triggers of data rssi threshold for roam 632 * @Min: 0 633 * @Max: 0xffff 634 * @Default: 0x3 635 * 636 * If the DUT is connected to an AP with weak signal, during latest 637 * rx_data_inactivity_time, if there is no activity or avg of data_rssi is 638 * better than roam_data_rssi_threshold(-70dbM), then suppress roaming 639 * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan. 640 * Triggers bitmap definition: 641 * ROAM_DATA_RSSI_FLAG_LOW_RSSI 1<<0 642 * ROAM_DATA_RSSI_FLAG_BACKGROUND 1<<1 643 * 644 * Related: None 645 * 646 * Supported Feature: Roaming 647 * 648 * Usage: External 649 * 650 * </ini> 651 */ 652 #define CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS CFG_INI_UINT( \ 653 "roam_data_rssi_threshold_triggers", \ 654 0, \ 655 0xffff, \ 656 0x3, \ 657 CFG_VALUE_OR_DEFAULT, \ 658 "Triggers of DATA RSSI threshold for roam") 659 660 /* 661 * <ini> 662 * roam_data_rssi_threshold - Data RSSI threshold for background roam 663 * @Min: -96 664 * @Max: 0 665 * @Default: -70 666 * 667 * If the DUT is connected to an AP with weak signal, during latest 668 * rx_data_inactivity_time, if there is no activity or avg of data_rssi is 669 * better than roam_data_rssi_threshold(-70dbM), then suppress roaming 670 * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan. 671 * 672 * Related: None 673 * 674 * Supported Feature: Roaming 675 * 676 * Usage: External 677 * 678 * </ini> 679 */ 680 #define CFG_ROAM_DATA_RSSI_THRESHOLD CFG_INI_INT( \ 681 "roam_data_rssi_threshold", \ 682 -96, \ 683 0, \ 684 -70, \ 685 CFG_VALUE_OR_DEFAULT, \ 686 "DATA RSSI threshold for roam") 687 688 /* 689 * <ini> 690 * rx_data_inactivity_time - Duration to check data rssi 691 * @Min: 0 692 * @Max: 100000 ms 693 * @Default: 2000 694 * 695 * If the DUT is connected to an AP with weak signal, during latest 696 * rx_data_inactivity_time, if there is no activity or avg of data_rssi is 697 * better than roam_data_rssi_threshold(-70dbM), then suppress roaming 698 * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan. 699 * 700 * Related: None 701 * 702 * Supported Feature: Roaming 703 * 704 * Usage: External 705 * 706 * </ini> 707 */ 708 #define CFG_RX_DATA_INACTIVITY_TIME CFG_INI_UINT( \ 709 "rx_data_inactivity_time", \ 710 0, \ 711 100000, \ 712 2000, \ 713 CFG_VALUE_OR_DEFAULT, \ 714 "Rx inactivity time to check data rssi") 715 716 /* 717 * <ini> 718 * roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode 719 * @Min: 0 720 * @Max: 4 721 * @Default: 4 722 * 723 * This parameter will set the algo used in dwell time optimization during 724 * roam scan. see enum scan_dwelltime_adaptive_mode. 725 * Acceptable values for this: 726 * 0: Default (Use firmware default mode) 727 * 1: Conservative optimization 728 * 2: Moderate optimization 729 * 3: Aggressive optimization 730 * 4: Static 731 * 732 * Related: None 733 * 734 * Supported Feature: Roaming 735 * 736 * Usage: External 737 * 738 * </ini> 739 */ 740 #define CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE CFG_INI_UINT( \ 741 "roamscan_adaptive_dwell_mode", \ 742 0, \ 743 4, \ 744 4, \ 745 CFG_VALUE_OR_DEFAULT, \ 746 "Sets dwell time adaptive mode") 747 748 /* 749 * <ini> 750 * gper_roam_enabled - To enabled/disable PER based roaming in FW 751 * @Min: 0 752 * @Max: 3 753 * @Default: 3 754 * 755 * This ini is used to enable/disable Packet error based roaming, enabling this 756 * will cause DUT to monitor Tx and Rx traffic and roam to a better candidate 757 * if current is not good enough. 758 * 759 * Values supported: 760 * 0: disabled 761 * 1: enabled for Rx traffic 762 * 2: enabled for Tx traffic 763 * 3: enabled for Tx and Rx traffic 764 * 765 * Related: gper_roam_high_rate_th, gper_roam_low_rate_th, 766 * gper_roam_th_percent, gper_roam_rest_time 767 * 768 * Supported Feature: LFR-3.0 769 * 770 * Usage: Internal 771 * 772 * </ini> 773 */ 774 #define CFG_LFR_PER_ROAM_ENABLE CFG_INI_UINT( \ 775 "gper_roam_enabled", \ 776 0, \ 777 3, \ 778 3, \ 779 CFG_VALUE_OR_DEFAULT, \ 780 "To enabled/disable PER based roaming in FW") 781 782 /* 783 * <ini> 784 * gper_roam_high_rate_th - Rate at which PER based roam will stop 785 * @Min: 1 Mbps 786 * @Max: 0xffffffff 787 * @Default: 40 Mbps 788 * 789 * This ini is used to define the data rate in mbps*10 at which FW will stop 790 * monitoring the traffic for PER based roam. 791 * 792 * Related: gper_roam_enabled, gper_roam_low_rate_th, 793 * gper_roam_th_percent, gper_roam_rest_time 794 * 795 * Supported Feature: LFR-3.0 796 * 797 * Usage: Internal 798 * 799 * </ini> 800 */ 801 #define CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH CFG_INI_UINT( \ 802 "gper_roam_high_rate_th", \ 803 10, \ 804 0xffffffff, \ 805 400, \ 806 CFG_VALUE_OR_DEFAULT, \ 807 "Rate at which PER based roam will stop") 808 809 /* 810 * <ini> 811 * gper_roam_low_rate_th - Rate at which FW starts considering traffic for PER 812 * based roam. 813 * 814 * @Min: 1 Mbps 815 * @Max: 0xffffffff 816 * @Default: 20 Mbps 817 * 818 * This ini is used to define the rate in mbps*10 at which FW starts considering 819 * traffic for PER based roam, if gper_roam_th_percent of data is below this 820 * rate, FW will issue a roam scan. 821 * 822 * Related: gper_roam_enabled, gper_roam_high_rate_th, 823 * gper_roam_th_percent, gper_roam_rest_time 824 * 825 * Supported Feature: LFR-3.0 826 * 827 * Usage: Internal 828 * 829 * </ini> 830 */ 831 #define CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH CFG_INI_UINT( \ 832 "gper_roam_low_rate_th", \ 833 10, \ 834 0xffffffff, \ 835 200, \ 836 CFG_VALUE_OR_DEFAULT, \ 837 "Rate at which FW starts considering traffic for PER") 838 839 /* 840 * <ini> 841 * gper_roam_th_percent - Percentage at which FW will issue a roam scan if 842 * traffic is below gper_roam_low_rate_th rate. 843 * 844 * @Min: 10% 845 * @Max: 100% 846 * @Default: 60% 847 * 848 * This ini is used to define the percentage at which FW will issue a roam scan 849 * if traffic is below gper_roam_low_rate_th rate. 850 * 851 * Related: gper_roam_enabled, gper_roam_high_rate_th, 852 * gper_roam_high_rate_th, gper_roam_rest_time 853 * 854 * Supported Feature: LFR-3.0 855 * 856 * Usage: Internal 857 * 858 * </ini> 859 */ 860 #define CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT CFG_INI_UINT( \ 861 "gper_roam_th_percent", \ 862 10, \ 863 100, \ 864 60, \ 865 CFG_VALUE_OR_DEFAULT, \ 866 "Percentage at which FW will issue a roam scan") 867 868 /* 869 * <ini> 870 * gper_roam_rest_time - Time for which FW will wait once it issues a 871 * roam scan. 872 * 873 * @Min: 10 seconds 874 * @Max: 3600 seconds 875 * @Default: 300 seconds 876 * 877 * This ini is used to define the time for which FW will wait once it issues a 878 * PER based roam scan. 879 * 880 * Related: gper_roam_enabled, gper_roam_high_rate_th, 881 * gper_roam_high_rate_th, gper_roam_th_percent 882 * 883 * Supported Feature: LFR-3.0 884 * 885 * Usage: Internal 886 * 887 * </ini> 888 */ 889 #define CFG_LFR_PER_ROAM_REST_TIME CFG_INI_UINT( \ 890 "gper_roam_rest_time", \ 891 10, \ 892 3600, \ 893 300, \ 894 CFG_VALUE_OR_DEFAULT, \ 895 "Time for which FW will wait once it issues a roam scan") 896 897 /* 898 * <ini> 899 * gper_roam_mon_time - Minimum time required in seconds to 900 * be considered as valid scenario for PER based roam 901 * @Min: 5 902 * @Max: 25 903 * @Default: 25 904 * 905 * This ini is used to define minimum time in seconds for which DUT has 906 * collected the PER stats before it can consider the stats hysteresis to be 907 * valid for PER based scan. 908 * DUT collects following information during this period: 909 * 1. % of packets below gper_roam_low_rate_th 910 * 2. # packets above gper_roam_high_rate_th 911 * if DUT gets (1) greater than gper_roam_th_percent and (2) is zero during 912 * this period, it triggers PER based roam scan. 913 * 914 * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th, 915 * gper_roam_th_percent, gper_roam_rest_time 916 * 917 * Supported Feature: LFR-3.0 918 * 919 * Usage: Internal 920 * 921 * </ini> 922 */ 923 #define CFG_LFR_PER_ROAM_MONITOR_TIME CFG_INI_UINT( \ 924 "gper_roam_mon_time", \ 925 5, \ 926 25, \ 927 25, \ 928 CFG_VALUE_OR_DEFAULT, \ 929 "Minimum time to be considered as valid scenario for PER based roam") 930 931 /* 932 * <ini> 933 * gper_min_rssi_threshold_for_roam - Minimum roamable AP RSSI for 934 * candidate selection for PER based roam 935 * @Min: 0 936 * @Max: 96 937 * @Default: 83 938 * 939 * Minimum roamable AP RSSI for candidate selection for PER based roam 940 * 941 * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th, 942 * gper_roam_th_percent, gper_roam_rest_time 943 * 944 * Supported Feature: LFR-3.0 945 * 946 * Usage: Internal 947 * 948 * </ini> 949 */ 950 #define CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI CFG_INI_UINT( \ 951 "gper_min_rssi_threshold_for_roam", \ 952 10, \ 953 96, \ 954 83, \ 955 CFG_VALUE_OR_DEFAULT, \ 956 "Minimum roamable AP RSSI for candidate selection for PER based roam") 957 958 /* 959 * <ini> 960 * groam_disallow_duration - disallow duration before roaming 961 * @Min: 0 962 * @Max: 3600 963 * @Default: 30 964 * 965 * This ini is used to configure how long LCA[Last Connected AP] AP will 966 * be disallowed before it can be a roaming candidate again, in units of 967 * seconds. 968 * 969 * Related: LFR 970 * 971 * Usage: Internal 972 * 973 * </ini> 974 */ 975 #define CFG_LFR3_ROAM_DISALLOW_DURATION CFG_INI_UINT( \ 976 "groam_disallow_duration", \ 977 0, \ 978 3600, \ 979 30, \ 980 CFG_VALUE_OR_DEFAULT, \ 981 "disallow duration before roaming") 982 983 /* 984 * <ini> 985 * grssi_channel_penalization - RSSI penalization 986 * @Min: 0 987 * @Max: 15 988 * @Default: 5 989 * 990 * This ini is used to configure RSSI that will be penalized if candidate(s) 991 * are found to be in the same channel as disallowed AP's, in units of db. 992 * 993 * Related: LFR 994 * 995 * Usage: Internal 996 * 997 * </ini> 998 */ 999 #define CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION CFG_INI_UINT( \ 1000 "grssi_channel_penalization", \ 1001 0, \ 1002 15, \ 1003 5, \ 1004 CFG_VALUE_OR_DEFAULT, \ 1005 "RSSI penalization") 1006 1007 /* 1008 * <ini> 1009 * groam_num_disallowed_aps - Max number of AP's to maintain in LCA list 1010 * @Min: 0 1011 * @Max: 8 1012 * @Default: 3 1013 * 1014 * This ini is used to set the maximum number of AP's to be maintained 1015 * in LCA [Last Connected AP] list. 1016 * 1017 * Related: LFR 1018 * 1019 * Usage: Internal 1020 * 1021 * </ini> 1022 */ 1023 #define CFG_LFR3_ROAM_NUM_DISALLOWED_APS CFG_INI_UINT( \ 1024 "groam_num_disallowed_aps", \ 1025 0, \ 1026 8, \ 1027 3, \ 1028 CFG_VALUE_OR_DEFAULT, \ 1029 "Max number of AP's to maintain in LCA list") 1030 1031 /* 1032 * <ini> 1033 * enable_5g_band_pref - Enable preference for 5G from INI. 1034 * @Min: 0 1035 * @Max: 1 1036 * @Default: 0 1037 * This ini is used to enable 5G preference parameters. 1038 * 1039 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost 1040 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize 1041 * 1042 * Supported Feature: 5G band preference 1043 * 1044 * Usage: External 1045 * 1046 * </ini> 1047 */ 1048 #define CFG_LFR_ENABLE_5G_BAND_PREF CFG_INI_BOOL( \ 1049 "enable_5g_band_pref", \ 1050 0, \ 1051 "Enable preference for 5G from INI") 1052 1053 /* 1054 * <ini> 1055 * 5g_rssi_boost_threshold - A_band_boost_threshold above which 5G is favored. 1056 * @Min: -70 1057 * @Max: -55 1058 * @Default: -60 1059 * This ini is used to set threshold for 5GHz band preference. 1060 * 1061 * Related: 5g_rssi_boost_factor, 5g_max_rssi_boost 1062 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize 1063 * 1064 * Supported Feature: 5G band preference 1065 * 1066 * Usage: External 1067 * 1068 * </ini> 1069 */ 1070 #define CFG_LFR_5G_RSSI_BOOST_THRESHOLD CFG_INI_INT( \ 1071 "5g_rssi_boost_threshold", \ 1072 -70, \ 1073 -55, \ 1074 -60, \ 1075 CFG_VALUE_OR_DEFAULT, \ 1076 "A_band_boost_threshold above which 5 GHz is favored") 1077 1078 /* 1079 * <ini> 1080 * 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted. 1081 * @Min: 0 1082 * @Max: 2 1083 * @Default: 1 1084 * This ini is used to set the 5Ghz boost factor. 1085 * 1086 * Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost 1087 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize 1088 * 1089 * Supported Feature: 5G band preference 1090 * 1091 * Usage: External 1092 * 1093 * </ini> 1094 */ 1095 #define CFG_LFR_5G_RSSI_BOOST_FACTOR CFG_INI_UINT( \ 1096 "5g_rssi_boost_factor", \ 1097 0, \ 1098 2, \ 1099 1, \ 1100 CFG_VALUE_OR_DEFAULT, \ 1101 "Factor by which 5GHz RSSI is boosted") 1102 1103 /* 1104 * <ini> 1105 * 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI. 1106 * @Min: 0 1107 * @Max: 20 1108 * @Default: 10 1109 * This ini is used to set maximum boost which can be given to a 5Ghz network. 1110 * 1111 * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor 1112 * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize 1113 * 1114 * Supported Feature: 5G band preference 1115 * 1116 * Usage: External 1117 * 1118 * </ini> 1119 */ 1120 #define CFG_LFR_5G_MAX_RSSI_BOOST CFG_INI_UINT( \ 1121 "5g_max_rssi_boost", \ 1122 0, \ 1123 20, \ 1124 10, \ 1125 CFG_VALUE_OR_DEFAULT, \ 1126 "Maximum boost that can be applied to 5GHz RSSI") 1127 1128 /* 1129 * <ini> 1130 * 5g_rssi_penalize_threshold - A_band_penalize_threshold above which 1131 * 5 GHz is not favored. 1132 * @Min: -80 1133 * @Max: -65 1134 * @Default: -70 1135 * This ini is used to set threshold for 5GHz band preference. 1136 * 1137 * Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize 1138 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost 1139 * 1140 * Supported Feature: 5G band preference 1141 * 1142 * Usage: External 1143 * 1144 * </ini> 1145 */ 1146 #define CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD CFG_INI_INT( \ 1147 "5g_rssi_penalize_threshold", \ 1148 -80, \ 1149 -65, \ 1150 -70, \ 1151 CFG_VALUE_OR_DEFAULT, \ 1152 "A_band_penalize_threshold above which 5 GHz is not favored") 1153 1154 /* 1155 * <ini> 1156 * 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed. 1157 * @Min: 0 1158 * @Max: 2 1159 * @Default: 1 1160 * This ini is used to set the 5Ghz penalize factor. 1161 * 1162 * Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize 1163 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost 1164 * 1165 * Supported Feature: 5G band preference 1166 * 1167 * Usage: External 1168 * 1169 * </ini> 1170 */ 1171 #define CFG_LFR_5G_RSSI_PENALIZE_FACTOR CFG_INI_UINT( \ 1172 "5g_rssi_penalize_factor", \ 1173 0, \ 1174 2, \ 1175 1, \ 1176 CFG_VALUE_OR_DEFAULT, \ 1177 "Factor by which 5GHz RSSI is penalizeed") 1178 1179 /* 1180 * <ini> 1181 * 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI. 1182 * @Min: 0 1183 * @Max: 20 1184 * @Default: 10 1185 * This ini is used to set maximum penalty which can be given to a 5Ghz network. 1186 * 1187 * Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor 1188 * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost 1189 * 1190 * Supported Feature: 5G band preference 1191 * 1192 * Usage: External 1193 * 1194 * </ini> 1195 */ 1196 #define CFG_LFR_5G_MAX_RSSI_PENALIZE CFG_INI_UINT( \ 1197 "5g_max_rssi_penalize", \ 1198 0, \ 1199 20, \ 1200 10, \ 1201 CFG_VALUE_OR_DEFAULT, \ 1202 "Maximum penalty that can be applied to 5GHz RSSI") 1203 1204 /* 1205 * <ini> 1206 * max_num_pre_auth - Configure max number of pre-auth 1207 * @Min: 0 1208 * @Max: 256 1209 * @Default: 64 1210 * 1211 * This ini is used to configure the data max number of pre-auth 1212 * 1213 * Usage: Internal 1214 * 1215 * </ini> 1216 */ 1217 #define CFG_LFR_MAX_NUM_PRE_AUTH CFG_UINT( \ 1218 "max_num_pre_auth", \ 1219 0, \ 1220 256, \ 1221 64, \ 1222 CFG_VALUE_OR_DEFAULT, \ 1223 "") 1224 1225 /* 1226 * <ini> 1227 * roam_preauth_retry_count 1228 * 1229 * @Min: 1 1230 * @Max: 10 1231 * @Default: 5 1232 * 1233 * The maximum number of software retries for preauth or 1234 * reassoc made before picking up the next candidate for 1235 * connection during roaming. 1236 * 1237 * Related: N/A 1238 * 1239 * Supported Features: Roaming 1240 * 1241 * Usage: Internal/External 1242 * 1243 * </ini> 1244 */ 1245 #define CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT CFG_INI_INT( \ 1246 "roam_preauth_retry_count", \ 1247 1, \ 1248 10, \ 1249 5, \ 1250 CFG_VALUE_OR_DEFAULT, \ 1251 "The maximum number of software retries for preauth") 1252 1253 /* 1254 * <ini> 1255 * roam_preauth_no_ack_timeout 1256 * 1257 * @Min: 5 1258 * @Max: 50 1259 * @Default: 5 1260 * 1261 * Time to wait (in ms) after sending an preauth or reassoc 1262 * request which didn't have an ack, before considering 1263 * it as a failure and making another software retry. 1264 * 1265 * Related: N/A 1266 * 1267 * Supported Features: Roaming 1268 * 1269 * Usage: Internal/External 1270 * 1271 * </ini> 1272 */ 1273 #define CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT CFG_INI_INT( \ 1274 "roam_preauth_no_ack_timeout", \ 1275 5, \ 1276 50, \ 1277 5, \ 1278 CFG_VALUE_OR_DEFAULT, \ 1279 "Time to wait after sending an preauth or reassoc") 1280 1281 /* 1282 * <ini> 1283 * FastRoamEnabled - Enable fast roaming 1284 * @Min: 0 1285 * @Max: 1 1286 * @Default: 1 1287 * 1288 * This ini is used to inform FW to enable fast roaming 1289 * 1290 * Related: None 1291 * 1292 * Supported Feature: Roaming 1293 * 1294 * Usage: External 1295 * 1296 * </ini> 1297 */ 1298 #define CFG_LFR_FEATURE_ENABLED CFG_INI_BOOL( \ 1299 "FastRoamEnabled", \ 1300 1, \ 1301 "Enable fast roaming") 1302 1303 /* 1304 * <ini> 1305 * MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global 1306 * @Min: 0 - Disabled 1307 * @Max: 1 - Enabled 1308 * @Default: 0 1309 * 1310 * This ini is used to controls the MAWC feature globally. 1311 * MAWC is Motion Aided Wireless Connectivity. 1312 * 1313 * Related: mawc_roam_enabled. 1314 * 1315 * Supported Feature: Roaming and PNO/NLO 1316 * 1317 * Usage: Internal/External 1318 * 1319 * </ini> 1320 */ 1321 #define CFG_LFR_MAWC_FEATURE_ENABLED CFG_INI_BOOL( \ 1322 "MAWCEnabled", \ 1323 0, \ 1324 "Enable MAWC") 1325 1326 /* 1327 * <ini> 1328 * FastTransitionEnabled - Enable fast transition in case of 11r and ese. 1329 * @Min: 0 1330 * @Max: 1 1331 * @Default: 1 1332 * 1333 * This ini is used to turn ON/OFF the whole neighbor roam, pre-auth, reassoc. 1334 * With this turned OFF 11r will completely not work. For 11r this flag has to 1335 * be ON. For ESE fastroam will not work. 1336 * 1337 * Related: None 1338 * 1339 * Supported Feature: Roaming 1340 * 1341 * Usage: External 1342 * 1343 * </ini> 1344 */ 1345 #define CFG_LFR_FAST_TRANSITION_ENABLED CFG_INI_BOOL( \ 1346 "FastTransitionEnabled", \ 1347 1, \ 1348 "Enable fast transition") 1349 1350 /* 1351 * <ini> 1352 * RoamRssiDiff - Enable roam based on rssi 1353 * @Min: 0 1354 * @Max: 100 1355 * @Default: 5 1356 * 1357 * This INI is used to decide whether to Roam or not based on RSSI. AP1 is the 1358 * currently associated AP and AP2 is chosen for roaming. The Roaming will 1359 * happen only if AP2 has better Signal Quality and it has a RSSI better than 1360 * AP2. RoamRssiDiff is the number of units (typically measured in dB) AP2 1361 * is better than AP1. 1362 * 1363 * Related: None 1364 * 1365 * Supported Feature: Roaming 1366 * 1367 * Usage: External 1368 * 1369 * </ini> 1370 */ 1371 #define CFG_LFR_ROAM_RSSI_DIFF CFG_INI_UINT( \ 1372 "RoamRssiDiff", \ 1373 0, \ 1374 100, \ 1375 5, \ 1376 CFG_VALUE_OR_DEFAULT, \ 1377 "Enable roam based on rssi") 1378 1379 /* 1380 * <ini> 1381 * RoamRssiDiff6GHz - Enable roam to 6 GHz AP based on rssi 1382 * @Min: 0 1383 * @Max: 100 1384 * @Default: 5 1385 * 1386 * This INI is used to decide whether to roam to 6 GHz AP or not based on RSSI. 1387 * AP1 is the currently associated AP(2.4 GHz / 5 GHz) and AP2(6 GHz) is chosen 1388 * for roaming. The Roaming will happen only if AP2 has better Signal Quality 1389 * and it has a RSSI better than AP1. RoamRssiDiff6GHz is the number of units 1390 * (typically measured in dB) AP2 is better than AP1. 1391 * 1392 * Related: None 1393 * 1394 * Supported Feature: Roaming 1395 * 1396 * Usage: External 1397 * 1398 * </ini> 1399 */ 1400 #define CFG_LFR_ROAM_RSSI_DIFF_6GHZ CFG_INI_UINT( \ 1401 "RoamRssiDiff6GHz", \ 1402 0, \ 1403 100, \ 1404 5, \ 1405 CFG_VALUE_OR_DEFAULT, \ 1406 "Enable 6 GHz roam based on rssi") 1407 1408 /* 1409 * <ini> 1410 * bg_rssi_threshold - To set RSSI Threshold for BG scan roaming 1411 * @Min: 0 1412 * @Max: 100 1413 * @Default: 5 1414 * 1415 * This INI is used to set the value of rssi threshold to trigger roaming 1416 * after background scan. To trigger roam after bg scan, value of rssi of 1417 * candidate AP should be higher by this threshold than the rssi of the 1418 * currently associated AP. 1419 * 1420 * Related: RoamRssiDiff 1421 * 1422 * Supported Feature: Roaming 1423 * 1424 * Usage: External 1425 * 1426 * </ini> 1427 */ 1428 #define CFG_LFR_ROAM_BG_RSSI_TH CFG_INI_UINT( \ 1429 "bg_rssi_threshold", \ 1430 0, \ 1431 100, \ 1432 5, \ 1433 CFG_VALUE_OR_DEFAULT, \ 1434 "Enable roam based on rssi after BG scan") 1435 1436 /* 1437 * <ini> 1438 * gWESModeEnabled - Enable WES mode 1439 * @Min: 0 1440 * @Max: 1 1441 * @Default: 0 1442 * 1443 * This ini is used to enable/disable Wireless Extended Security mode. 1444 * 1445 * Related: None 1446 * 1447 * Supported Feature: Roaming 1448 * 1449 * Usage: External 1450 * 1451 * </ini> 1452 */ 1453 #define CFG_LFR_ENABLE_WES_MODE CFG_INI_BOOL( \ 1454 "gWESModeEnabled", \ 1455 0, \ 1456 "Enable WES mode") 1457 1458 /* 1459 * <ini> 1460 * gRoamScanOffloadEnabled - Enable Roam Scan Offload 1461 * @Min: 0 1462 * @Max: 1 1463 * @Default: 1 1464 * 1465 * This INI is used to enable Roam Scan Offload in firmware 1466 * 1467 * Related: None 1468 * 1469 * Supported Feature: Roaming 1470 * 1471 * Usage: External 1472 * 1473 * </ini> 1474 */ 1475 #define CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED CFG_INI_BOOL( \ 1476 "gRoamScanOffloadEnabled", \ 1477 1, \ 1478 "Enable Roam Scan Offload") 1479 1480 /* 1481 * <ini> 1482 * gNeighborScanChannelList - Set channels to be scanned 1483 * by firmware for LFR scan 1484 * @Default: "" 1485 * 1486 * This ini is used to set the channels to be scanned 1487 * by firmware for LFR scan. 1488 * 1489 * Related: None 1490 * 1491 * Supported Feature: LFR Scan 1492 * 1493 * Usage: External 1494 * 1495 * </ini> 1496 */ 1497 1498 #define CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST CFG_INI_STRING( \ 1499 "gNeighborScanChanList", \ 1500 0, \ 1501 CFG_VALID_CHANNEL_LIST_STRING_LEN, \ 1502 "", \ 1503 "Set channels to be scanned") 1504 1505 /* 1506 * <ini> 1507 * gNeighborScanTimerPeriod - Set neighbor scan timer period 1508 * @Min: 3 1509 * @Max: 300 1510 * @Default: 100 1511 * 1512 * This ini is used to set the timer period in secs after 1513 * which neighbor scan is triggered. 1514 * 1515 * Related: None 1516 * 1517 * Supported Feature: LFR Scan 1518 * 1519 * Usage: External 1520 * 1521 * </ini> 1522 */ 1523 #define CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD CFG_INI_UINT( \ 1524 "gNeighborScanTimerPeriod", \ 1525 3, \ 1526 300, \ 1527 100, \ 1528 CFG_VALUE_OR_DEFAULT, \ 1529 "Neighbor scan timer period") 1530 1531 /* 1532 * <ini> 1533 * gRoamRestTimeMin/RoamScan_HomeTime - Set min neighbor scan timer period 1534 * @Min: 3 1535 * @Max: 300 1536 * @Default: 50 1537 * 1538 * This is the min rest time after which firmware will check for traffic 1539 * and if there no traffic it will move to a new channel to scan 1540 * else it will stay on the home channel till gNeighborScanTimerPeriod time 1541 * and then will move to a new channel to scan. 1542 * 1543 * Related: None 1544 * 1545 * Supported Feature: LFR Scan 1546 * 1547 * Usage: External 1548 * 1549 * </ini> 1550 */ 1551 #define CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD CFG_INI_UINT( \ 1552 "gRoamRestTimeMin RoamScan_HomeTime", \ 1553 RoamScan_HomeTime_min, \ 1554 RoamScan_HomeTime_max, \ 1555 RoamScan_HomeTime_default, \ 1556 CFG_VALUE_OR_DEFAULT, \ 1557 "Min neighbor scan timer period") 1558 1559 /* 1560 * <ini> 1561 * gNeighborLookupThreshold/RoamRSSI_Trigger - Set neighbor lookup rssi 1562 * threshold 1563 * @Min: -100 1564 * @Max: -50 1565 * @Default: -76 1566 * 1567 * This is used to control the RSSI threshold for neighbor lookup. 1568 * 1569 * Related: None 1570 * 1571 * Supported Feature: LFR Scan 1572 * 1573 * Usage: External 1574 * 1575 * </ini> 1576 */ 1577 #define CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD CFG_INI_INT( \ 1578 "gNeighborLookupThreshold RoamRSSI_Trigger", \ 1579 RoamRSSI_Trigger_min, \ 1580 RoamRSSI_Trigger_max, \ 1581 RoamRSSI_Trigger_default, \ 1582 CFG_VALUE_OR_DEFAULT, \ 1583 "Neighbor lookup rssi threshold") 1584 1585 /* 1586 * <ini> 1587 * gOpportunisticThresholdDiff - Set oppurtunistic threshold diff 1588 * @Min: 0 1589 * @Max: 127 1590 * @Default: 0 1591 * 1592 * This ini is used to set opportunistic threshold diff. 1593 * This parameter is the RSSI diff above neighbor lookup 1594 * threshold, when opportunistic scan should be triggered. 1595 * MAX value is chosen so that this type of scan can be 1596 * always enabled by user. 1597 * MIN value will cause opportunistic scan to be triggered 1598 * in neighbor lookup RSSI range. 1599 * 1600 * Related: None 1601 * 1602 * Supported Feature: LFR Scan 1603 * 1604 * Usage: External 1605 * 1606 * </ini> 1607 */ 1608 #define CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF CFG_INI_UINT( \ 1609 "gOpportunisticThresholdDiff", \ 1610 0, \ 1611 127, \ 1612 0, \ 1613 CFG_VALUE_OR_DEFAULT, \ 1614 "Set oppurtunistic threshold diff") 1615 1616 /* 1617 * <ini> 1618 * gRoamRescanRssiDiff/RoamScan_StepRSSI - Sets RSSI for Scan trigger in 1619 * firmware 1620 * @Min: 0 1621 * @Max: 100 1622 * @Default: 5 1623 * 1624 * This INI is the drop in RSSI value that will trigger a precautionary 1625 * scan by firmware. Max value is chosen in such a way that this type 1626 * of scan can be disabled by user. 1627 * 1628 * Related: None 1629 * 1630 * Supported Feature: Roaming 1631 * 1632 * Usage: External 1633 * 1634 * </ini> 1635 */ 1636 #define CFG_LFR_ROAM_RESCAN_RSSI_DIFF CFG_INI_UINT( \ 1637 "gRoamRescanRssiDiff RoamScan_StepRSSI", \ 1638 RoamScan_StepRSSI_min, \ 1639 RoamScan_StepRSSI_max, \ 1640 RoamScan_StepRSSI_default, \ 1641 CFG_VALUE_OR_DEFAULT, \ 1642 "Sets RSSI for Scan trigger in firmware") 1643 1644 /* 1645 * <ini> 1646 * gNeighborScanChannelMinTime - Set neighbor scan channel min time 1647 * @Min: 10 1648 * @Max: 40 1649 * @Default: 20 1650 * 1651 * This ini is used to set the minimum time in secs spent on each 1652 * channel in LFR scan inside firmware. 1653 * 1654 * Related: None 1655 * 1656 * Supported Feature: LFR Scan 1657 * 1658 * Usage: External 1659 * 1660 * </ini> 1661 */ 1662 #define CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME CFG_INI_UINT( \ 1663 "gNeighborScanChannelMinTime", \ 1664 10, \ 1665 40, \ 1666 20, \ 1667 CFG_VALUE_OR_DEFAULT, \ 1668 "Neighbor scan channel min time") 1669 1670 /* 1671 * <ini> 1672 * gNeighborScanChannelMaxTime/RoamScan_ActiveCH_DwellTime - Set neighbor scan 1673 * channel max time 1674 * @Min: 3 1675 * @Max: 300 1676 * @Default: 40 1677 * 1678 * This ini is used to set the maximum time in secs spent on each 1679 * channel in LFR scan inside firmware. 1680 * 1681 * Related: None 1682 * 1683 * Supported Feature: LFR Scan 1684 * 1685 * Usage: External 1686 * 1687 * </ini> 1688 */ 1689 #define CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME CFG_INI_UINT( \ 1690 "gNeighborScanChannelMaxTime RoamScan_ActiveCH_DwellTime", \ 1691 RoamScan_ActiveCH_DwellTime_min, \ 1692 RoamScan_ActiveCH_DwellTime_max, \ 1693 RoamScan_ActiveCH_DwellTime_default, \ 1694 CFG_VALUE_OR_DEFAULT, \ 1695 "Neighbor scan channel max time") 1696 1697 /* 1698 * <ini> 1699 * gNeighborScanRefreshPeriod - Set neighbor scan refresh period 1700 * @Min: 1000 1701 * @Max: 60000 1702 * @Default: 20000 1703 * 1704 * This ini is used by firmware to set scan refresh period 1705 * in msecs for lfr scan. 1706 * 1707 * Related: None 1708 * 1709 * Supported Feature: LFR Scan 1710 * 1711 * Usage: External 1712 * 1713 * </ini> 1714 */ 1715 #define CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD CFG_INI_UINT( \ 1716 "gNeighborScanRefreshPeriod", \ 1717 1000, \ 1718 60000, \ 1719 20000, \ 1720 CFG_VALUE_OR_DEFAULT, \ 1721 "Neighbor scan refresh period") 1722 1723 /* 1724 * <ini> 1725 * gFullRoamScanPeriod - Set full roam scan refresh period 1726 * @Min: 0 1727 * @Max: 600 1728 * @Default: 0 1729 * 1730 * This ini is used by firmware to set full roam scan period in secs. 1731 * Full roam scan period is the minimum idle period in seconds between two 1732 * successive full channel roam scans. If this is configured as a non-zero, 1733 * full roam scan will be triggered for every configured interval. 1734 * If this configured as 0, full roam scan will not be triggered at all. 1735 * 1736 * Related: None 1737 * 1738 * Supported Feature: LFR Scan 1739 * 1740 * Usage: External 1741 * 1742 * </ini> 1743 */ 1744 #define CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD CFG_INI_UINT( \ 1745 "gFullRoamScanPeriod", \ 1746 0, \ 1747 600, \ 1748 0, \ 1749 CFG_VALUE_OR_DEFAULT, \ 1750 "Full roam scan refresh period") 1751 1752 /* 1753 * <ini> 1754 * gEmptyScanRefreshPeriod - Set empty scan refresh period 1755 * @Min: 0 1756 * @Max: 60000 1757 * @Default: 0 1758 * 1759 * This ini is used by firmware to set scan period in msecs 1760 * following empty scan results. 1761 * 1762 * Related: None 1763 * 1764 * Supported Feature: LFR Scan 1765 * 1766 * Usage: External 1767 * 1768 * </ini> 1769 */ 1770 #define CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD CFG_INI_UINT( \ 1771 "gEmptyScanRefreshPeriod", \ 1772 0, \ 1773 60000, \ 1774 0, \ 1775 CFG_VALUE_OR_DEFAULT, \ 1776 "Empty scan refresh period") 1777 1778 /* 1779 * <ini> 1780 * RoamScan_FirstTimer - Set empty scan refresh period 1781 * @Min: 0 1782 * @Max: 20 1783 * @Default: 10 1784 * 1785 * This ini is used by firmware to set scan period in secs 1786 * following empty scan results. 1787 * 1788 * Related: None 1789 * 1790 * Supported Feature: LFR Scan 1791 * 1792 * Usage: External 1793 * 1794 * </ini> 1795 */ 1796 #define CFG_ROAM_SCAN_FIRST_TIMER CFG_INI_UINT( \ 1797 "RoamScan_FirstTimer", \ 1798 0, \ 1799 20, \ 1800 10, \ 1801 CFG_VALUE_OR_DEFAULT, \ 1802 "Empty scan refresh period") 1803 1804 /* 1805 * <ini> 1806 * gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event 1807 * @Min: 5 1808 * @Max: 100 1809 * @Default: 10 1810 * 1811 * This ini used to control how many beacon miss will trigger first bmiss 1812 * event. First bmiss event will result in roaming scan. 1813 * 1814 * Related: None 1815 * 1816 * Usage: External 1817 * 1818 * </ini> 1819 */ 1820 #define CFG_LFR_ROAM_BMISS_FIRST_BCNT CFG_INI_UINT( \ 1821 "gRoamBmissFirstBcnt", \ 1822 5, \ 1823 100, \ 1824 10, \ 1825 CFG_VALUE_OR_DEFAULT, \ 1826 "First beacon miss count") 1827 1828 /* 1829 * <ini> 1830 * gRoamBmissFinalBcnt - Beacon miss count to trigger final bmiss event 1831 * @Min: 5 1832 * @Max: 100 1833 * @Default: 20 1834 * 1835 * This ini used to control how many beacon miss will trigger final bmiss 1836 * event. Final bmiss event will make roaming take place or cause the 1837 * indication of final bmiss event. 1838 * 1839 * Related: None 1840 * 1841 * Usage: External 1842 * 1843 * </ini> 1844 */ 1845 #define CFG_LFR_ROAM_BMISS_FINAL_BCNT CFG_INI_UINT( \ 1846 "gRoamBmissFinalBcnt", \ 1847 5, \ 1848 100, \ 1849 20, \ 1850 CFG_VALUE_OR_DEFAULT, \ 1851 "Final beacon miss count") 1852 1853 /* 1854 * <ini> 1855 * BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to 1856 * trigger timeout 1857 * @Min: 0 1858 * @Max: 20 1859 * @Default: 3 1860 * 1861 * This ini is used to control the beacon miss timeout when the system is awake. 1862 * On the timeout, BMISS event will be triggered by FW. 1863 * The units of this timeout is in seconds. 1864 * 1865 * Related: None 1866 * 1867 * Usage: External 1868 * 1869 * </ini> 1870 */ 1871 1872 /* 1873 * <ini> 1874 * BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to 1875 * trigger timeout 1876 * @Min: 0 1877 * @Max: 20 1878 * @Default: 6 1879 * 1880 * This ini is used to control the beacon miss timeout when the system is awake. 1881 * On the timeout, BMISS event will be triggered by FW. 1882 * The units of this timeout is in seconds. 1883 * 1884 * Related: None 1885 * 1886 * Usage: External 1887 * 1888 * </ini> 1889 */ 1890 #define CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP CFG_INI_UINT( \ 1891 "ConBeaconLoss_TimeoutOnWakeUp", \ 1892 CONBEACONLOSS_TIMEOUTONWAKEUP_MIN, \ 1893 CONBEACONLOSS_TIMEOUTONWAKEUP_MAX, \ 1894 CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT, \ 1895 CFG_VALUE_OR_DEFAULT, \ 1896 "ConBeaconloss timeout on wakeup") 1897 1898 /* 1899 * <ini> 1900 * BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to 1901 * trigger timeout 1902 * @Min: 0 1903 * @Max: 20 1904 * @Default: 5 1905 * 1906 * This ini is used to control the beacon miss timeout 1907 * when the system is in sleep. 1908 * On the timeout, BMISS event will be triggered by FW. 1909 * The units of this timeout is in seconds. 1910 * 1911 * Related: None 1912 * 1913 * Usage: External 1914 * 1915 * </ini> 1916 */ 1917 1918 /* 1919 * <ini> 1920 * BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to 1921 * trigger timeout 1922 * @Min: 0 1923 * @Max: 20 1924 * @Default: 10 1925 * 1926 * This ini is used to control the beacon miss timeout 1927 * when the system is in sleep. 1928 * On the timeout, BMISS event will be triggered by FW. 1929 * The units of this timeout is in seconds. 1930 * 1931 * Related: None 1932 * 1933 * Usage: External 1934 * 1935 * </ini> 1936 */ 1937 #define CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP CFG_INI_UINT( \ 1938 "ConBeaconLoss_TimeoutOnSleep", \ 1939 CONBEACONLOSS_TIMEOUTONSLEEP_MIN, \ 1940 CONBEACONLOSS_TIMEOUTONSLEEP_MAX, \ 1941 CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT, \ 1942 CFG_VALUE_OR_DEFAULT, \ 1943 "ConBeaconloss timeout on sleep") 1944 1945 /* 1946 * <ini> 1947 * gAllowDFSChannelRoam - Allow dfs channel in roam 1948 * @Min: 0 1949 * @Max: 2 1950 * @Default: 1 1951 * 1952 * This ini is used to set default dfs channel 1953 * 1954 * Related: None 1955 * 1956 * Supported Feature: STA 1957 * 1958 * Usage: Internal/External 1959 * 1960 * </ini> 1961 */ 1962 #define CFG_LFR_ROAMING_DFS_CHANNEL CFG_INI_UINT( \ 1963 "gAllowDFSChannelRoam", \ 1964 0, \ 1965 2, \ 1966 1, \ 1967 CFG_VALUE_OR_DEFAULT, \ 1968 "Allow dfs channel in roam") 1969 1970 /* 1971 * <ini> 1972 * gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count 1973 * @Min: 0 1974 * @Max: 10 1975 * @Default: 3 1976 * 1977 * This INI is used to set maximum scan count in 5GHz 1978 * 1979 * Related: None 1980 * 1981 * Supported Feature: Roaming 1982 * 1983 * Usage: External 1984 * 1985 * </ini> 1986 */ 1987 #define CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT CFG_INI_UINT( \ 1988 "gRoamScanHiRssiMaxCount", \ 1989 0, \ 1990 10, \ 1991 3, \ 1992 CFG_VALUE_OR_DEFAULT, \ 1993 "5GHz maximum scan count") 1994 1995 /* 1996 * <ini> 1997 * gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger 1998 * @Min: 0 1999 * @Max: 40 2000 * @Default: 23 2001 * 2002 * This INI is used to set change in RSSI at which scan is triggered 2003 * in 5GHz. 2004 * 2005 * Related: None 2006 * 2007 * Supported Feature: Roaming 2008 * 2009 * Usage: External 2010 * 2011 * </ini> 2012 */ 2013 #define CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA CFG_INI_UINT( \ 2014 "gRoamScanHiRssiDelta", \ 2015 0, \ 2016 40, \ 2017 23, \ 2018 CFG_VALUE_OR_DEFAULT, \ 2019 "RSSI Delta for scan trigger") 2020 2021 /* 2022 * <ini> 2023 * gRoamScanHiRssiDelay - Sets minimum delay between 5GHz scans 2024 * @Min: 5000 2025 * @Max: 0x7fffffff 2026 * @Default: 15000 2027 * 2028 * This INI is used to set the minimum delay between 5GHz scans. 2029 * 2030 * Related: None 2031 * 2032 * Supported Feature: Roaming 2033 * 2034 * Usage: External 2035 * 2036 * </ini> 2037 */ 2038 #define CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY CFG_INI_UINT( \ 2039 "gRoamScanHiRssiDelay", \ 2040 5000, \ 2041 0x7fffffff, \ 2042 15000, \ 2043 CFG_VALUE_OR_DEFAULT, \ 2044 "Minimum delay between 5GHz scans") 2045 2046 /* 2047 * <ini> 2048 * gRoamScanHiRssiUpperBound - Sets upper bound after which 5GHz scan 2049 * @Min: -66 2050 * @Max: 0 2051 * @Default: -30 2052 * 2053 * This INI is used to set the RSSI upper bound above which the 5GHz scan 2054 * will not be performed. 2055 * 2056 * Related: None 2057 * 2058 * Supported Feature: Roaming 2059 * 2060 * Usage: External 2061 * 2062 * </ini> 2063 */ 2064 #define CFG_LFR_ROAM_SCAN_HI_RSSI_UB CFG_INI_INT( \ 2065 "gRoamScanHiRssiUpperBound", \ 2066 -66, \ 2067 0, \ 2068 -30, \ 2069 CFG_VALUE_OR_DEFAULT, \ 2070 "Upper bound after which 5GHz scan") 2071 2072 /* 2073 * <ini> 2074 * gRoamPrefer5GHz - Prefer roaming to 5GHz Bss 2075 * @Min: 0 2076 * @Max: 1 2077 * @Default: 1 2078 * 2079 * This ini is used to inform FW to prefer roaming to 5GHz BSS 2080 * 2081 * Related: None 2082 * 2083 * Supported Feature: Roaming 2084 * 2085 * Usage: External 2086 * 2087 * </ini> 2088 */ 2089 #define CFG_LFR_ROAM_PREFER_5GHZ CFG_INI_BOOL( \ 2090 "gRoamPrefer5GHz", \ 2091 1, \ 2092 "Prefer roaming to 5GHz Bss") 2093 2094 /* 2095 * <ini> 2096 * gRoamIntraBand - Prefer roaming within Band 2097 * @Min: 0 2098 * @Max: 1 2099 * @Default: 0 2100 * 2101 * This ini is used to inform FW to prefer roaming within band 2102 * 2103 * Related: None 2104 * 2105 * Supported Feature: Roaming 2106 * 2107 * Usage: External 2108 * 2109 * </ini> 2110 */ 2111 #define CFG_LFR_ROAM_INTRA_BAND CFG_INI_BOOL( \ 2112 "gRoamIntraBand", \ 2113 0, \ 2114 "Prefer roaming within Band") 2115 2116 /* 2117 * <ini> 2118 * gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming 2119 * @Min: 1 2120 * @Max: 10 2121 * @Default: 2 2122 * 2123 * This INI is used to set the maximum number of probes the firmware can send 2124 * for firmware internal roaming cases. 2125 * 2126 * Related: None 2127 * 2128 * Supported Feature: Roaming 2129 * 2130 * Usage: External 2131 * 2132 * </ini> 2133 */ 2134 #define CFG_LFR_ROAM_SCAN_N_PROBES CFG_INI_UINT( \ 2135 "gRoamScanNProbes", \ 2136 1, \ 2137 10, \ 2138 2, \ 2139 CFG_VALUE_OR_DEFAULT, \ 2140 "The number of probes to be sent for firmware roaming") 2141 2142 /* 2143 * <ini> 2144 * gRoamScanHomeAwayTime/RoamScan_AwayTime - Sets the Home Away Time to firmware 2145 * @Min: 0 2146 * @Max: 300 2147 * @Default: 0 2148 * 2149 * Home Away Time should be at least equal to (gNeighborScanChannelMaxTime 2150 * + (2*RFS)), where RFS is the RF Switching time(3). It is twice RFS 2151 * to consider the time to go off channel and return to the home channel. 2152 * 2153 * Related: gNeighborScanChannelMaxTime 2154 * 2155 * Supported Feature: Roaming 2156 * 2157 * Usage: External 2158 * 2159 * </ini> 2160 */ 2161 #define CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME CFG_INI_UINT( \ 2162 "gRoamScanHomeAwayTime RoamScan_AwayTime", \ 2163 RoamScan_AwayTime_min, \ 2164 RoamScan_AwayTime_max, \ 2165 RoamScan_AwayTime_default, \ 2166 CFG_VALUE_OR_DEFAULT, \ 2167 "the home away time to firmware") 2168 2169 /* 2170 * <ini> 2171 * gDelayBeforeVdevStop - wait time for tx complete before vdev stop 2172 * @Min: 2 2173 * @Max: 200 2174 * @Default: 20 2175 * 2176 * This INI is used to set wait time for tx complete before vdev stop. 2177 * 2178 * Related: None 2179 * 2180 * Usage: External 2181 * 2182 * </ini> 2183 */ 2184 #define CFG_LFR_DELAY_BEFORE_VDEV_STOP CFG_INI_UINT( \ 2185 "gDelayBeforeVdevStop", \ 2186 2, \ 2187 200, \ 2188 20, \ 2189 CFG_VALUE_OR_DEFAULT, \ 2190 "wait time for tx complete before vdev stop") 2191 /* 2192 * <ini> 2193 * enable_bss_load_roam_trigger - enable/disable bss load based roam trigger 2194 * @Min: 0 2195 * @Max: 1 2196 * @Default: 0 2197 * 2198 * This ini when enabled, allows the firmware to roam when bss load outpaces 2199 * the configured bss load threshold. When this ini is disabled, firmware 2200 * doesn't consider bss load values to trigger roam. 2201 * 2202 * Related: None 2203 * 2204 * Supported Feature: Roaming 2205 * 2206 * Usage: External 2207 * 2208 * </ini> 2209 */ 2210 #define CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM CFG_INI_BOOL( \ 2211 "enable_bss_load_roam_trigger", \ 2212 0, \ 2213 "enable bss load triggered roaming") 2214 2215 /* 2216 * <ini> 2217 * bss_load_threshold/RoamCU_Trigger - bss load above which the STA should 2218 * trigger roaming 2219 * @Min: 0 2220 * @Max: 100 2221 * @Default: 70 2222 * 2223 * When the bss load value that is sampled exceeds this threshold, firmware 2224 * will trigger roaming if bss load trigger is enabled. 2225 * 2226 * Related: None 2227 * 2228 * Supported Feature: Roaming 2229 * 2230 * Usage: External 2231 * 2232 * </ini> 2233 */ 2234 #define CFG_BSS_LOAD_THRESHOLD CFG_INI_UINT( \ 2235 "bss_load_threshold RoamCU_Trigger", \ 2236 RoamCU_Trigger_min, \ 2237 RoamCU_Trigger_max, \ 2238 RoamCU_Trigger_default, \ 2239 CFG_VALUE_OR_DEFAULT, \ 2240 "bss load threshold") 2241 2242 /* 2243 * <ini> 2244 * bss_load_sample_time - Time in milliseconds for which the bss load values 2245 * obtained from the beacons is sampled. 2246 * @Min: 0 2247 * @Max: 0xffffffff 2248 * @Default: 10000 2249 * 2250 * Related: None 2251 * 2252 * Supported Feature: Roaming 2253 * 2254 * Usage: External 2255 * 2256 * </ini> 2257 */ 2258 #define CFG_BSS_LOAD_SAMPLE_TIME CFG_INI_UINT( \ 2259 "bss_load_sample_time", \ 2260 0, \ 2261 0xffffffff, \ 2262 10000, \ 2263 CFG_VALUE_OR_DEFAULT, \ 2264 "bss load sampling time") 2265 2266 /* 2267 * <ini> 2268 * RoamCU_MonitorTime - Time in seconds for which the bss load values 2269 * obtained from the beacons is sampled. 2270 * @Min: 0 2271 * @Max: 20 2272 * @Default: 10 2273 * 2274 * Related: None 2275 * 2276 * Supported Feature: Roaming 2277 * 2278 * Usage: External 2279 * 2280 * </ini> 2281 */ 2282 #define CFG_ROAM_CU_MONITOR_TIME CFG_INI_UINT( \ 2283 "RoamCU_MonitorTime", \ 2284 0, \ 2285 20, \ 2286 10, \ 2287 CFG_VALUE_OR_DEFAULT, \ 2288 "bss load sampling time") 2289 2290 /* 2291 * <ini> 2292 * bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange - 2293 * Current AP minimum RSSI in dBm below 2294 * which roaming can be triggered if BSS load exceeds bss_load_threshold. 2295 * @Min: -120 2296 * @Max: 0 2297 * @Default: -70 2298 * 2299 * If connected AP is in 6Ghz, then consider bss load roam triggered only if 2300 * load % > bss_load_threshold && connected AP rssi is worse than 2301 * bss_load_trigger_6g_rssi_threshold 2302 * 2303 * Related: "bss_load_threshold" 2304 * 2305 * Supported Feature: Roaming 2306 * 2307 * Usage: Internal/External 2308 * 2309 * </ini> 2310 */ 2311 2312 /* 2313 * <ini> 2314 * bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange - 2315 * Current AP minimum RSSI in dBm below 2316 * which roaming can be triggered if BSS load exceeds bss_load_threshold. 2317 * @Min: -70 2318 * @Max: -50 2319 * @Default: -70 2320 * 2321 * If connected AP is in 6Ghz, then consider bss load roam triggered only if 2322 * load % > bss_load_threshold && connected AP rssi is worse than 2323 * bss_load_trigger_6g_rssi_threshold 2324 * 2325 * Related: "bss_load_threshold" 2326 * 2327 * Supported Feature: Roaming 2328 * 2329 * Usage: Internal/External 2330 * 2331 * </ini> 2332 */ 2333 #define CFG_BSS_LOAD_TRIG_6G_RSSI_THRES CFG_INI_INT( \ 2334 "bss_load_trigger_6g_rssi_threshold RoamCU_6GRSSIRange", \ 2335 ROAMCU_6GRSSIRANGE_MIN, \ 2336 ROAMCU_6GRSSIRANGE_MAX, \ 2337 ROAMCU_6GRSSIRANGE_DEFAULT, \ 2338 CFG_VALUE_OR_DEFAULT, \ 2339 "Minimum RSSI of current AP in 6GHz band for BSS load roam trigger") 2340 2341 /* 2342 * <ini> 2343 * bss_load_trigger_5g_rssi_threshold/RoamCU_5GRSSIRange - 2344 * Current AP minimum RSSI in dBm below 2345 * which roaming can be triggered if BSS load exceeds bss_load_threshold. 2346 * @Min: -120 2347 * @Max: 0 2348 * @Default: -70 2349 * 2350 * If connected AP is in 5Ghz, then consider bss load roam triggered only if 2351 * load % > bss_load_threshold && connected AP rssi is worse than 2352 * bss_load_trigger_5g_rssi_threshold 2353 * 2354 * Related: "bss_load_threshold" 2355 * 2356 * Supported Feature: Roaming 2357 * 2358 * Usage: Internal/External 2359 * 2360 * </ini> 2361 */ 2362 #define CFG_BSS_LOAD_TRIG_5G_RSSI_THRES CFG_INI_INT( \ 2363 "bss_load_trigger_5g_rssi_threshold RoamCU_5GRSSIRange", \ 2364 RoamCU_5GRSSIRange_min, \ 2365 RoamCU_5GRSSIRange_max, \ 2366 RoamCU_5GRSSIRange_default, \ 2367 CFG_VALUE_OR_DEFAULT, \ 2368 "Minimum RSSI of current AP in 5GHz band for BSS load roam trigger") 2369 2370 /* 2371 * <ini> 2372 * bss_load_trigger_2g_rssi_threshold/RoamCU_24GRSSIRange - 2373 * Current AP minimum RSSI in dBm below 2374 * which roaming can be triggered if BSS load exceeds bss_load_threshold. 2375 * @Min: -120 2376 * @Max: 0 2377 * @Default: -60 2378 * 2379 * If connected AP is in 2Ghz, then consider bss load roam triggered only if 2380 * load % > bss_load_threshold && connected AP rssi is worse than 2381 * bss_load_trigger_2g_rssi_threshold. 2382 * 2383 * Related: "bss_load_threshold" 2384 * 2385 * Supported Feature: Roaming 2386 * 2387 * Usage: Internal/External 2388 * 2389 * </ini> 2390 */ 2391 #define CFG_BSS_LOAD_TRIG_2G_RSSI_THRES CFG_INI_INT( \ 2392 "bss_load_trigger_2g_rssi_threshold RoamCU_24GRSSIRange", \ 2393 RoamCU_24GRSSIRange_min, \ 2394 RoamCU_24GRSSIRange_max, \ 2395 RoamCU_24GRSSIRange_default, \ 2396 CFG_VALUE_OR_DEFAULT, \ 2397 "Minimum RSSI of current AP in 2.4GHz band for BSS load roam trigger") 2398 2399 /* 2400 * <ini> 2401 * ho_delay_for_rx - Delay hand-off (in msec) by this duration to receive 2402 * pending rx frames from current BSS 2403 * @Min: 0 2404 * @Max: 200 2405 * @Default: 0 2406 * 2407 * For LFR 3.0 roaming scenario, once roam candidate is found, firmware 2408 * waits for minimum this much duration to receive pending rx frames from 2409 * current BSS before switching to new channel for handoff to new AP. 2410 * 2411 * Related: None 2412 * 2413 * Supported Feature: Roaming 2414 * 2415 * Usage: External 2416 * 2417 * </ini> 2418 */ 2419 #define CFG_LFR3_ROAM_HO_DELAY_FOR_RX CFG_INI_UINT( \ 2420 "ho_delay_for_rx", \ 2421 0, \ 2422 200, \ 2423 0, \ 2424 CFG_VALUE_OR_DEFAULT, \ 2425 "Delay Hand-off by this duration to receive") 2426 2427 /* 2428 * <ini> 2429 * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two 2430 * consecutive roam scans 2431 * @Min: 0 2432 * @Max: 60 2433 * @Default: 10 2434 * 2435 * Roam scan is not allowed if duration between two consecutive 2436 * roam scans is less than this time. 2437 * 2438 * Related: None 2439 * 2440 * Supported Feature: Roaming 2441 * 2442 * Usage: External 2443 * 2444 * </ini> 2445 */ 2446 #define CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN CFG_INI_UINT( \ 2447 "min_delay_btw_roam_scans", \ 2448 0, \ 2449 60, \ 2450 10, \ 2451 CFG_VALUE_OR_DEFAULT, \ 2452 "Min duration") 2453 2454 /* 2455 * <ini> 2456 * roam_trigger_reason_bitmask - Contains roam_trigger_reasons 2457 * @Min: 0 2458 * @Max: 0xFFFFFFFF 2459 * @Default: 0x10DA 2460 * 2461 * Bitmask containing roam_trigger_reasons for which 2462 * min_delay_btw_roam_scans constraint should be applied. 2463 * Currently supported bit positions are as follows: 2464 * Bit 0 is reserved in the firmware. 2465 * WMI_ROAM_TRIGGER_REASON_PER - 1 2466 * WMI_ROAM_TRIGGER_REASON_BMISS - 2 2467 * WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3 2468 * WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4 2469 * WMI_ROAM_TRIGGER_REASON_PERIODIC - 5 2470 * WMI_ROAM_TRIGGER_REASON_MAWC - 6 2471 * WMI_ROAM_TRIGGER_REASON_DENSE - 7 2472 * WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8 2473 * WMI_ROAM_TRIGGER_REASON_FORCED - 9 2474 * WMI_ROAM_TRIGGER_REASON_BTM - 10 2475 * WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11 2476 * WMI_ROAM_TRIGGER_REASON_BSS_LOAD - 12 2477 * WMI_ROAM_TRIGGER_REASON_DEAUTH - 13 2478 * WMI_ROAM_TRIGGER_REASON_IDLE - 14 2479 * WMI_ROAM_TRIGGER_REASON_MAX - 15 2480 * 2481 * For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE) 2482 * 2483 * Related: None 2484 * 2485 * Supported Feature: Roaming 2486 * 2487 * Usage: External 2488 * 2489 * </ini> 2490 */ 2491 #define CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK CFG_INI_UINT( \ 2492 "roam_trigger_reason_bitmask", \ 2493 0, \ 2494 0xFFFFFFFF, \ 2495 0x10DA, \ 2496 CFG_VALUE_OR_DEFAULT, \ 2497 "Contains roam_trigger_reasons") 2498 2499 /* 2500 * <ini> 2501 * enable_ftopen - enable/disable FT open feature 2502 * @Min: 0 2503 * @Max: 1 2504 * @Default: 1 2505 * 2506 * This INI is used to enable/disable FT open feature 2507 * 2508 * Related: None 2509 * 2510 * Supported Feature: Roaming 2511 * 2512 * Usage: External 2513 * 2514 * </ini> 2515 */ 2516 #define CFG_LFR_ROAM_FT_OPEN_ENABLE CFG_INI_BOOL( \ 2517 "enable_ftopen", \ 2518 1, \ 2519 "enable/disable FT open feature") 2520 2521 /* 2522 * <ini> 2523 * roam_force_rssi_trigger - To force RSSI trigger 2524 * irrespective of channel list type 2525 * @Min: 0 2526 * @Max: 1 2527 * @Default: 1 2528 * 2529 * This ini is used to set roam scan mode 2530 * WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether 2531 * channel list type is CHANNEL_LIST_STATIC or not 2532 * 2533 * Related: None 2534 * 2535 * Supported Feature: Roaming 2536 * 2537 * Usage: External 2538 * 2539 * </ini> 2540 */ 2541 #define CFG_LFR_ROAM_FORCE_RSSI_TRIGGER CFG_INI_BOOL( \ 2542 "roam_force_rssi_trigger", \ 2543 1, \ 2544 "To force RSSI trigger") 2545 2546 #ifdef WLAN_FEATURE_ROAM_OFFLOAD 2547 /* 2548 * <ini> 2549 * gRoamOffloadEnabled - enable/disable roam offload feature 2550 * @Min: 0 2551 * @Max: 1 2552 * @Default: 1 2553 * 2554 * This INI is used to enable/disable roam offload feature 2555 * 2556 * Related: None 2557 * 2558 * Supported Feature: Roaming 2559 * 2560 * Usage: External 2561 * 2562 * </ini> 2563 */ 2564 #define CFG_LFR3_ROAMING_OFFLOAD CFG_INI_BOOL( \ 2565 "gRoamOffloadEnabled", \ 2566 1, \ 2567 "enable roam offload") 2568 2569 /* 2570 * <ini> 2571 * enable_self_bss_roam - enable/disable roaming to self bss 2572 * @Min: 0 2573 * @Max: 1 2574 * @Default: 1 2575 * 2576 * This INI is used to enable/disable roaming to already connected BSSID 2577 * 2578 * Related: None 2579 * 2580 * Supported Feature: Roaming 2581 * 2582 * Usage: Internal 2583 * 2584 * </ini> 2585 */ 2586 #define CFG_LFR3_ENABLE_SELF_BSS_ROAM CFG_INI_BOOL( \ 2587 "enable_self_bss_roam", \ 2588 1, \ 2589 "enable self bss roam") 2590 2591 /* 2592 * <ini> 2593 * enable_disconnect_roam_offload - Enable/Disable emergency roaming during 2594 * deauth/disassoc 2595 * @Min: 0 - Disabled 2596 * @Max: 1 - Enabled 2597 * @Default: 1 2598 * 2599 * When this ini is enabled firmware will trigger roam scan and roam to a new ap 2600 * if candidate is found and it will not send the deauth/disassoc frame to 2601 * the host driver. 2602 * If roaming fails after this deauth, then firmware will send 2603 * WMI_ROAM_REASON_DEAUTH event to the host. If roaming is successful, driver 2604 * follows the normal roam synch event path. 2605 * 2606 * Supported Feature: Roaming 2607 * 2608 * Usage: Internal/External 2609 * 2610 * </ini> 2611 */ 2612 #define CFG_LFR_ENABLE_DISCONNECT_ROAM CFG_INI_BOOL( \ 2613 "enable_disconnect_roam_offload", \ 2614 true, \ 2615 "Enable/Disable roaming on deauth/disassoc from AP") 2616 2617 /* 2618 * <ini> 2619 * enable_idle_roam - Enable/Disable idle roaming 2620 * @Min: 0 - Disabled 2621 * @Max: 1 - Enabled 2622 * @Default: 0 2623 * 2624 * When this ini is enabled firmware will trigger roam scan and roam to a new 2625 * ap if current connected AP rssi falls below the threshold. To consider the 2626 * connection as idle, the following conditions should be met if this ini 2627 * "enable_idle_roam" is enabled: 2628 * 1. User space sends "SET SUSPENDMODE" command with value 0. 2629 * 2. No TX/RX data for idle time configured via ini "idle_roam_inactive_time". 2630 * 3. Connected AP rssi change doesn't exceed a specific delta value. 2631 * (configured via ini idle_roam_rssi_delta) 2632 * 4. Connected AP rssi falls below minimum rssi (configured via ini 2633 * "idle_roam_min_rssi"). 2634 * 2635 * Supported Feature: Roaming 2636 * 2637 * Usage: Internal/External 2638 * 2639 * </ini> 2640 */ 2641 #define CFG_LFR_ENABLE_IDLE_ROAM CFG_INI_BOOL( \ 2642 "enable_idle_roam", \ 2643 false, \ 2644 "Enable/Disable idle roam") 2645 2646 /* 2647 * <ini> 2648 * idle_roam_rssi_delta/RoamIdle_RSSIVariation - This threshold is the criteria 2649 * to decide whether DUT is idle or moving. If rssi delta is more than 2650 * configured threshold then its considered as not idle. RSSI delta is entered 2651 *in dBm. Idle roaming can be triggered if the connected AP rssi change exceeds 2652 * or falls below the rssi delta and if other criteria of ini "enable_idle_roam" 2653 * is met 2654 * @Min: 0 2655 * @Max: 50 2656 * @Default: 3 2657 * 2658 * Related: enable_idle_roam 2659 * 2660 * Supported Feature: Roaming 2661 * 2662 * Usage: Internal/External 2663 * 2664 * </ini> 2665 */ 2666 #define CFG_LFR_IDLE_ROAM_RSSI_DELTA CFG_INI_UINT( \ 2667 "idle_roam_rssi_delta RoamIdle_RSSIVariation", \ 2668 RoamIdle_RSSIVariation_min, \ 2669 RoamIdle_RSSIVariation_max, \ 2670 RoamIdle_RSSIVariation_default, \ 2671 CFG_VALUE_OR_DEFAULT, \ 2672 "Configure RSSI delta to start idle roam") 2673 2674 /* 2675 * <ini> 2676 * idle_roam_inactive_time - Time duration in milliseconds for which the 2677 * connection is idle. 2678 * @Min: 0 2679 * @Max: 0xFFFFFFFF 2680 * @Default: 10000 2681 * 2682 * This ini is used to configure the time in seconds for which the connection 2683 * candidate is idle and after which idle roam scan can be triggered if 2684 * other criteria of ini "enable_idle_roam" is met. 2685 * 2686 * Related: enable_idle_roam 2687 * 2688 * Supported Feature: Roaming 2689 * 2690 * Usage: Internal/External 2691 * 2692 * </ini> 2693 */ 2694 #define CFG_LFR_IDLE_ROAM_INACTIVE_TIME CFG_INI_UINT( \ 2695 "idle_roam_inactive_time", \ 2696 0, \ 2697 0xFFFFFFFF, \ 2698 10000, \ 2699 CFG_VALUE_OR_DEFAULT, \ 2700 "Configure RSSI delta to start idle roam") 2701 2702 /* 2703 * <ini> 2704 * RoamIdle_InactiveTime - Time duration in seconds for which the 2705 * connection is idle. 2706 * @Min: 0 2707 * @Max: 20 2708 * @Default: 10 2709 * 2710 * This ini is used to configure the time in seconds for which the connection 2711 * candidate is idle and after which idle roam scan can be triggered if 2712 * other criteria of ini "enable_idle_roam" is met. 2713 * 2714 * Related: enable_idle_roam 2715 * 2716 * Supported Feature: Roaming 2717 * 2718 * Usage: Internal/External 2719 * 2720 * </ini> 2721 */ 2722 #define CFG_ROAM_IDLE_INACTIVE_TIME CFG_INI_UINT( \ 2723 "RoamIdle_InactiveTime", \ 2724 0, \ 2725 20, \ 2726 RoamIdle_InactiveTime_default, \ 2727 CFG_VALUE_OR_DEFAULT, \ 2728 "Configure RSSI delta to start idle roam") 2729 2730 /* 2731 * <ini> 2732 * idle_data_packet_count/RoamIdle_InactivePacketCount - No of tx/rx packets 2733 * above which the connection is not idle. 2734 * @Min: 0 2735 * @Max: 0xFFFFFFFF 2736 * @Default: 10 2737 * 2738 * This ini is used to configure the acceptable number of tx/rx packets below 2739 * which the connection is idle. Ex: If idle_data_packet_count is 10 2740 * and if the tx/rx packet count is less than 10, the connection is 2741 * idle. If there are more than 10 packets, the connection is active one. 2742 * 2743 * Related: enable_idle_roam 2744 * 2745 * Supported Feature: Roaming 2746 * 2747 * Usage: Internal/External 2748 * 2749 * </ini> 2750 */ 2751 #define CFG_LFR_IDLE_ROAM_PACKET_COUNT CFG_INI_UINT( \ 2752 "idle_data_packet_count RoamIdle_InactivePacketCount", \ 2753 RoamIdle_InactivePacketCount_min, \ 2754 RoamIdle_InactivePacketCount_max, \ 2755 RoamIdle_InactivePacketCount_default, \ 2756 CFG_VALUE_OR_DEFAULT, \ 2757 "Configure idle packet count") 2758 2759 /* 2760 * <ini> 2761 * idle_roam_min_rssi/RoamIdle_MinRSSI - Minimum RSSI of connected AP, below 2762 * which idle roam scan can be triggered if other criteria of ini 2763 * "enable_idle_roam" is met. 2764 * @Min: -96 2765 * @Max: 0 2766 * @Default: -65 2767 * 2768 * Related: enable_idle_roam 2769 * 2770 * Supported Feature: Roaming 2771 * 2772 * Usage: Internal/External 2773 * 2774 * </ini> 2775 */ 2776 #define CFG_LFR_IDLE_ROAM_MIN_RSSI CFG_INI_INT( \ 2777 "idle_roam_min_rssi RoamIdle_MinRSSI", \ 2778 RoamIdle_MinRSSI_min, \ 2779 RoamIdle_MinRSSI_max, \ 2780 RoamIdle_MinRSSI_default, \ 2781 CFG_VALUE_OR_DEFAULT, \ 2782 "Configure idle roam minimum RSSI") 2783 2784 /* 2785 * <ini> 2786 * idle_roam_band/RoamIdle_TriggerBand - Band on which idle roam scan will be 2787 * enabled 2788 * @Min: 0 2789 * @Max: 2 2790 * @Default: 0 2791 * 2792 * Value 0 - Allow idle roam on both bands 2793 * Value 1 - Allow idle roam only on 2G band 2794 * Value 2 - Allow idle roam only on 5G band 2795 * 2796 * Related: enable_idle_roam 2797 * 2798 * Supported Feature: Roaming 2799 * 2800 * Usage: Internal/External 2801 * 2802 * </ini> 2803 */ 2804 #define CFG_LFR_IDLE_ROAM_BAND CFG_INI_UINT( \ 2805 "idle_roam_band RoamIdle_TriggerBand", \ 2806 RoamIdle_TriggerBand_min, \ 2807 RoamIdle_TriggerBand_max, \ 2808 RoamIdle_TriggerBand_default, \ 2809 CFG_VALUE_OR_DEFAULT, \ 2810 "Band on which idle roam needs to be enabled") 2811 2812 /* 2813 * <ini> 2814 * roam_triggers - Bitmap of roaming triggers. Setting this to 2815 * zero will disable roaming altogether for the STA interface. 2816 * ESS report element of beacon explores BSS information, for roaming station 2817 * uses it to consider next AP to roam. ROAM_TRIGGER_REASON_ESS_RSSI bit is 2818 * to enable/disable roam trigger for ESS RSSI reason. This bit of ini is also 2819 * used for WFA certification. 2820 * @Min: 0 2821 * @Max: 0xFFFFFFFF 2822 * @Default: 0x3FFFF 2823 * 2824 * ROAM_TRIGGER_REASON_PER BIT 1 2825 * ROAM_TRIGGER_REASON_BMISS BIT 2 2826 * ROAM_TRIGGER_REASON_LOW_RSSI BIT 3 2827 * ROAM_TRIGGER_REASON_HIGH_RSSI BIT 4 2828 * ROAM_TRIGGER_REASON_PERIODIC BIT 5 2829 * ROAM_TRIGGER_REASON_MAWC BIT 6 2830 * ROAM_TRIGGER_REASON_DENSE BIT 7 2831 * ROAM_TRIGGER_REASON_BACKGROUND BIT 8 2832 * ROAM_TRIGGER_REASON_FORCED BIT 9 2833 * ROAM_TRIGGER_REASON_BTM BIT 10 2834 * ROAM_TRIGGER_REASON_UNIT_TEST BIT 11 2835 * ROAM_TRIGGER_REASON_BSS_LOAD BIT 12 2836 * ROAM_TRIGGER_REASON_DEAUTH BIT 13 2837 * ROAM_TRIGGER_REASON_IDLE BIT 14 2838 * ROAM_TRIGGER_REASON_STA_KICKOUT BIT 15 2839 * ROAM_TRIGGER_REASON_ESS_RSSI BIT 16 2840 * ROAM_TRIGGER_REASON_WTC_BTM BIT 17 2841 * ROAM_TRIGGER_REASON_PMK_TIMEOUT BIT 18 2842 * ROAM_TRIGGER_REASON_BTC BIT 19 2843 * ROAM_TRIGGER_REASON_MAX BIT 20 2844 * 2845 * Related: none 2846 * 2847 * Supported Feature: Roaming 2848 * 2849 * Usage: External 2850 * 2851 * </ini> 2852 */ 2853 #define CFG_ROAM_TRIGGER_BITMAP CFG_INI_UINT( \ 2854 "roam_triggers", \ 2855 0, \ 2856 0xFFFFFFFF, \ 2857 0x7FFFF, \ 2858 CFG_VALUE_OR_DEFAULT, \ 2859 "Bitmap of roaming triggers") 2860 2861 /* 2862 * <ini> 2863 * sta_disable_roam - Disable Roam on sta interface 2864 * @Min: 0 - Roam Enabled on sta interface 2865 * @Max: 0xffffffff - Roam Disabled on sta interface irrespective 2866 * of other interface connections 2867 * @Default: 0x00 2868 * 2869 * Disable roaming on STA iface to avoid audio glitches on p2p and ndp if 2870 * those are in connected state. Each bit for "sta_disable_roam" INI represents 2871 * an interface for which sta roaming can be disabled. 2872 * 2873 * LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0) 2874 * LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1) 2875 * 2876 * Related: None. 2877 * 2878 * Supported Feature: ROAM 2879 * 2880 * Usage: Internal 2881 * 2882 * </ini> 2883 */ 2884 #define CFG_STA_DISABLE_ROAM CFG_INI_UINT( \ 2885 "sta_disable_roam", \ 2886 0, \ 2887 0xffffffff, \ 2888 0x00, \ 2889 CFG_VALUE_OR_DEFAULT, \ 2890 "disable roam on STA iface if one of the iface mentioned in default is in connected state") 2891 2892 /* 2893 * <ini> 2894 * enable_dual_sta_roam_offload - Enable roaming offload on both interfaces 2895 * for STA + STA 2896 * @Min: 0 - Dual STA Roam offload Disabled 2897 * @Max: 1 - Dual STA Roam offload Enabled 2898 * @Default: 1 2899 * 2900 * Enabling this ini will: 2901 * a) Enforce the STA + STA connection be DBS if the hw is capable. 2902 * b) Enable Roam Scan Offload on both the STA vdev. 2903 * c) Enable firmware to support sequential roaming on both STA vdev 2904 * if the firmware is capable of dual sta roaming. 2905 * 2906 * Related: None. 2907 * 2908 * Supported Feature: ROAM 2909 * 2910 * Usage: External 2911 * 2912 * </ini> 2913 */ 2914 #define CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD CFG_INI_UINT( \ 2915 "enable_dual_sta_roam_offload", \ 2916 false, \ 2917 true, \ 2918 true, \ 2919 CFG_VALUE_OR_DEFAULT, \ 2920 "Enable roam on both STA vdev") 2921 2922 #define ROAM_OFFLOAD_ALL \ 2923 CFG(CFG_LFR3_ROAMING_OFFLOAD) \ 2924 CFG(CFG_LFR3_ENABLE_SELF_BSS_ROAM) \ 2925 CFG(CFG_LFR_ENABLE_DISCONNECT_ROAM) \ 2926 CFG(CFG_LFR_ENABLE_IDLE_ROAM) \ 2927 CFG(CFG_LFR_IDLE_ROAM_RSSI_DELTA) \ 2928 CFG(CFG_LFR_IDLE_ROAM_INACTIVE_TIME) \ 2929 CFG(CFG_ROAM_IDLE_INACTIVE_TIME) \ 2930 CFG(CFG_LFR_IDLE_ROAM_PACKET_COUNT) \ 2931 CFG(CFG_LFR_IDLE_ROAM_MIN_RSSI) \ 2932 CFG(CFG_LFR_IDLE_ROAM_BAND) \ 2933 CFG(CFG_ROAM_TRIGGER_BITMAP) \ 2934 CFG(CFG_STA_DISABLE_ROAM) \ 2935 CFG(CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD) \ 2936 2937 #else 2938 #define ROAM_OFFLOAD_ALL 2939 #endif 2940 2941 #ifdef FEATURE_WLAN_ESE 2942 /* 2943 * <ini> 2944 * EseEnabled - Enable ESE feature 2945 * @Min: 0 2946 * @Max: 1 2947 * @Default: 0 2948 * 2949 * This ini is used to enable/disable ESE feature 2950 * 2951 * Related: None 2952 * 2953 * Supported Feature: Roaming 2954 * 2955 * Usage: External 2956 * 2957 * </ini> 2958 */ 2959 #define CFG_LFR_ESE_FEATURE_ENABLED CFG_INI_BOOL( \ 2960 "EseEnabled", \ 2961 0, \ 2962 "Enable ESE") 2963 #define LFR_ESE_ALL CFG(CFG_LFR_ESE_FEATURE_ENABLED) 2964 #else 2965 #define LFR_ESE_ALL 2966 #endif 2967 2968 #ifdef FEATURE_LFR_SUBNET_DETECTION 2969 /* 2970 * <ini> 2971 * gLFRSubnetDetectionEnable - Enable LFR3 subnet detection 2972 * @Min: 0 2973 * @Max: 1 2974 * @Default: 1 2975 * 2976 * Enable IP subnet detection during legacy fast roming version 3. Legacy fast 2977 * roaming could roam across IP subnets without host processors' knowledge. 2978 * This feature enables firmware to wake up the host processor if it 2979 * successfully determines change in the IP subnet. Change in IP subnet could 2980 * potentially cause disruption in IP connnectivity if IP address is not 2981 * refreshed. 2982 * 2983 * Related: None 2984 * 2985 * Supported Feature: Roaming 2986 * 2987 * Usage: External 2988 * 2989 * </ini> 2990 */ 2991 #define CFG_LFR3_ENABLE_SUBNET_DETECTION CFG_INI_BOOL( \ 2992 "gLFRSubnetDetectionEnable", \ 2993 1, \ 2994 "Enable LFR3 subnet detection") 2995 2996 #define LFR_SUBNET_DETECTION_ALL CFG(CFG_LFR3_ENABLE_SUBNET_DETECTION) 2997 #else 2998 #define LFR_SUBNET_DETECTION_ALL 2999 #endif 3000 3001 #if defined(WLAN_SAE_SINGLE_PMK) && defined(WLAN_FEATURE_ROAM_OFFLOAD) 3002 /* 3003 * <ini> 3004 * sae_single_pmk_feature_enabled - Enable/disable sae single pmk feature. 3005 * @Min: 0 3006 * @Max: 1 3007 * @Default: 1 3008 * 3009 * This INI is to enable/disable SAE Roaming with same PMK/PMKID feature support 3010 * 3011 * Related: None. 3012 * 3013 * Supported Feature: Roaming 3014 * 3015 * Usage: Internal 3016 * 3017 * </ini> 3018 */ 3019 #define CFG_SAE_SINGLE_PMK CFG_INI_BOOL( \ 3020 "sae_single_pmk_feature_enabled", \ 3021 true, \ 3022 "Enable/disable SAE Roaming with single PMK/PMKID") 3023 3024 #define SAE_SINGLE_PMK_ALL CFG(CFG_SAE_SINGLE_PMK) 3025 #else 3026 #define SAE_SINGLE_PMK_ALL 3027 #endif 3028 3029 #ifdef WLAN_ADAPTIVE_11R 3030 /* 3031 * <ini> 3032 * adaptive_11r - Enable/disable adaptive 11r feature. 3033 * @Min: 0 3034 * @Max: 1 3035 * @Default: 0 3036 * 3037 * Adaptive 11r feature enables the AP to support FT-AKM without 3038 * configuring the FT-AKM in the network. The AP will advertise non-FT akm 3039 * with a vendor specific IE having Adaptive 11r bit set to 1 in the IE data. 3040 * The AP also advertises the MDE in beacon/probe response. 3041 * 3042 * STA should check the adaptive 11r capability if the AP advertises MDE in 3043 * beacon/probe and adaptive 11r capability in vendor specific IE. If adaptive 3044 * 11r capability is found, STA can advertise the FT equivalent of the non-FT 3045 * AKM and connect with 11r protocol. 3046 * 3047 * Related: None. 3048 * 3049 * Supported Feature: Fast BSS Transition 3050 * 3051 * Usage: External 3052 * 3053 * </ini> 3054 */ 3055 #define CFG_ADAPTIVE_11R CFG_INI_BOOL( \ 3056 "enable_adaptive_11r", \ 3057 false, \ 3058 "Enable/disable adaptive 11r support") 3059 3060 #define ADAPTIVE_11R_ALL CFG(CFG_ADAPTIVE_11R) 3061 #else 3062 #define ADAPTIVE_11R_ALL 3063 #endif 3064 3065 /* 3066 * <ini> 3067 * roaming_scan_policy - To config roaming scan policy 3068 * @Min: 0 3069 * @Max: 1 3070 * @Default: 0 3071 * 3072 * This ini is used to configure roaming scan behavior from HOST 3073 * 0 : DBS scan 3074 * 1 : Non-DBS scan 3075 * 3076 * Related: None 3077 * 3078 * Supported Feature: Roaming 3079 * 3080 * Usage: External 3081 * 3082 * </ini> 3083 */ 3084 #define CFG_ROAM_SCAN_SCAN_POLICY CFG_INI_BOOL( \ 3085 "roaming_scan_policy", \ 3086 0, \ 3087 "Config roam scan policy") 3088 3089 /* 3090 * <ini> 3091 * enable_ft_im_roaming - FW needs to perform FT initial moiblity association 3092 * instead of FT roaming for deauth roam trigger 3093 * @Min: 0 3094 * @Max: 1 3095 * @Default: 1 3096 * 3097 * This ini is used to FT roaming for deauth roam trigger behavior from HOST 3098 * 0 - To disable FT-IM 3099 * 1 - To enable FT-IM 3100 * 3101 * Related: None 3102 * 3103 * Supported Feature: Roaming 3104 * 3105 * Usage: Internal 3106 * 3107 * </ini> 3108 */ 3109 #define CFG_FT_IM_ROAMING CFG_INI_BOOL( \ 3110 "enable_ft_im_roaming", \ 3111 1, \ 3112 "FT roaming for deauth roam trigger") 3113 3114 /* 3115 * <ini> 3116 * roam_scan_inactivity_time - Device inactivity monitoring time in 3117 * milliseconds for which the device is considered to be inactive with data 3118 * packets count is less than configured roam_inactive_data_count. 3119 * 3120 * @Min: 0 3121 * @Max: 0xFFFFFFFF 3122 * @Default: 0 3123 * 3124 * The below three ini values are used to control the roam scan after the 3125 * firmware gets empty roam scan results during periodic roam scans. 3126 * 1. roam_scan_inactivity_time 3127 * 2. roam_inactive_data_count 3128 * The first two ini "roam_scan_inactivity_time" and "roam_inactive_data_count" 3129 * is frames the criteria to detect if the DUT is inactive. 3130 * 3131 * Related: roam_inactive_data_count 3132 * 3133 * Supported Feature: Roaming 3134 * 3135 * Usage: External 3136 * 3137 * </ini> 3138 */ 3139 #define CFG_ROAM_SCAN_INACTIVITY_TIME CFG_INI_UINT( \ 3140 "roam_scan_inactivity_time", \ 3141 0, \ 3142 0xFFFFFFFF, \ 3143 0, \ 3144 CFG_VALUE_OR_DEFAULT, \ 3145 "Device inactivity monitoring time") 3146 3147 /* 3148 * <ini> 3149 * RoamScan_SecondTimer - Device inactivity monitoring time in 3150 * seconds for which the device is considered to be inactive with data 3151 * packets count is less than configured RoamScan_InactiveCount. 3152 * 3153 * @Min: 60 3154 * @Max: 300 3155 * @Default: 120 3156 * 3157 * The below three ini values are used to control the roam scan after the 3158 * firmware gets empty roam scan results during periodic roam scans. 3159 * 1. RoamScan_SecondTimer 3160 * 2. RoamScan_InactiveCount 3161 * 3. RoamScan_InactiveTimer 3162 * The first two ini "RoamScan_SecondTimer" and "RoamScan_InactiveCount" 3163 * is frames the criteria to detect if the DUT is inactive. If the device is 3164 * identified to be inactive based on the above two ini, then the value, 3165 * "RoamScan_InactiveTimer" will be used as periodic roam scan 3166 * duration. 3167 * 3168 * Related: RoamScan_InactiveCount 3169 * 3170 * Supported Feature: Roaming 3171 * 3172 * Usage: External 3173 * 3174 * </ini> 3175 */ 3176 #define CFG_ROAM_SCAN_SECOND_TIMER CFG_INI_UINT( \ 3177 "RoamScan_SecondTimer", \ 3178 60, \ 3179 300, \ 3180 120, \ 3181 CFG_VALUE_OR_DEFAULT, \ 3182 "Device inactivity monitoring time") 3183 3184 /* 3185 * <ini> 3186 * roam_inactive_data_count/RoamScan_InactiveCount - Maximum allowed data 3187 * packets count during roam_scan_inactivity_time. 3188 * 3189 * @Min: 0 3190 * @Max: 0xFFFFFFFF 3191 * @Default: 10 3192 * 3193 * The DUT is said to be inactive only if the data packets count 3194 * during this roam_scan_inactivity_time is less than the configured 3195 * roam_inactive_data_count. 3196 * 3197 * Related: roam_scan_inactivity_time 3198 * 3199 * Supported Feature: Roaming 3200 * 3201 * Usage: External 3202 * 3203 * </ini> 3204 */ 3205 #define CFG_ROAM_INACTIVE_COUNT CFG_INI_UINT( \ 3206 "roam_inactive_data_count RoamScan_InactiveCount", \ 3207 RoamScan_InactiveCount_min, \ 3208 RoamScan_InactiveCount_max, \ 3209 RoamScan_InactiveCount_default, \ 3210 CFG_VALUE_OR_DEFAULT, \ 3211 "Roam scan inactivity period data pkt count") 3212 3213 /* 3214 * <ini> 3215 * RoamScan_InactiveTimer - Roam scan duration in sec after device is 3216 * out of inactivity state. 3217 * 3218 * @Min: 0 3219 * @Max: 20 3220 * @Default: 10 3221 * 3222 * If there is empty scan results during roam scan, firmware will move to 3223 * roam scan inactive state if roam_scan_inactivity and 3224 * roam_inactive_data_count criteria are met. 3225 * This ini is used to configure the roam scan duration in sec once the 3226 * inactivity is finished and roam scan can be started. 3227 * 3228 * Related: roam_scan_inactivity_time, roam_inactive_data_count 3229 * 3230 * Supported Feature: Roaming 3231 * 3232 * Usage: External 3233 * 3234 * </ini> 3235 */ 3236 #define CFG_ROAM_SCAN_INACTIVE_TIMER CFG_INI_UINT( \ 3237 "RoamScan_InactiveTimer", \ 3238 0, \ 3239 20, \ 3240 10, \ 3241 CFG_VALUE_OR_DEFAULT, \ 3242 "Roam scan period post inactivity") 3243 3244 #ifdef WLAN_FEATURE_ROAM_OFFLOAD 3245 /* 3246 * <ini> 3247 * enable_roam_reason_vsie - Enable/Disable inclusion of Roam Reason 3248 * in Re(association) frame 3249 * 3250 * @Min: 0 3251 * @Max: 1 3252 * @Default: 0 3253 * 3254 * This ini is used to enable fw to include/exclude roam reason vsie in 3255 * Re(association) 3256 * 3257 * Related: None 3258 * 3259 * Supported Feature: Roaming 3260 * 3261 * Usage: internal 3262 * 3263 * </ini> 3264 */ 3265 #define CFG_ENABLE_ROAM_REASON_VSIE CFG_INI_BOOL( \ 3266 "enable_roam_reason_vsie", \ 3267 0, \ 3268 "To Enable enable_roam_reason_vsie") 3269 #define ROAM_REASON_VSIE_ALL CFG(CFG_ENABLE_ROAM_REASON_VSIE) 3270 #else 3271 #define ROAM_REASON_VSIE_ALL 3272 #endif 3273 3274 /* 3275 * <ini> 3276 * groam_info_stats_num - number of wlan driver cache roam information 3277 * @Min: 0 3278 * @Max: 32 3279 * @Default: 5 3280 * 3281 * This ini is used to set the cache number of enhanced roam 3282 * information, including roam trigger, scan information and 3283 * roam frame information. 3284 * If ini set to 0, enhanced roam feature not support 3285 * 3286 * Related: LFR 3287 * 3288 * Usage: External 3289 * 3290 * </ini> 3291 */ 3292 #define CFG_LFR3_ROAM_INFO_STATS_NUM CFG_INI_UINT( \ 3293 "groam_info_stats_num", \ 3294 0, \ 3295 32, \ 3296 5, \ 3297 CFG_VALUE_OR_DEFAULT, \ 3298 "Roam information cache number in wlan driver") 3299 3300 /* 3301 * <ini> 3302 * hs20_btm_offload_disable - To enable/disable BTM offload 3303 * @Min: 0 3304 * @Max: 1 3305 * @Default: 1 3306 * 3307 * This ini is used to enable/disable BTM offload for Hotspot 2.0. 3308 * Some solutions may not have Hotspot 2.0 certification 3309 * and there is no need to forward the BTM frame to wpa_supplicant, 3310 * in such solutions Let firmware handle the frame, in such cases by 3311 * enabling btm_offload so that it doesn't wakeup the host. 3312 * Firmware may roam to another AP upon BTM reception. 3313 * 3314 * Related: LFR 3315 * 3316 * Usage: External 3317 * 3318 * </ini> 3319 */ 3320 #define CFG_HS_20_BTM_OFFLOAD_DISABLE CFG_INI_BOOL( \ 3321 "hs20_btm_offload_disable", \ 3322 true, \ 3323 "To Enable/disable BTM offload for hotspot 2.0") 3324 3325 #define CFG_LFR_ALL \ 3326 CFG(CFG_LFR_MAWC_ROAM_ENABLED) \ 3327 CFG(CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD) \ 3328 CFG(CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD) \ 3329 CFG(CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST) \ 3330 CFG(CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST) \ 3331 CFG(CFG_LFR_ROAM_RSSI_ABS_THRESHOLD) \ 3332 CFG(CFG_LFR_5G_RSSI_THRESHOLD_OFFSET) \ 3333 CFG(CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY) \ 3334 CFG(CFG_LFR_EARLY_STOP_SCAN_ENABLE) \ 3335 CFG(CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD) \ 3336 CFG(CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD) \ 3337 CFG(CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD) \ 3338 CFG(CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET) \ 3339 CFG(CFG_LFR_ROAM_DENSE_MIN_APS) \ 3340 CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD) \ 3341 CFG(CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP) \ 3342 CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G) \ 3343 CFG(CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS) \ 3344 CFG(CFG_ROAM_DATA_RSSI_THRESHOLD) \ 3345 CFG(CFG_RX_DATA_INACTIVITY_TIME) \ 3346 CFG(CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE) \ 3347 CFG(CFG_LFR_PER_ROAM_ENABLE) \ 3348 CFG(CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH) \ 3349 CFG(CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH) \ 3350 CFG(CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT) \ 3351 CFG(CFG_LFR_PER_ROAM_REST_TIME) \ 3352 CFG(CFG_LFR_PER_ROAM_MONITOR_TIME) \ 3353 CFG(CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI) \ 3354 CFG(CFG_LFR3_ROAM_DISALLOW_DURATION) \ 3355 CFG(CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION) \ 3356 CFG(CFG_LFR3_ROAM_NUM_DISALLOWED_APS) \ 3357 CFG(CFG_LFR_ENABLE_5G_BAND_PREF) \ 3358 CFG(CFG_LFR_5G_RSSI_BOOST_THRESHOLD) \ 3359 CFG(CFG_LFR_5G_RSSI_BOOST_FACTOR) \ 3360 CFG(CFG_LFR_5G_MAX_RSSI_BOOST) \ 3361 CFG(CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD) \ 3362 CFG(CFG_LFR_5G_RSSI_PENALIZE_FACTOR) \ 3363 CFG(CFG_LFR_5G_MAX_RSSI_PENALIZE) \ 3364 CFG(CFG_LFR_MAX_NUM_PRE_AUTH) \ 3365 CFG(CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT) \ 3366 CFG(CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT) \ 3367 CFG(CFG_LFR_FEATURE_ENABLED) \ 3368 CFG(CFG_LFR_MAWC_FEATURE_ENABLED) \ 3369 CFG(CFG_LFR_FAST_TRANSITION_ENABLED) \ 3370 CFG(CFG_LFR_ROAM_RSSI_DIFF) \ 3371 CFG(CFG_LFR_ROAM_RSSI_DIFF_6GHZ) \ 3372 CFG(CFG_LFR_ROAM_BG_RSSI_TH) \ 3373 CFG(CFG_LFR_ENABLE_WES_MODE) \ 3374 CFG(CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED) \ 3375 CFG(CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST) \ 3376 CFG(CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD) \ 3377 CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD) \ 3378 CFG(CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD) \ 3379 CFG(CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF) \ 3380 CFG(CFG_LFR_ROAM_RESCAN_RSSI_DIFF) \ 3381 CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME) \ 3382 CFG(CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME) \ 3383 CFG(CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD) \ 3384 CFG(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD) \ 3385 CFG(CFG_ROAM_SCAN_FIRST_TIMER) \ 3386 CFG(CFG_LFR_ROAM_BMISS_FIRST_BCNT) \ 3387 CFG(CFG_LFR_ROAM_BMISS_FINAL_BCNT) \ 3388 CFG(CFG_LFR_ROAMING_DFS_CHANNEL) \ 3389 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT) \ 3390 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA) \ 3391 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY) \ 3392 CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_UB) \ 3393 CFG(CFG_LFR_ROAM_PREFER_5GHZ) \ 3394 CFG(CFG_LFR_ROAM_INTRA_BAND) \ 3395 CFG(CFG_LFR_ROAM_SCAN_N_PROBES) \ 3396 CFG(CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME) \ 3397 CFG(CFG_LFR_DELAY_BEFORE_VDEV_STOP) \ 3398 CFG(CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM) \ 3399 CFG(CFG_BSS_LOAD_THRESHOLD) \ 3400 CFG(CFG_BSS_LOAD_SAMPLE_TIME) \ 3401 CFG(CFG_ROAM_CU_MONITOR_TIME) \ 3402 CFG(CFG_LFR3_ROAM_HO_DELAY_FOR_RX) \ 3403 CFG(CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN) \ 3404 CFG(CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK) \ 3405 CFG(CFG_LFR_ROAM_FT_OPEN_ENABLE) \ 3406 CFG(CFG_LFR_ROAM_FORCE_RSSI_TRIGGER) \ 3407 CFG(CFG_ROAM_SCAN_SCAN_POLICY) \ 3408 CFG(CFG_ROAM_SCAN_INACTIVITY_TIME) \ 3409 CFG(CFG_ROAM_SCAN_SECOND_TIMER) \ 3410 CFG(CFG_FT_IM_ROAMING) \ 3411 CFG(CFG_ROAM_INACTIVE_COUNT) \ 3412 CFG(CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME) \ 3413 CFG(CFG_ROAM_SCAN_INACTIVE_TIMER) \ 3414 CFG(CFG_BSS_LOAD_TRIG_6G_RSSI_THRES) \ 3415 CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \ 3416 CFG(CFG_BSS_LOAD_TRIG_2G_RSSI_THRES) \ 3417 CFG(CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD) \ 3418 ADAPTIVE_11R_ALL \ 3419 ROAM_OFFLOAD_ALL \ 3420 LFR_ESE_ALL \ 3421 LFR_SUBNET_DETECTION_ALL \ 3422 SAE_SINGLE_PMK_ALL \ 3423 ROAM_REASON_VSIE_ALL \ 3424 CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP) \ 3425 CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP) \ 3426 CFG(CFG_LFR3_ROAM_INFO_STATS_NUM) \ 3427 CFG(CFG_HS_20_BTM_OFFLOAD_DISABLE) 3428 3429 #endif /* CFG_MLME_LFR_H__ */ 3430