/*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains configuration definitions for MLME LFR.
*/
#ifndef CFG_MLME_LFR_H__
#define CFG_MLME_LFR_H__
#ifdef CONNECTION_ROAMING_CFG
# define RoamScan_ActiveCH_DwellTime_min 0
# define RoamScan_ActiveCH_DwellTime_max 200
# define RoamScan_ActiveCH_DwellTime_default 40
# define RoamScan_InactiveCount_min 0
# define RoamScan_InactiveCount_max 20
# define RoamScan_InactiveCount_default 5
# define RoamScan_StepRSSI_min 0
# define RoamScan_StepRSSI_max 20
# define RoamScan_StepRSSI_default 5
# define RoamScan_HomeTime_min 0
# define RoamScan_HomeTime_max 200
# define RoamScan_HomeTime_default 45
# define RoamScan_AwayTime_min 0
# define RoamScan_AwayTime_max 200
# define RoamScan_AwayTime_default 100
# define RoamRSSI_Trigger_min -100
# define RoamRSSI_Trigger_max -50
# define RoamRSSI_Trigger_default -75
# define RoamCU_Trigger_min 60
# define RoamCU_Trigger_max 90
# define RoamCU_Trigger_default 70
# define RoamCU_24GRSSIRange_min -70
# define RoamCU_24GRSSIRange_max -50
# define RoamCU_24GRSSIRange_default -60
# define RoamCU_5GRSSIRange_min -70
# define RoamCU_5GRSSIRange_max -50
# define RoamCU_5GRSSIRange_default -70
# define RoamIdle_TriggerBand_min 0
# define RoamIdle_TriggerBand_max 4
# define RoamIdle_TriggerBand_default 3
# define RoamIdle_MinRSSI_min -70
# define RoamIdle_MinRSSI_max -50
# define RoamIdle_MinRSSI_default -65
# define RoamIdle_RSSIVariation_min 0
# define RoamIdle_RSSIVariation_max 10
# define RoamIdle_RSSIVariation_default 8
# define RoamIdle_InactivePacketCount_min 0
# define RoamIdle_InactivePacketCount_max 20
# define RoamIdle_InactivePacketCount_default 5
# define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0
# define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20
# define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 6
# define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0
# define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20
# define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 10
# define ROAMCU_6GRSSIRANGE_MIN -70
# define ROAMCU_6GRSSIRANGE_MAX -50
# define ROAMCU_6GRSSIRANGE_DEFAULT -70
# define RoamIdle_InactiveTime_default 5
#else
# define RoamScan_ActiveCH_DwellTime_min 3
# define RoamScan_ActiveCH_DwellTime_max 300
# define RoamScan_ActiveCH_DwellTime_default 40
# define RoamScan_InactiveCount_min 0
# define RoamScan_InactiveCount_max 0xFFFFFFFF
# define RoamScan_InactiveCount_default 10
# define RoamScan_StepRSSI_min 0
# define RoamScan_StepRSSI_max 100
# define RoamScan_StepRSSI_default 5
# define RoamScan_HomeTime_min 3
# define RoamScan_HomeTime_max 300
# define RoamScan_HomeTime_default 50
# define RoamScan_AwayTime_min 0
# define RoamScan_AwayTime_max 300
# define RoamScan_AwayTime_default 0
# define RoamRSSI_Trigger_min -100
# define RoamRSSI_Trigger_max -50
# define RoamRSSI_Trigger_default -76
# define RoamCU_Trigger_min 0
# define RoamCU_Trigger_max 100
# define RoamCU_Trigger_default 70
# define RoamCU_24GRSSIRange_min -120
# define RoamCU_24GRSSIRange_max 0
# define RoamCU_24GRSSIRange_default -60
# define RoamCU_5GRSSIRange_min -120
# define RoamCU_5GRSSIRange_max 0
# define RoamCU_5GRSSIRange_default -70
# define RoamIdle_TriggerBand_min 0
# define RoamIdle_TriggerBand_max 2
# define RoamIdle_TriggerBand_default 0
# define RoamIdle_MinRSSI_min -96
# define RoamIdle_MinRSSI_max 0
# define RoamIdle_MinRSSI_default -65
# define RoamIdle_RSSIVariation_min 0
# define RoamIdle_RSSIVariation_max 50
# define RoamIdle_RSSIVariation_default 3
# define RoamIdle_InactivePacketCount_min 0
# define RoamIdle_InactivePacketCount_max 0xFFFFFFFF
# define RoamIdle_InactivePacketCount_default 10
# define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0
# define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20
# define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 3
# define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0
# define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20
# define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 5
# define ROAMCU_6GRSSIRANGE_MIN -120
# define ROAMCU_6GRSSIRANGE_MAX 0
# define ROAMCU_6GRSSIRANGE_DEFAULT -70
# define RoamIdle_InactiveTime_default 10
#endif
/*
*
* RoamScan_PassiveCH_DwellTime - Set max channel time for roam passive scan
* @Min: 0
* @Max: 200
* @Default: 130
*
* This ini is used to set maximum channel time in msecs spent in
* passive scan for roaming
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
"RoamScan_PassiveCH_DwellTime",\
0, \
200, \
130, \
CFG_VALUE_OR_DEFAULT, "roam scan passive dwell time")
/*
*
* mawc_roam_enabled - Enable/Disable MAWC during roaming
* @Min: 0 - Disabled
* @Max: 1 - Enabled
* @Default: 0
*
* This ini is used to control MAWC during roaming.
*
* Related: MAWCEnabled.
*
* Supported Feature: MAWC Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_ROAM_ENABLED CFG_INI_BOOL( \
"mawc_roam_enabled", \
0, \
"Enable/Disable MAWC during roaming")
/*
*
* mawc_roam_traffic_threshold - Configure traffic threshold
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 300
*
* This ini is used to configure the data traffic load in kbps to
* register CMC.
*
* Related: mawc_roam_enabled.
*
* Supported Feature: MAWC Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD CFG_INI_UINT( \
"mawc_roam_traffic_threshold", \
0, \
0xFFFFFFFF, \
300, \
CFG_VALUE_OR_DEFAULT, \
"Configure traffic threshold")
/*
*
* mawc_roam_ap_rssi_threshold - Best AP RSSI threshold
* @Min: -120
* @Max: 0
* @Default: -66
*
* This ini is used to specify the RSSI threshold to scan for the AP.
*
* Related: mawc_roam_enabled.
*
* Supported Feature: MAWC Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD CFG_INI_INT( \
"mawc_roam_ap_rssi_threshold", \
-120, \
0, \
-66, \
CFG_VALUE_OR_DEFAULT, \
"Best AP RSSI threshold")
/*
*
* mawc_roam_rssi_high_adjust - Adjust MAWC roam high RSSI
* @Min: 3
* @Max: 5
* @Default: 5
*
* This ini is used for high RSSI threshold adjustment in stationary state
* to suppress the scan.
*
* Related: mawc_roam_enabled.
*
* Supported Feature: MAWC Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST CFG_INI_UINT( \
"mawc_roam_rssi_high_adjust", \
3, \
5, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Adjust MAWC roam high RSSI")
/*
*
* mawc_roam_rssi_low_adjust - Adjust MAWC roam low RSSI
* @Min: 3
* @Max: 5
* @Default: 5
*
* This ini is used for low RSSI threshold adjustment in stationary state
* to suppress the scan.
*
* Related: mawc_roam_enabled.
*
* Supported Feature: MAWC Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST CFG_INI_UINT( \
"mawc_roam_rssi_low_adjust", \
3, \
5, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Adjust MAWC roam low RSSI")
/*
*
* rssi_abs_thresh - The min RSSI of the candidate AP to consider roam
* @Min: -96
* @Max: 0
* @Default: 0
*
* The RSSI value of the candidate AP should be higher than rssi_abs_thresh
* to roam to the AP. 0 means no absolute minimum RSSI is required.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_RSSI_ABS_THRESHOLD CFG_INI_INT( \
"rssi_abs_thresh", \
-96, \
0, \
0, \
CFG_VALUE_OR_DEFAULT, \
"The min RSSI of the candidate AP to consider roam")
/*
*
* lookup_threshold_5g_offset - Lookup threshold offset for 5G band
* @Min: -120
* @Max: 120
* @Default: 0
*
* This ini is used to set the 5G band lookup threshold for roaming.
* It depends on another INI which is gNeighborLookupThreshold.
* gNeighborLookupThreshold is a legacy INI item which will be used to
* set the RSSI lookup threshold for both 2G and 5G bands. If the
* user wants to setup a different threshold for a 5G band, then user
* can use this offset value which will be summed up to the value of
* gNeighborLookupThreshold and used for 5G
* e.g: gNeighborLookupThreshold = -76dBm
* lookup_threshold_5g_offset = 6dBm
* Then the 5G band will be configured to -76+6 = -70dBm
* A default value of Zero to lookup_threshold_5g_offset will keep the
* thresholds same for both 2G and 5G bands
*
* Related: gNeighborLookupThreshold
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_5G_RSSI_THRESHOLD_OFFSET CFG_INI_INT( \
"lookup_threshold_5g_offset", \
-120, \
120, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Lookup threshold offset for 5G band")
/*
*
* gEnableFastRoamInConcurrency - Enable LFR roaming on STA during concurrency
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is used to enable Legacy fast roaming(LFR) on STA link during
* concurrent sessions.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY CFG_INI_BOOL( \
"gEnableFastRoamInConcurrency", \
1, \
"Enable LFR roaming on STA during concurrency")
/*
*
* gEnableEarlyStopScan - Set early stop scan
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to set early stop scan. Early stop
* scan is a feature for roaming to stop the scans at
* an early stage as soon as we find a better AP to roam.
* This would make the roaming happen quickly.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_EARLY_STOP_SCAN_ENABLE CFG_INI_BOOL( \
"gEnableEarlyStopScan", \
0, \
"Set early stop scan")
/*
*
* gEarlyStopScanMinThreshold - Set early stop scan min
* threshold
* @Min: -80
* @Max: -70
* @Default: -73
*
* This ini is used to set the early stop scan minimum
* threshold. Early stop scan minimum threshold is the
* minimum threshold to be considered for stopping the
* scan. The algorithm starts with a scan on the greedy
* channel list with the maximum threshold and steps down
* the threshold by 20% for each further channel. It can
* step down on each channel but cannot go lower than the
* minimum threshold.
*
* Related: None
*
* Supported Feature: Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD CFG_INI_INT( \
"gEarlyStopScanMinThreshold", \
-80, \
-70, \
-73, \
CFG_VALUE_OR_DEFAULT, \
"Set early stop scan min")
/*
*
* gEarlyStopScanMaxThreshold - Set early stop scan max
* threshold
* @Min: -60
* @Max: -40
* @Default: -43
*
* This ini is used to set the the early stop scan maximum
* threshold at which the candidate AP should be to be
* qualified as a potential roam candidate and good enough
* to stop the roaming scan.
*
* Related: None
*
* Supported Feature: Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD CFG_INI_INT( \
"gEarlyStopScanMaxThreshold", \
-60, \
-40, \
-43, \
CFG_VALUE_OR_DEFAULT, \
"Set early stop scan max")
/*
*
* gtraffic_threshold - Dense traffic threshold
* @Min: 0
* @Max: 0xffffffff
* @Default: 400
*
* Dense traffic threshold
* traffic threshold required for dense roam scan
* Measured in kbps
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD CFG_INI_UINT( \
"gtraffic_threshold", \
0, \
0xffffffff, \
400, \
CFG_VALUE_OR_DEFAULT, \
"Dense traffic threshold")
/*
*
* groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff
* @Min: 0
* @Max: 20
* @Default: 10
*
* This INI is used to set offset value from normal RSSI threshold to dense
* RSSI threshold FW will optimize roaming based on new RSSI threshold once
* it detects dense environment.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET CFG_INI_UINT( \
"groam_dense_rssi_thresh_offset", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Dense traffic threshold")
/*
*
* groam_dense_min_aps - Sets minimum number of AP for dense roam
* @Min: 1
* @Max: 5
* @Default: 3
*
* Minimum number of APs required for dense roam. FW will consider
* environment as dense once it detects #APs operating is more than
* groam_dense_min_aps.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_DENSE_MIN_APS CFG_INI_UINT( \
"groam_dense_min_aps", \
1, \
5, \
3, \
CFG_VALUE_OR_DEFAULT, \
"Sets minimum number of AP for dense roam")
/*
*
* roam_bg_scan_bad_rssi_thresh - RSSI threshold for background roam
* @Min: -96
* @Max: 0
* @Default: -76
*
* If the DUT is connected to an AP with weak signal, then the bad RSSI
* threshold will be used as an opportunity to use the scan results
* from other scan clients and try to roam if there is a better AP
* available in the environment.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD CFG_INI_INT( \
"roam_bg_scan_bad_rssi_thresh", \
-96, \
0, \
-76, \
CFG_VALUE_OR_DEFAULT, \
"RSSI threshold for background roam")
/*
*
* roam_bg_scan_client_bitmap - Bitmap used to identify the scan clients
* @Min: 0
* @Max: 0x7FF
* @Default: 0x424
*
* This bitmap is used to define the client scans that need to be used
* by the roaming module to perform a background roaming.
* Currently supported bit positions are as follows:
* Bit 0 is reserved in the firmware.
* WMI_SCAN_CLIENT_NLO - 1
* WMI_SCAN_CLIENT_EXTSCAN - 2
* WMI_SCAN_CLIENT_ROAM - 3
* WMI_SCAN_CLIENT_P2P - 4
* WMI_SCAN_CLIENT_LPI - 5
* WMI_SCAN_CLIENT_NAN - 6
* WMI_SCAN_CLIENT_ANQP - 7
* WMI_SCAN_CLIENT_OBSS - 8
* WMI_SCAN_CLIENT_PLM - 9
* WMI_SCAN_CLIENT_HOST - 10
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP CFG_INI_UINT( \
"roam_bg_scan_client_bitmap", \
0, \
0x7FF, \
0x424, \
CFG_VALUE_OR_DEFAULT, \
"Bitmap used to identify the scan clients")
/*
*
* roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam
* @Min: 0
* @Max: 86
* @Default: 40
*
* If the DUT is connected to an AP with weak signal in 2G band, then the
* bad RSSI offset for 2g would be used as offset from the bad RSSI
* threshold configured and then use the resulting rssi for an opportunity
* to use the scan results from other scan clients and try to roam to
* 5G Band ONLY if there is a better AP available in the environment.
*
* For example if the roam_bg_scan_bad_rssi_thresh is -76 and
* roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be
* used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP
*
* Related: roam_bg_scan_bad_rssi_thresh
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G CFG_INI_UINT( \
"roam_bad_rssi_thresh_offset_2g", \
0, \
86, \
40, \
CFG_VALUE_OR_DEFAULT, \
"RSSI threshold offset for 2G to 5G roam")
/*
*
* roam_data_rssi_threshold_triggers - triggers of data rssi threshold for roam
* @Min: 0
* @Max: 0xffff
* @Default: 0x3
*
* If the DUT is connected to an AP with weak signal, during latest
* rx_data_inactivity_time, if there is no activity or avg of data_rssi is
* better than roam_data_rssi_threshold(-70dbM), then suppress roaming
* triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
* Triggers bitmap definition:
* ROAM_DATA_RSSI_FLAG_LOW_RSSI 1<<0
* ROAM_DATA_RSSI_FLAG_BACKGROUND 1<<1
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS CFG_INI_UINT( \
"roam_data_rssi_threshold_triggers", \
0, \
0xffff, \
0x3, \
CFG_VALUE_OR_DEFAULT, \
"Triggers of DATA RSSI threshold for roam")
/*
*
* roam_data_rssi_threshold - Data RSSI threshold for background roam
* @Min: -96
* @Max: 0
* @Default: -70
*
* If the DUT is connected to an AP with weak signal, during latest
* rx_data_inactivity_time, if there is no activity or avg of data_rssi is
* better than roam_data_rssi_threshold(-70dbM), then suppress roaming
* triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_DATA_RSSI_THRESHOLD CFG_INI_INT( \
"roam_data_rssi_threshold", \
-96, \
0, \
-70, \
CFG_VALUE_OR_DEFAULT, \
"DATA RSSI threshold for roam")
/*
*
* rx_data_inactivity_time - Duration to check data rssi
* @Min: 0
* @Max: 100000 ms
* @Default: 2000
*
* If the DUT is connected to an AP with weak signal, during latest
* rx_data_inactivity_time, if there is no activity or avg of data_rssi is
* better than roam_data_rssi_threshold(-70dbM), then suppress roaming
* triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_RX_DATA_INACTIVITY_TIME CFG_INI_UINT( \
"rx_data_inactivity_time", \
0, \
100000, \
2000, \
CFG_VALUE_OR_DEFAULT, \
"Rx inactivity time to check data rssi")
/*
*
* roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode
* @Min: 0
* @Max: 4
* @Default: 4
*
* This parameter will set the algo used in dwell time optimization during
* roam scan. see enum scan_dwelltime_adaptive_mode.
* Acceptable values for this:
* 0: Default (Use firmware default mode)
* 1: Conservative optimization
* 2: Moderate optimization
* 3: Aggressive optimization
* 4: Static
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE CFG_INI_UINT( \
"roamscan_adaptive_dwell_mode", \
0, \
4, \
4, \
CFG_VALUE_OR_DEFAULT, \
"Sets dwell time adaptive mode")
/*
*
* gper_roam_enabled - To enabled/disable PER based roaming in FW
* @Min: 0
* @Max: 3
* @Default: 3
*
* This ini is used to enable/disable Packet error based roaming, enabling this
* will cause DUT to monitor Tx and Rx traffic and roam to a better candidate
* if current is not good enough.
*
* Values supported:
* 0: disabled
* 1: enabled for Rx traffic
* 2: enabled for Tx traffic
* 3: enabled for Tx and Rx traffic
*
* Related: gper_roam_high_rate_th, gper_roam_low_rate_th,
* gper_roam_th_percent, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_ENABLE CFG_INI_UINT( \
"gper_roam_enabled", \
0, \
3, \
3, \
CFG_VALUE_OR_DEFAULT, \
"To enabled/disable PER based roaming in FW")
/*
*
* gper_roam_high_rate_th - Rate at which PER based roam will stop
* @Min: 1 Mbps
* @Max: 0xffffffff
* @Default: 40 Mbps
*
* This ini is used to define the data rate in mbps*10 at which FW will stop
* monitoring the traffic for PER based roam.
*
* Related: gper_roam_enabled, gper_roam_low_rate_th,
* gper_roam_th_percent, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH CFG_INI_UINT( \
"gper_roam_high_rate_th", \
10, \
0xffffffff, \
400, \
CFG_VALUE_OR_DEFAULT, \
"Rate at which PER based roam will stop")
/*
*
* gper_roam_low_rate_th - Rate at which FW starts considering traffic for PER
* based roam.
*
* @Min: 1 Mbps
* @Max: 0xffffffff
* @Default: 20 Mbps
*
* This ini is used to define the rate in mbps*10 at which FW starts considering
* traffic for PER based roam, if gper_roam_th_percent of data is below this
* rate, FW will issue a roam scan.
*
* Related: gper_roam_enabled, gper_roam_high_rate_th,
* gper_roam_th_percent, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH CFG_INI_UINT( \
"gper_roam_low_rate_th", \
10, \
0xffffffff, \
200, \
CFG_VALUE_OR_DEFAULT, \
"Rate at which FW starts considering traffic for PER")
/*
*
* gper_roam_th_percent - Percentage at which FW will issue a roam scan if
* traffic is below gper_roam_low_rate_th rate.
*
* @Min: 10%
* @Max: 100%
* @Default: 60%
*
* This ini is used to define the percentage at which FW will issue a roam scan
* if traffic is below gper_roam_low_rate_th rate.
*
* Related: gper_roam_enabled, gper_roam_high_rate_th,
* gper_roam_high_rate_th, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT CFG_INI_UINT( \
"gper_roam_th_percent", \
10, \
100, \
60, \
CFG_VALUE_OR_DEFAULT, \
"Percentage at which FW will issue a roam scan")
/*
*
* gper_roam_rest_time - Time for which FW will wait once it issues a
* roam scan.
*
* @Min: 10 seconds
* @Max: 3600 seconds
* @Default: 300 seconds
*
* This ini is used to define the time for which FW will wait once it issues a
* PER based roam scan.
*
* Related: gper_roam_enabled, gper_roam_high_rate_th,
* gper_roam_high_rate_th, gper_roam_th_percent
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_REST_TIME CFG_INI_UINT( \
"gper_roam_rest_time", \
10, \
3600, \
300, \
CFG_VALUE_OR_DEFAULT, \
"Time for which FW will wait once it issues a roam scan")
/*
*
* gper_roam_mon_time - Minimum time required in seconds to
* be considered as valid scenario for PER based roam
* @Min: 5
* @Max: 25
* @Default: 25
*
* This ini is used to define minimum time in seconds for which DUT has
* collected the PER stats before it can consider the stats hysteresis to be
* valid for PER based scan.
* DUT collects following information during this period:
* 1. % of packets below gper_roam_low_rate_th
* 2. # packets above gper_roam_high_rate_th
* if DUT gets (1) greater than gper_roam_th_percent and (2) is zero during
* this period, it triggers PER based roam scan.
*
* Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
* gper_roam_th_percent, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_MONITOR_TIME CFG_INI_UINT( \
"gper_roam_mon_time", \
5, \
25, \
25, \
CFG_VALUE_OR_DEFAULT, \
"Minimum time to be considered as valid scenario for PER based roam")
/*
*
* gper_min_rssi_threshold_for_roam - Minimum roamable AP RSSI for
* candidate selection for PER based roam
* @Min: 0
* @Max: 96
* @Default: 83
*
* Minimum roamable AP RSSI for candidate selection for PER based roam
*
* Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
* gper_roam_th_percent, gper_roam_rest_time
*
* Supported Feature: LFR-3.0
*
* Usage: Internal
*
*
*/
#define CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI CFG_INI_UINT( \
"gper_min_rssi_threshold_for_roam", \
10, \
96, \
83, \
CFG_VALUE_OR_DEFAULT, \
"Minimum roamable AP RSSI for candidate selection for PER based roam")
/*
*
* groam_disallow_duration - disallow duration before roaming
* @Min: 0
* @Max: 3600
* @Default: 30
*
* This ini is used to configure how long LCA[Last Connected AP] AP will
* be disallowed before it can be a roaming candidate again, in units of
* seconds.
*
* Related: LFR
*
* Usage: Internal
*
*
*/
#define CFG_LFR3_ROAM_DISALLOW_DURATION CFG_INI_UINT( \
"groam_disallow_duration", \
0, \
3600, \
30, \
CFG_VALUE_OR_DEFAULT, \
"disallow duration before roaming")
/*
*
* grssi_channel_penalization - RSSI penalization
* @Min: 0
* @Max: 15
* @Default: 5
*
* This ini is used to configure RSSI that will be penalized if candidate(s)
* are found to be in the same channel as disallowed AP's, in units of db.
*
* Related: LFR
*
* Usage: Internal
*
*
*/
#define CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION CFG_INI_UINT( \
"grssi_channel_penalization", \
0, \
15, \
5, \
CFG_VALUE_OR_DEFAULT, \
"RSSI penalization")
/*
*
* groam_num_disallowed_aps - Max number of AP's to maintain in LCA list
* @Min: 0
* @Max: 8
* @Default: 3
*
* This ini is used to set the maximum number of AP's to be maintained
* in LCA [Last Connected AP] list.
*
* Related: LFR
*
* Usage: Internal
*
*
*/
#define CFG_LFR3_ROAM_NUM_DISALLOWED_APS CFG_INI_UINT( \
"groam_num_disallowed_aps", \
0, \
8, \
3, \
CFG_VALUE_OR_DEFAULT, \
"Max number of AP's to maintain in LCA list")
/*
*
* enable_5g_band_pref - Enable preference for 5G from INI.
* @Min: 0
* @Max: 1
* @Default: 0
* This ini is used to enable 5G preference parameters.
*
* Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
* 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_ENABLE_5G_BAND_PREF CFG_INI_BOOL( \
"enable_5g_band_pref", \
0, \
"Enable preference for 5G from INI")
/*
*
* 5g_rssi_boost_threshold - A_band_boost_threshold above which 5G is favored.
* @Min: -70
* @Max: -55
* @Default: -60
* This ini is used to set threshold for 5GHz band preference.
*
* Related: 5g_rssi_boost_factor, 5g_max_rssi_boost
* 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_RSSI_BOOST_THRESHOLD CFG_INI_INT( \
"5g_rssi_boost_threshold", \
-70, \
-55, \
-60, \
CFG_VALUE_OR_DEFAULT, \
"A_band_boost_threshold above which 5 GHz is favored")
/*
*
* 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted.
* @Min: 0
* @Max: 2
* @Default: 1
* This ini is used to set the 5Ghz boost factor.
*
* Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost
* 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_RSSI_BOOST_FACTOR CFG_INI_UINT( \
"5g_rssi_boost_factor", \
0, \
2, \
1, \
CFG_VALUE_OR_DEFAULT, \
"Factor by which 5GHz RSSI is boosted")
/*
*
* 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI.
* @Min: 0
* @Max: 20
* @Default: 10
* This ini is used to set maximum boost which can be given to a 5Ghz network.
*
* Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor
* 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_MAX_RSSI_BOOST CFG_INI_UINT( \
"5g_max_rssi_boost", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Maximum boost that can be applied to 5GHz RSSI")
/*
*
* 5g_rssi_penalize_threshold - A_band_penalize_threshold above which
* 5 GHz is not favored.
* @Min: -80
* @Max: -65
* @Default: -70
* This ini is used to set threshold for 5GHz band preference.
*
* Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize
* 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD CFG_INI_INT( \
"5g_rssi_penalize_threshold", \
-80, \
-65, \
-70, \
CFG_VALUE_OR_DEFAULT, \
"A_band_penalize_threshold above which 5 GHz is not favored")
/*
*
* 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed.
* @Min: 0
* @Max: 2
* @Default: 1
* This ini is used to set the 5Ghz penalize factor.
*
* Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize
* 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_RSSI_PENALIZE_FACTOR CFG_INI_UINT( \
"5g_rssi_penalize_factor", \
0, \
2, \
1, \
CFG_VALUE_OR_DEFAULT, \
"Factor by which 5GHz RSSI is penalizeed")
/*
*
* 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI.
* @Min: 0
* @Max: 20
* @Default: 10
* This ini is used to set maximum penalty which can be given to a 5Ghz network.
*
* Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor
* 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
*
* Supported Feature: 5G band preference
*
* Usage: External
*
*
*/
#define CFG_LFR_5G_MAX_RSSI_PENALIZE CFG_INI_UINT( \
"5g_max_rssi_penalize", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Maximum penalty that can be applied to 5GHz RSSI")
/*
*
* max_num_pre_auth - Configure max number of pre-auth
* @Min: 0
* @Max: 256
* @Default: 64
*
* This ini is used to configure the data max number of pre-auth
*
* Usage: Internal
*
*
*/
#define CFG_LFR_MAX_NUM_PRE_AUTH CFG_UINT( \
"max_num_pre_auth", \
0, \
256, \
64, \
CFG_VALUE_OR_DEFAULT, \
"")
/*
*
* roam_preauth_retry_count
*
* @Min: 1
* @Max: 10
* @Default: 5
*
* The maximum number of software retries for preauth or
* reassoc made before picking up the next candidate for
* connection during roaming.
*
* Related: N/A
*
* Supported Features: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT CFG_INI_INT( \
"roam_preauth_retry_count", \
1, \
10, \
5, \
CFG_VALUE_OR_DEFAULT, \
"The maximum number of software retries for preauth")
/*
*
* roam_preauth_no_ack_timeout
*
* @Min: 5
* @Max: 50
* @Default: 5
*
* Time to wait (in ms) after sending an preauth or reassoc
* request which didn't have an ack, before considering
* it as a failure and making another software retry.
*
* Related: N/A
*
* Supported Features: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT CFG_INI_INT( \
"roam_preauth_no_ack_timeout", \
5, \
50, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Time to wait after sending an preauth or reassoc")
/*
*
* FastRoamEnabled - Enable fast roaming
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to inform FW to enable fast roaming
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_FEATURE_ENABLED CFG_INI_BOOL( \
"FastRoamEnabled", \
1, \
"Enable fast roaming")
/*
*
* MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global
* @Min: 0 - Disabled
* @Max: 1 - Enabled
* @Default: 0
*
* This ini is used to controls the MAWC feature globally.
* MAWC is Motion Aided Wireless Connectivity.
*
* Related: mawc_roam_enabled.
*
* Supported Feature: Roaming and PNO/NLO
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_MAWC_FEATURE_ENABLED CFG_INI_BOOL( \
"MAWCEnabled", \
0, \
"Enable MAWC")
/*
*
* FastTransitionEnabled - Enable fast transition in case of 11r and ese.
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to turn ON/OFF the whole neighbor roam, pre-auth, reassoc.
* With this turned OFF 11r will completely not work. For 11r this flag has to
* be ON. For ESE fastroam will not work.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_FAST_TRANSITION_ENABLED CFG_INI_BOOL( \
"FastTransitionEnabled", \
1, \
"Enable fast transition")
/*
*
* RoamRssiDiff - Enable roam based on rssi
* @Min: 0
* @Max: 100
* @Default: 5
*
* This INI is used to decide whether to Roam or not based on RSSI. AP1 is the
* currently associated AP and AP2 is chosen for roaming. The Roaming will
* happen only if AP2 has better Signal Quality and it has a RSSI better than
* AP2. RoamRssiDiff is the number of units (typically measured in dB) AP2
* is better than AP1.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_RSSI_DIFF CFG_INI_UINT( \
"RoamRssiDiff", \
0, \
100, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Enable roam based on rssi")
/*
*
* RoamRssiDiff6GHz - Enable roam to 6 GHz AP based on rssi
* @Min: 0
* @Max: 100
* @Default: 5
*
* This INI is used to decide whether to roam to 6 GHz AP or not based on RSSI.
* AP1 is the currently associated AP(2.4 GHz / 5 GHz) and AP2(6 GHz) is chosen
* for roaming. The Roaming will happen only if AP2 has better Signal Quality
* and it has a RSSI better than AP1. RoamRssiDiff6GHz is the number of units
* (typically measured in dB) AP2 is better than AP1.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_RSSI_DIFF_6GHZ CFG_INI_UINT( \
"RoamRssiDiff6GHz", \
0, \
100, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Enable 6 GHz roam based on rssi")
/*
*
* bg_rssi_threshold - To set RSSI Threshold for BG scan roaming
* @Min: 0
* @Max: 100
* @Default: 5
*
* This INI is used to set the value of rssi threshold to trigger roaming
* after background scan. To trigger roam after bg scan, value of rssi of
* candidate AP should be higher by this threshold than the rssi of the
* currently associated AP.
*
* Related: RoamRssiDiff
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BG_RSSI_TH CFG_INI_UINT( \
"bg_rssi_threshold", \
0, \
100, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Enable roam based on rssi after BG scan")
/*
*
* gWESModeEnabled - Enable WES mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable Wireless Extended Security mode.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ENABLE_WES_MODE CFG_INI_BOOL( \
"gWESModeEnabled", \
0, \
"Enable WES mode")
/*
*
* gRoamScanOffloadEnabled - Enable Roam Scan Offload
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is used to enable Roam Scan Offload in firmware
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED CFG_INI_BOOL( \
"gRoamScanOffloadEnabled", \
1, \
"Enable Roam Scan Offload")
/*
*
* gNeighborScanChannelList - Set channels to be scanned
* by firmware for LFR scan
* @Default: ""
*
* This ini is used to set the channels to be scanned
* by firmware for LFR scan.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST CFG_INI_STRING( \
"gNeighborScanChanList", \
0, \
CFG_VALID_CHANNEL_LIST_STRING_LEN, \
"", \
"Set channels to be scanned")
/*
*
* gNeighborScanTimerPeriod - Set neighbor scan timer period
* @Min: 3
* @Max: 300
* @Default: 100
*
* This ini is used to set the timer period in secs after
* which neighbor scan is triggered.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD CFG_INI_UINT( \
"gNeighborScanTimerPeriod", \
3, \
300, \
100, \
CFG_VALUE_OR_DEFAULT, \
"Neighbor scan timer period")
/*
*
* gRoamRestTimeMin/RoamScan_HomeTime - Set min neighbor scan timer period
* @Min: 3
* @Max: 300
* @Default: 50
*
* This is the min rest time after which firmware will check for traffic
* and if there no traffic it will move to a new channel to scan
* else it will stay on the home channel till gNeighborScanTimerPeriod time
* and then will move to a new channel to scan.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD CFG_INI_UINT( \
"gRoamRestTimeMin RoamScan_HomeTime", \
RoamScan_HomeTime_min, \
RoamScan_HomeTime_max, \
RoamScan_HomeTime_default, \
CFG_VALUE_OR_DEFAULT, \
"Min neighbor scan timer period")
/*
*
* gNeighborLookupThreshold/RoamRSSI_Trigger - Set neighbor lookup rssi
* threshold
* @Min: -100
* @Max: -50
* @Default: -76
*
* This is used to control the RSSI threshold for neighbor lookup.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD CFG_INI_INT( \
"gNeighborLookupThreshold RoamRSSI_Trigger", \
RoamRSSI_Trigger_min, \
RoamRSSI_Trigger_max, \
RoamRSSI_Trigger_default, \
CFG_VALUE_OR_DEFAULT, \
"Neighbor lookup rssi threshold")
/*
*
* gOpportunisticThresholdDiff - Set oppurtunistic threshold diff
* @Min: 0
* @Max: 127
* @Default: 0
*
* This ini is used to set opportunistic threshold diff.
* This parameter is the RSSI diff above neighbor lookup
* threshold, when opportunistic scan should be triggered.
* MAX value is chosen so that this type of scan can be
* always enabled by user.
* MIN value will cause opportunistic scan to be triggered
* in neighbor lookup RSSI range.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF CFG_INI_UINT( \
"gOpportunisticThresholdDiff", \
0, \
127, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Set oppurtunistic threshold diff")
/*
*
* gRoamRescanRssiDiff/RoamScan_StepRSSI - Sets RSSI for Scan trigger in
* firmware
* @Min: 0
* @Max: 100
* @Default: 5
*
* This INI is the drop in RSSI value that will trigger a precautionary
* scan by firmware. Max value is chosen in such a way that this type
* of scan can be disabled by user.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_RESCAN_RSSI_DIFF CFG_INI_UINT( \
"gRoamRescanRssiDiff RoamScan_StepRSSI", \
RoamScan_StepRSSI_min, \
RoamScan_StepRSSI_max, \
RoamScan_StepRSSI_default, \
CFG_VALUE_OR_DEFAULT, \
"Sets RSSI for Scan trigger in firmware")
/*
*
* gNeighborScanChannelMinTime - Set neighbor scan channel min time
* @Min: 10
* @Max: 40
* @Default: 20
*
* This ini is used to set the minimum time in secs spent on each
* channel in LFR scan inside firmware.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME CFG_INI_UINT( \
"gNeighborScanChannelMinTime", \
10, \
40, \
20, \
CFG_VALUE_OR_DEFAULT, \
"Neighbor scan channel min time")
/*
*
* gNeighborScanChannelMaxTime/RoamScan_ActiveCH_DwellTime - Set neighbor scan
* channel max time
* @Min: 3
* @Max: 300
* @Default: 40
*
* This ini is used to set the maximum time in secs spent on each
* channel in LFR scan inside firmware.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME CFG_INI_UINT( \
"gNeighborScanChannelMaxTime RoamScan_ActiveCH_DwellTime", \
RoamScan_ActiveCH_DwellTime_min, \
RoamScan_ActiveCH_DwellTime_max, \
RoamScan_ActiveCH_DwellTime_default, \
CFG_VALUE_OR_DEFAULT, \
"Neighbor scan channel max time")
/*
*
* gNeighborScanRefreshPeriod - Set neighbor scan refresh period
* @Min: 1000
* @Max: 60000
* @Default: 20000
*
* This ini is used by firmware to set scan refresh period
* in msecs for lfr scan.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD CFG_INI_UINT( \
"gNeighborScanRefreshPeriod", \
1000, \
60000, \
20000, \
CFG_VALUE_OR_DEFAULT, \
"Neighbor scan refresh period")
/*
*
* gFullRoamScanPeriod - Set full roam scan refresh period
* @Min: 0
* @Max: 600
* @Default: 0
*
* This ini is used by firmware to set full roam scan period in secs.
* Full roam scan period is the minimum idle period in seconds between two
* successive full channel roam scans. If this is configured as a non-zero,
* full roam scan will be triggered for every configured interval.
* If this configured as 0, full roam scan will not be triggered at all.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
"gFullRoamScanPeriod", \
0, \
600, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Full roam scan refresh period")
/*
*
* gEmptyScanRefreshPeriod - Set empty scan refresh period
* @Min: 0
* @Max: 60000
* @Default: 0
*
* This ini is used by firmware to set scan period in msecs
* following empty scan results.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
"gEmptyScanRefreshPeriod", \
0, \
60000, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Empty scan refresh period")
/*
*
* RoamScan_FirstTimer - Set empty scan refresh period
* @Min: 0
* @Max: 20
* @Default: 10
*
* This ini is used by firmware to set scan period in secs
* following empty scan results.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
*
*/
#define CFG_ROAM_SCAN_FIRST_TIMER CFG_INI_UINT( \
"RoamScan_FirstTimer", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Empty scan refresh period")
/*
*
* gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event
* @Min: 5
* @Max: 100
* @Default: 10
*
* This ini used to control how many beacon miss will trigger first bmiss
* event. First bmiss event will result in roaming scan.
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BMISS_FIRST_BCNT CFG_INI_UINT( \
"gRoamBmissFirstBcnt", \
5, \
100, \
10, \
CFG_VALUE_OR_DEFAULT, \
"First beacon miss count")
/*
*
* gRoamBmissFinalBcnt - Beacon miss count to trigger final bmiss event
* @Min: 5
* @Max: 100
* @Default: 20
*
* This ini used to control how many beacon miss will trigger final bmiss
* event. Final bmiss event will make roaming take place or cause the
* indication of final bmiss event.
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_BMISS_FINAL_BCNT CFG_INI_UINT( \
"gRoamBmissFinalBcnt", \
5, \
100, \
20, \
CFG_VALUE_OR_DEFAULT, \
"Final beacon miss count")
/*
*
* BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 3
*
* This ini is used to control the beacon miss timeout when the system is awake.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
*
*/
/*
*
* BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 6
*
* This ini is used to control the beacon miss timeout when the system is awake.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP CFG_INI_UINT( \
"ConBeaconLoss_TimeoutOnWakeUp", \
CONBEACONLOSS_TIMEOUTONWAKEUP_MIN, \
CONBEACONLOSS_TIMEOUTONWAKEUP_MAX, \
CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT, \
CFG_VALUE_OR_DEFAULT, \
"ConBeaconloss timeout on wakeup")
/*
*
* BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 5
*
* This ini is used to control the beacon miss timeout
* when the system is in sleep.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
*
*/
/*
*
* BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 10
*
* This ini is used to control the beacon miss timeout
* when the system is in sleep.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP CFG_INI_UINT( \
"ConBeaconLoss_TimeoutOnSleep", \
CONBEACONLOSS_TIMEOUTONSLEEP_MIN, \
CONBEACONLOSS_TIMEOUTONSLEEP_MAX, \
CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT, \
CFG_VALUE_OR_DEFAULT, \
"ConBeaconloss timeout on sleep")
/*
*
* gAllowDFSChannelRoam - Allow dfs channel in roam
* @Min: 0
* @Max: 2
* @Default: 1
*
* This ini is used to set default dfs channel
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_ROAMING_DFS_CHANNEL CFG_INI_UINT( \
"gAllowDFSChannelRoam", \
0, \
2, \
1, \
CFG_VALUE_OR_DEFAULT, \
"Allow dfs channel in roam")
/*
*
* gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count
* @Min: 0
* @Max: 10
* @Default: 3
*
* This INI is used to set maximum scan count in 5GHz
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT CFG_INI_UINT( \
"gRoamScanHiRssiMaxCount", \
0, \
10, \
3, \
CFG_VALUE_OR_DEFAULT, \
"5GHz maximum scan count")
/*
*
* gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger
* @Min: 0
* @Max: 40
* @Default: 23
*
* This INI is used to set change in RSSI at which scan is triggered
* in 5GHz.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA CFG_INI_UINT( \
"gRoamScanHiRssiDelta", \
0, \
40, \
23, \
CFG_VALUE_OR_DEFAULT, \
"RSSI Delta for scan trigger")
/*
*
* gRoamScanHiRssiDelay - Sets minimum delay between 5GHz scans
* @Min: 5000
* @Max: 0x7fffffff
* @Default: 15000
*
* This INI is used to set the minimum delay between 5GHz scans.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY CFG_INI_UINT( \
"gRoamScanHiRssiDelay", \
5000, \
0x7fffffff, \
15000, \
CFG_VALUE_OR_DEFAULT, \
"Minimum delay between 5GHz scans")
/*
*
* gRoamScanHiRssiUpperBound - Sets upper bound after which 5GHz scan
* @Min: -66
* @Max: 0
* @Default: -30
*
* This INI is used to set the RSSI upper bound above which the 5GHz scan
* will not be performed.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_HI_RSSI_UB CFG_INI_INT( \
"gRoamScanHiRssiUpperBound", \
-66, \
0, \
-30, \
CFG_VALUE_OR_DEFAULT, \
"Upper bound after which 5GHz scan")
/*
*
* gRoamPrefer5GHz - Prefer roaming to 5GHz Bss
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to inform FW to prefer roaming to 5GHz BSS
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_PREFER_5GHZ CFG_INI_BOOL( \
"gRoamPrefer5GHz", \
1, \
"Prefer roaming to 5GHz Bss")
/*
*
* gRoamIntraBand - Prefer roaming within Band
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to inform FW to prefer roaming within band
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_INTRA_BAND CFG_INI_BOOL( \
"gRoamIntraBand", \
0, \
"Prefer roaming within Band")
/*
*
* gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming
* @Min: 1
* @Max: 10
* @Default: 2
*
* This INI is used to set the maximum number of probes the firmware can send
* for firmware internal roaming cases.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_N_PROBES CFG_INI_UINT( \
"gRoamScanNProbes", \
1, \
10, \
2, \
CFG_VALUE_OR_DEFAULT, \
"The number of probes to be sent for firmware roaming")
/*
*
* gRoamScanHomeAwayTime/RoamScan_AwayTime - Sets the Home Away Time to firmware
* @Min: 0
* @Max: 300
* @Default: 0
*
* Home Away Time should be at least equal to (gNeighborScanChannelMaxTime
* + (2*RFS)), where RFS is the RF Switching time(3). It is twice RFS
* to consider the time to go off channel and return to the home channel.
*
* Related: gNeighborScanChannelMaxTime
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME CFG_INI_UINT( \
"gRoamScanHomeAwayTime RoamScan_AwayTime", \
RoamScan_AwayTime_min, \
RoamScan_AwayTime_max, \
RoamScan_AwayTime_default, \
CFG_VALUE_OR_DEFAULT, \
"the home away time to firmware")
/*
*
* gDelayBeforeVdevStop - wait time for tx complete before vdev stop
* @Min: 2
* @Max: 200
* @Default: 20
*
* This INI is used to set wait time for tx complete before vdev stop.
*
* Related: None
*
* Usage: External
*
*
*/
#define CFG_LFR_DELAY_BEFORE_VDEV_STOP CFG_INI_UINT( \
"gDelayBeforeVdevStop", \
2, \
200, \
20, \
CFG_VALUE_OR_DEFAULT, \
"wait time for tx complete before vdev stop")
/*
*
* enable_bss_load_roam_trigger - enable/disable bss load based roam trigger
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini when enabled, allows the firmware to roam when bss load outpaces
* the configured bss load threshold. When this ini is disabled, firmware
* doesn't consider bss load values to trigger roam.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM CFG_INI_BOOL( \
"enable_bss_load_roam_trigger", \
0, \
"enable bss load triggered roaming")
/*
*
* bss_load_threshold/RoamCU_Trigger - bss load above which the STA should
* trigger roaming
* @Min: 0
* @Max: 100
* @Default: 70
*
* When the bss load value that is sampled exceeds this threshold, firmware
* will trigger roaming if bss load trigger is enabled.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_BSS_LOAD_THRESHOLD CFG_INI_UINT( \
"bss_load_threshold RoamCU_Trigger", \
RoamCU_Trigger_min, \
RoamCU_Trigger_max, \
RoamCU_Trigger_default, \
CFG_VALUE_OR_DEFAULT, \
"bss load threshold")
/*
*
* bss_load_sample_time - Time in milliseconds for which the bss load values
* obtained from the beacons is sampled.
* @Min: 0
* @Max: 0xffffffff
* @Default: 10000
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_BSS_LOAD_SAMPLE_TIME CFG_INI_UINT( \
"bss_load_sample_time", \
0, \
0xffffffff, \
10000, \
CFG_VALUE_OR_DEFAULT, \
"bss load sampling time")
/*
*
* RoamCU_MonitorTime - Time in seconds for which the bss load values
* obtained from the beacons is sampled.
* @Min: 0
* @Max: 20
* @Default: 10
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_CU_MONITOR_TIME CFG_INI_UINT( \
"RoamCU_MonitorTime", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"bss load sampling time")
/*
*
* bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange -
* Current AP minimum RSSI in dBm below
* which roaming can be triggered if BSS load exceeds bss_load_threshold.
* @Min: -120
* @Max: 0
* @Default: -70
*
* If connected AP is in 6Ghz, then consider bss load roam triggered only if
* load % > bss_load_threshold && connected AP rssi is worse than
* bss_load_trigger_6g_rssi_threshold
*
* Related: "bss_load_threshold"
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
/*
*
* bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange -
* Current AP minimum RSSI in dBm below
* which roaming can be triggered if BSS load exceeds bss_load_threshold.
* @Min: -70
* @Max: -50
* @Default: -70
*
* If connected AP is in 6Ghz, then consider bss load roam triggered only if
* load % > bss_load_threshold && connected AP rssi is worse than
* bss_load_trigger_6g_rssi_threshold
*
* Related: "bss_load_threshold"
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_BSS_LOAD_TRIG_6G_RSSI_THRES CFG_INI_INT( \
"bss_load_trigger_6g_rssi_threshold RoamCU_6GRSSIRange", \
ROAMCU_6GRSSIRANGE_MIN, \
ROAMCU_6GRSSIRANGE_MAX, \
ROAMCU_6GRSSIRANGE_DEFAULT, \
CFG_VALUE_OR_DEFAULT, \
"Minimum RSSI of current AP in 6GHz band for BSS load roam trigger")
/*
*
* bss_load_trigger_5g_rssi_threshold/RoamCU_5GRSSIRange -
* Current AP minimum RSSI in dBm below
* which roaming can be triggered if BSS load exceeds bss_load_threshold.
* @Min: -120
* @Max: 0
* @Default: -70
*
* If connected AP is in 5Ghz, then consider bss load roam triggered only if
* load % > bss_load_threshold && connected AP rssi is worse than
* bss_load_trigger_5g_rssi_threshold
*
* Related: "bss_load_threshold"
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_BSS_LOAD_TRIG_5G_RSSI_THRES CFG_INI_INT( \
"bss_load_trigger_5g_rssi_threshold RoamCU_5GRSSIRange", \
RoamCU_5GRSSIRange_min, \
RoamCU_5GRSSIRange_max, \
RoamCU_5GRSSIRange_default, \
CFG_VALUE_OR_DEFAULT, \
"Minimum RSSI of current AP in 5GHz band for BSS load roam trigger")
/*
*
* bss_load_trigger_2g_rssi_threshold/RoamCU_24GRSSIRange -
* Current AP minimum RSSI in dBm below
* which roaming can be triggered if BSS load exceeds bss_load_threshold.
* @Min: -120
* @Max: 0
* @Default: -60
*
* If connected AP is in 2Ghz, then consider bss load roam triggered only if
* load % > bss_load_threshold && connected AP rssi is worse than
* bss_load_trigger_2g_rssi_threshold.
*
* Related: "bss_load_threshold"
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_BSS_LOAD_TRIG_2G_RSSI_THRES CFG_INI_INT( \
"bss_load_trigger_2g_rssi_threshold RoamCU_24GRSSIRange", \
RoamCU_24GRSSIRange_min, \
RoamCU_24GRSSIRange_max, \
RoamCU_24GRSSIRange_default, \
CFG_VALUE_OR_DEFAULT, \
"Minimum RSSI of current AP in 2.4GHz band for BSS load roam trigger")
/*
*
* ho_delay_for_rx - Delay hand-off (in msec) by this duration to receive
* pending rx frames from current BSS
* @Min: 0
* @Max: 200
* @Default: 0
*
* For LFR 3.0 roaming scenario, once roam candidate is found, firmware
* waits for minimum this much duration to receive pending rx frames from
* current BSS before switching to new channel for handoff to new AP.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR3_ROAM_HO_DELAY_FOR_RX CFG_INI_UINT( \
"ho_delay_for_rx", \
0, \
200, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Delay Hand-off by this duration to receive")
/*
*
* min_delay_btw_roam_scans - Min duration (in sec) allowed btw two
* consecutive roam scans
* @Min: 0
* @Max: 60
* @Default: 10
*
* Roam scan is not allowed if duration between two consecutive
* roam scans is less than this time.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN CFG_INI_UINT( \
"min_delay_btw_roam_scans", \
0, \
60, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Min duration")
/*
*
* roam_trigger_reason_bitmask - Contains roam_trigger_reasons
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 0x10DA
*
* Bitmask containing roam_trigger_reasons for which
* min_delay_btw_roam_scans constraint should be applied.
* Currently supported bit positions are as follows:
* Bit 0 is reserved in the firmware.
* WMI_ROAM_TRIGGER_REASON_PER - 1
* WMI_ROAM_TRIGGER_REASON_BMISS - 2
* WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3
* WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4
* WMI_ROAM_TRIGGER_REASON_PERIODIC - 5
* WMI_ROAM_TRIGGER_REASON_MAWC - 6
* WMI_ROAM_TRIGGER_REASON_DENSE - 7
* WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8
* WMI_ROAM_TRIGGER_REASON_FORCED - 9
* WMI_ROAM_TRIGGER_REASON_BTM - 10
* WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11
* WMI_ROAM_TRIGGER_REASON_BSS_LOAD - 12
* WMI_ROAM_TRIGGER_REASON_DEAUTH - 13
* WMI_ROAM_TRIGGER_REASON_IDLE - 14
* WMI_ROAM_TRIGGER_REASON_MAX - 15
*
* For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE)
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK CFG_INI_UINT( \
"roam_trigger_reason_bitmask", \
0, \
0xFFFFFFFF, \
0x10DA, \
CFG_VALUE_OR_DEFAULT, \
"Contains roam_trigger_reasons")
/*
*
* enable_ftopen - enable/disable FT open feature
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is used to enable/disable FT open feature
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_FT_OPEN_ENABLE CFG_INI_BOOL( \
"enable_ftopen", \
1, \
"enable/disable FT open feature")
/*
*
* roam_force_rssi_trigger - To force RSSI trigger
* irrespective of channel list type
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to set roam scan mode
* WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether
* channel list type is CHANNEL_LIST_STATIC or not
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ROAM_FORCE_RSSI_TRIGGER CFG_INI_BOOL( \
"roam_force_rssi_trigger", \
1, \
"To force RSSI trigger")
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
/*
*
* gRoamOffloadEnabled - enable/disable roam offload feature
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is used to enable/disable roam offload feature
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR3_ROAMING_OFFLOAD CFG_INI_BOOL( \
"gRoamOffloadEnabled", \
1, \
"enable roam offload")
/*
*
* enable_self_bss_roam - enable/disable roaming to self bss
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is used to enable/disable roaming to already connected BSSID
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: Internal
*
*
*/
#define CFG_LFR3_ENABLE_SELF_BSS_ROAM CFG_INI_BOOL( \
"enable_self_bss_roam", \
1, \
"enable self bss roam")
/*
*
* enable_disconnect_roam_offload - Enable/Disable emergency roaming during
* deauth/disassoc
* @Min: 0 - Disabled
* @Max: 1 - Enabled
* @Default: 1
*
* When this ini is enabled firmware will trigger roam scan and roam to a new ap
* if candidate is found and it will not send the deauth/disassoc frame to
* the host driver.
* If roaming fails after this deauth, then firmware will send
* WMI_ROAM_REASON_DEAUTH event to the host. If roaming is successful, driver
* follows the normal roam synch event path.
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_ENABLE_DISCONNECT_ROAM CFG_INI_BOOL( \
"enable_disconnect_roam_offload", \
true, \
"Enable/Disable roaming on deauth/disassoc from AP")
/*
*
* enable_idle_roam - Enable/Disable idle roaming
* @Min: 0 - Disabled
* @Max: 1 - Enabled
* @Default: 0
*
* When this ini is enabled firmware will trigger roam scan and roam to a new
* ap if current connected AP rssi falls below the threshold. To consider the
* connection as idle, the following conditions should be met if this ini
* "enable_idle_roam" is enabled:
* 1. User space sends "SET SUSPENDMODE" command with value 0.
* 2. No TX/RX data for idle time configured via ini "idle_roam_inactive_time".
* 3. Connected AP rssi change doesn't exceed a specific delta value.
* (configured via ini idle_roam_rssi_delta)
* 4. Connected AP rssi falls below minimum rssi (configured via ini
* "idle_roam_min_rssi").
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_ENABLE_IDLE_ROAM CFG_INI_BOOL( \
"enable_idle_roam", \
false, \
"Enable/Disable idle roam")
/*
*
* idle_roam_rssi_delta/RoamIdle_RSSIVariation - This threshold is the criteria
* to decide whether DUT is idle or moving. If rssi delta is more than
* configured threshold then its considered as not idle. RSSI delta is entered
*in dBm. Idle roaming can be triggered if the connected AP rssi change exceeds
* or falls below the rssi delta and if other criteria of ini "enable_idle_roam"
* is met
* @Min: 0
* @Max: 50
* @Default: 3
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_IDLE_ROAM_RSSI_DELTA CFG_INI_UINT( \
"idle_roam_rssi_delta RoamIdle_RSSIVariation", \
RoamIdle_RSSIVariation_min, \
RoamIdle_RSSIVariation_max, \
RoamIdle_RSSIVariation_default, \
CFG_VALUE_OR_DEFAULT, \
"Configure RSSI delta to start idle roam")
/*
*
* idle_roam_inactive_time - Time duration in milliseconds for which the
* connection is idle.
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 10000
*
* This ini is used to configure the time in seconds for which the connection
* candidate is idle and after which idle roam scan can be triggered if
* other criteria of ini "enable_idle_roam" is met.
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_IDLE_ROAM_INACTIVE_TIME CFG_INI_UINT( \
"idle_roam_inactive_time", \
0, \
0xFFFFFFFF, \
10000, \
CFG_VALUE_OR_DEFAULT, \
"Configure RSSI delta to start idle roam")
/*
*
* RoamIdle_InactiveTime - Time duration in seconds for which the
* connection is idle.
* @Min: 0
* @Max: 20
* @Default: 10
*
* This ini is used to configure the time in seconds for which the connection
* candidate is idle and after which idle roam scan can be triggered if
* other criteria of ini "enable_idle_roam" is met.
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_ROAM_IDLE_INACTIVE_TIME CFG_INI_UINT( \
"RoamIdle_InactiveTime", \
0, \
20, \
RoamIdle_InactiveTime_default, \
CFG_VALUE_OR_DEFAULT, \
"Configure RSSI delta to start idle roam")
/*
*
* idle_data_packet_count/RoamIdle_InactivePacketCount - No of tx/rx packets
* above which the connection is not idle.
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 10
*
* This ini is used to configure the acceptable number of tx/rx packets below
* which the connection is idle. Ex: If idle_data_packet_count is 10
* and if the tx/rx packet count is less than 10, the connection is
* idle. If there are more than 10 packets, the connection is active one.
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_IDLE_ROAM_PACKET_COUNT CFG_INI_UINT( \
"idle_data_packet_count RoamIdle_InactivePacketCount", \
RoamIdle_InactivePacketCount_min, \
RoamIdle_InactivePacketCount_max, \
RoamIdle_InactivePacketCount_default, \
CFG_VALUE_OR_DEFAULT, \
"Configure idle packet count")
/*
*
* idle_roam_min_rssi/RoamIdle_MinRSSI - Minimum RSSI of connected AP, below
* which idle roam scan can be triggered if other criteria of ini
* "enable_idle_roam" is met.
* @Min: -96
* @Max: 0
* @Default: -65
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_IDLE_ROAM_MIN_RSSI CFG_INI_INT( \
"idle_roam_min_rssi RoamIdle_MinRSSI", \
RoamIdle_MinRSSI_min, \
RoamIdle_MinRSSI_max, \
RoamIdle_MinRSSI_default, \
CFG_VALUE_OR_DEFAULT, \
"Configure idle roam minimum RSSI")
/*
*
* idle_roam_band/RoamIdle_TriggerBand - Band on which idle roam scan will be
* enabled
* @Min: 0
* @Max: 2
* @Default: 0
*
* Value 0 - Allow idle roam on both bands
* Value 1 - Allow idle roam only on 2G band
* Value 2 - Allow idle roam only on 5G band
*
* Related: enable_idle_roam
*
* Supported Feature: Roaming
*
* Usage: Internal/External
*
*
*/
#define CFG_LFR_IDLE_ROAM_BAND CFG_INI_UINT( \
"idle_roam_band RoamIdle_TriggerBand", \
RoamIdle_TriggerBand_min, \
RoamIdle_TriggerBand_max, \
RoamIdle_TriggerBand_default, \
CFG_VALUE_OR_DEFAULT, \
"Band on which idle roam needs to be enabled")
/*
*
* roam_triggers - Bitmap of roaming triggers. Setting this to
* zero will disable roaming altogether for the STA interface.
* ESS report element of beacon explores BSS information, for roaming station
* uses it to consider next AP to roam. ROAM_TRIGGER_REASON_ESS_RSSI bit is
* to enable/disable roam trigger for ESS RSSI reason. This bit of ini is also
* used for WFA certification.
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 0x3FFFF
*
* ROAM_TRIGGER_REASON_PER BIT 1
* ROAM_TRIGGER_REASON_BMISS BIT 2
* ROAM_TRIGGER_REASON_LOW_RSSI BIT 3
* ROAM_TRIGGER_REASON_HIGH_RSSI BIT 4
* ROAM_TRIGGER_REASON_PERIODIC BIT 5
* ROAM_TRIGGER_REASON_MAWC BIT 6
* ROAM_TRIGGER_REASON_DENSE BIT 7
* ROAM_TRIGGER_REASON_BACKGROUND BIT 8
* ROAM_TRIGGER_REASON_FORCED BIT 9
* ROAM_TRIGGER_REASON_BTM BIT 10
* ROAM_TRIGGER_REASON_UNIT_TEST BIT 11
* ROAM_TRIGGER_REASON_BSS_LOAD BIT 12
* ROAM_TRIGGER_REASON_DEAUTH BIT 13
* ROAM_TRIGGER_REASON_IDLE BIT 14
* ROAM_TRIGGER_REASON_STA_KICKOUT BIT 15
* ROAM_TRIGGER_REASON_ESS_RSSI BIT 16
* ROAM_TRIGGER_REASON_WTC_BTM BIT 17
* ROAM_TRIGGER_REASON_PMK_TIMEOUT BIT 18
* ROAM_TRIGGER_REASON_BTC BIT 19
* ROAM_TRIGGER_REASON_MAX BIT 20
*
* Related: none
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_TRIGGER_BITMAP CFG_INI_UINT( \
"roam_triggers", \
0, \
0xFFFFFFFF, \
0x7FFFF, \
CFG_VALUE_OR_DEFAULT, \
"Bitmap of roaming triggers")
/*
*
* sta_disable_roam - Disable Roam on sta interface
* @Min: 0 - Roam Enabled on sta interface
* @Max: 0xffffffff - Roam Disabled on sta interface irrespective
* of other interface connections
* @Default: 0x00
*
* Disable roaming on STA iface to avoid audio glitches on p2p and ndp if
* those are in connected state. Each bit for "sta_disable_roam" INI represents
* an interface for which sta roaming can be disabled.
*
* LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
* LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
*
* Related: None.
*
* Supported Feature: ROAM
*
* Usage: Internal
*
*
*/
#define CFG_STA_DISABLE_ROAM CFG_INI_UINT( \
"sta_disable_roam", \
0, \
0xffffffff, \
0x00, \
CFG_VALUE_OR_DEFAULT, \
"disable roam on STA iface if one of the iface mentioned in default is in connected state")
/*
*
* enable_dual_sta_roam_offload - Enable roaming offload on both interfaces
* for STA + STA
* @Min: 0 - Dual STA Roam offload Disabled
* @Max: 1 - Dual STA Roam offload Enabled
* @Default: 1
*
* Enabling this ini will:
* a) Enforce the STA + STA connection be DBS if the hw is capable.
* b) Enable Roam Scan Offload on both the STA vdev.
* c) Enable firmware to support sequential roaming on both STA vdev
* if the firmware is capable of dual sta roaming.
*
* Related: None.
*
* Supported Feature: ROAM
*
* Usage: External
*
*
*/
#define CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD CFG_INI_UINT( \
"enable_dual_sta_roam_offload", \
false, \
true, \
true, \
CFG_VALUE_OR_DEFAULT, \
"Enable roam on both STA vdev")
#define ROAM_OFFLOAD_ALL \
CFG(CFG_LFR3_ROAMING_OFFLOAD) \
CFG(CFG_LFR3_ENABLE_SELF_BSS_ROAM) \
CFG(CFG_LFR_ENABLE_DISCONNECT_ROAM) \
CFG(CFG_LFR_ENABLE_IDLE_ROAM) \
CFG(CFG_LFR_IDLE_ROAM_RSSI_DELTA) \
CFG(CFG_LFR_IDLE_ROAM_INACTIVE_TIME) \
CFG(CFG_ROAM_IDLE_INACTIVE_TIME) \
CFG(CFG_LFR_IDLE_ROAM_PACKET_COUNT) \
CFG(CFG_LFR_IDLE_ROAM_MIN_RSSI) \
CFG(CFG_LFR_IDLE_ROAM_BAND) \
CFG(CFG_ROAM_TRIGGER_BITMAP) \
CFG(CFG_STA_DISABLE_ROAM) \
CFG(CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD) \
#else
#define ROAM_OFFLOAD_ALL
#endif
#ifdef FEATURE_WLAN_ESE
/*
*
* EseEnabled - Enable ESE feature
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable ESE feature
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR_ESE_FEATURE_ENABLED CFG_INI_BOOL( \
"EseEnabled", \
0, \
"Enable ESE")
#define LFR_ESE_ALL CFG(CFG_LFR_ESE_FEATURE_ENABLED)
#else
#define LFR_ESE_ALL
#endif
#ifdef FEATURE_LFR_SUBNET_DETECTION
/*
*
* gLFRSubnetDetectionEnable - Enable LFR3 subnet detection
* @Min: 0
* @Max: 1
* @Default: 1
*
* Enable IP subnet detection during legacy fast roming version 3. Legacy fast
* roaming could roam across IP subnets without host processors' knowledge.
* This feature enables firmware to wake up the host processor if it
* successfully determines change in the IP subnet. Change in IP subnet could
* potentially cause disruption in IP connnectivity if IP address is not
* refreshed.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_LFR3_ENABLE_SUBNET_DETECTION CFG_INI_BOOL( \
"gLFRSubnetDetectionEnable", \
1, \
"Enable LFR3 subnet detection")
#define LFR_SUBNET_DETECTION_ALL CFG(CFG_LFR3_ENABLE_SUBNET_DETECTION)
#else
#define LFR_SUBNET_DETECTION_ALL
#endif
#if defined(WLAN_SAE_SINGLE_PMK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
/*
*
* sae_single_pmk_feature_enabled - Enable/disable sae single pmk feature.
* @Min: 0
* @Max: 1
* @Default: 1
*
* This INI is to enable/disable SAE Roaming with same PMK/PMKID feature support
*
* Related: None.
*
* Supported Feature: Roaming
*
* Usage: Internal
*
*
*/
#define CFG_SAE_SINGLE_PMK CFG_INI_BOOL( \
"sae_single_pmk_feature_enabled", \
true, \
"Enable/disable SAE Roaming with single PMK/PMKID")
#define SAE_SINGLE_PMK_ALL CFG(CFG_SAE_SINGLE_PMK)
#else
#define SAE_SINGLE_PMK_ALL
#endif
#ifdef WLAN_ADAPTIVE_11R
/*
*
* adaptive_11r - Enable/disable adaptive 11r feature.
* @Min: 0
* @Max: 1
* @Default: 0
*
* Adaptive 11r feature enables the AP to support FT-AKM without
* configuring the FT-AKM in the network. The AP will advertise non-FT akm
* with a vendor specific IE having Adaptive 11r bit set to 1 in the IE data.
* The AP also advertises the MDE in beacon/probe response.
*
* STA should check the adaptive 11r capability if the AP advertises MDE in
* beacon/probe and adaptive 11r capability in vendor specific IE. If adaptive
* 11r capability is found, STA can advertise the FT equivalent of the non-FT
* AKM and connect with 11r protocol.
*
* Related: None.
*
* Supported Feature: Fast BSS Transition
*
* Usage: External
*
*
*/
#define CFG_ADAPTIVE_11R CFG_INI_BOOL( \
"enable_adaptive_11r", \
false, \
"Enable/disable adaptive 11r support")
#define ADAPTIVE_11R_ALL CFG(CFG_ADAPTIVE_11R)
#else
#define ADAPTIVE_11R_ALL
#endif
/*
*
* roaming_scan_policy - To config roaming scan policy
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to configure roaming scan behavior from HOST
* 0 : DBS scan
* 1 : Non-DBS scan
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_SCAN_SCAN_POLICY CFG_INI_BOOL( \
"roaming_scan_policy", \
0, \
"Config roam scan policy")
/*
*
* enable_ft_im_roaming - FW needs to perform FT initial moiblity association
* instead of FT roaming for deauth roam trigger
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to FT roaming for deauth roam trigger behavior from HOST
* 0 - To disable FT-IM
* 1 - To enable FT-IM
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: Internal
*
*
*/
#define CFG_FT_IM_ROAMING CFG_INI_BOOL( \
"enable_ft_im_roaming", \
1, \
"FT roaming for deauth roam trigger")
/*
*
* roam_scan_inactivity_time - Device inactivity monitoring time in
* milliseconds for which the device is considered to be inactive with data
* packets count is less than configured roam_inactive_data_count.
*
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 0
*
* The below three ini values are used to control the roam scan after the
* firmware gets empty roam scan results during periodic roam scans.
* 1. roam_scan_inactivity_time
* 2. roam_inactive_data_count
* The first two ini "roam_scan_inactivity_time" and "roam_inactive_data_count"
* is frames the criteria to detect if the DUT is inactive.
*
* Related: roam_inactive_data_count
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_SCAN_INACTIVITY_TIME CFG_INI_UINT( \
"roam_scan_inactivity_time", \
0, \
0xFFFFFFFF, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Device inactivity monitoring time")
/*
*
* RoamScan_SecondTimer - Device inactivity monitoring time in
* seconds for which the device is considered to be inactive with data
* packets count is less than configured RoamScan_InactiveCount.
*
* @Min: 60
* @Max: 300
* @Default: 120
*
* The below three ini values are used to control the roam scan after the
* firmware gets empty roam scan results during periodic roam scans.
* 1. RoamScan_SecondTimer
* 2. RoamScan_InactiveCount
* 3. RoamScan_InactiveTimer
* The first two ini "RoamScan_SecondTimer" and "RoamScan_InactiveCount"
* is frames the criteria to detect if the DUT is inactive. If the device is
* identified to be inactive based on the above two ini, then the value,
* "RoamScan_InactiveTimer" will be used as periodic roam scan
* duration.
*
* Related: RoamScan_InactiveCount
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_SCAN_SECOND_TIMER CFG_INI_UINT( \
"RoamScan_SecondTimer", \
60, \
300, \
120, \
CFG_VALUE_OR_DEFAULT, \
"Device inactivity monitoring time")
/*
*
* roam_inactive_data_count/RoamScan_InactiveCount - Maximum allowed data
* packets count during roam_scan_inactivity_time.
*
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 10
*
* The DUT is said to be inactive only if the data packets count
* during this roam_scan_inactivity_time is less than the configured
* roam_inactive_data_count.
*
* Related: roam_scan_inactivity_time
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_INACTIVE_COUNT CFG_INI_UINT( \
"roam_inactive_data_count RoamScan_InactiveCount", \
RoamScan_InactiveCount_min, \
RoamScan_InactiveCount_max, \
RoamScan_InactiveCount_default, \
CFG_VALUE_OR_DEFAULT, \
"Roam scan inactivity period data pkt count")
/*
*
* RoamScan_InactiveTimer - Roam scan duration in sec after device is
* out of inactivity state.
*
* @Min: 0
* @Max: 20
* @Default: 10
*
* If there is empty scan results during roam scan, firmware will move to
* roam scan inactive state if roam_scan_inactivity and
* roam_inactive_data_count criteria are met.
* This ini is used to configure the roam scan duration in sec once the
* inactivity is finished and roam scan can be started.
*
* Related: roam_scan_inactivity_time, roam_inactive_data_count
*
* Supported Feature: Roaming
*
* Usage: External
*
*
*/
#define CFG_ROAM_SCAN_INACTIVE_TIMER CFG_INI_UINT( \
"RoamScan_InactiveTimer", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Roam scan period post inactivity")
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
/*
*
* enable_roam_reason_vsie - Enable/Disable inclusion of Roam Reason
* in Re(association) frame
*
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable fw to include/exclude roam reason vsie in
* Re(association)
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: internal
*
*
*/
#define CFG_ENABLE_ROAM_REASON_VSIE CFG_INI_BOOL( \
"enable_roam_reason_vsie", \
0, \
"To Enable enable_roam_reason_vsie")
#define ROAM_REASON_VSIE_ALL CFG(CFG_ENABLE_ROAM_REASON_VSIE)
#else
#define ROAM_REASON_VSIE_ALL
#endif
/*
*
* groam_info_stats_num - number of wlan driver cache roam information
* @Min: 0
* @Max: 32
* @Default: 5
*
* This ini is used to set the cache number of enhanced roam
* information, including roam trigger, scan information and
* roam frame information.
* If ini set to 0, enhanced roam feature not support
*
* Related: LFR
*
* Usage: External
*
*
*/
#define CFG_LFR3_ROAM_INFO_STATS_NUM CFG_INI_UINT( \
"groam_info_stats_num", \
0, \
32, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Roam information cache number in wlan driver")
/*
*
* hs20_btm_offload_disable - To enable/disable BTM offload
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to enable/disable BTM offload for Hotspot 2.0.
* Some solutions may not have Hotspot 2.0 certification
* and there is no need to forward the BTM frame to wpa_supplicant,
* in such solutions Let firmware handle the frame, in such cases by
* enabling btm_offload so that it doesn't wakeup the host.
* Firmware may roam to another AP upon BTM reception.
*
* Related: LFR
*
* Usage: External
*
*
*/
#define CFG_HS_20_BTM_OFFLOAD_DISABLE CFG_INI_BOOL( \
"hs20_btm_offload_disable", \
true, \
"To Enable/disable BTM offload for hotspot 2.0")
#define CFG_LFR_ALL \
CFG(CFG_LFR_MAWC_ROAM_ENABLED) \
CFG(CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD) \
CFG(CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD) \
CFG(CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST) \
CFG(CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST) \
CFG(CFG_LFR_ROAM_RSSI_ABS_THRESHOLD) \
CFG(CFG_LFR_5G_RSSI_THRESHOLD_OFFSET) \
CFG(CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY) \
CFG(CFG_LFR_EARLY_STOP_SCAN_ENABLE) \
CFG(CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD) \
CFG(CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD) \
CFG(CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD) \
CFG(CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET) \
CFG(CFG_LFR_ROAM_DENSE_MIN_APS) \
CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD) \
CFG(CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP) \
CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G) \
CFG(CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS) \
CFG(CFG_ROAM_DATA_RSSI_THRESHOLD) \
CFG(CFG_RX_DATA_INACTIVITY_TIME) \
CFG(CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE) \
CFG(CFG_LFR_PER_ROAM_ENABLE) \
CFG(CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH) \
CFG(CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH) \
CFG(CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT) \
CFG(CFG_LFR_PER_ROAM_REST_TIME) \
CFG(CFG_LFR_PER_ROAM_MONITOR_TIME) \
CFG(CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI) \
CFG(CFG_LFR3_ROAM_DISALLOW_DURATION) \
CFG(CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION) \
CFG(CFG_LFR3_ROAM_NUM_DISALLOWED_APS) \
CFG(CFG_LFR_ENABLE_5G_BAND_PREF) \
CFG(CFG_LFR_5G_RSSI_BOOST_THRESHOLD) \
CFG(CFG_LFR_5G_RSSI_BOOST_FACTOR) \
CFG(CFG_LFR_5G_MAX_RSSI_BOOST) \
CFG(CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD) \
CFG(CFG_LFR_5G_RSSI_PENALIZE_FACTOR) \
CFG(CFG_LFR_5G_MAX_RSSI_PENALIZE) \
CFG(CFG_LFR_MAX_NUM_PRE_AUTH) \
CFG(CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT) \
CFG(CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT) \
CFG(CFG_LFR_FEATURE_ENABLED) \
CFG(CFG_LFR_MAWC_FEATURE_ENABLED) \
CFG(CFG_LFR_FAST_TRANSITION_ENABLED) \
CFG(CFG_LFR_ROAM_RSSI_DIFF) \
CFG(CFG_LFR_ROAM_RSSI_DIFF_6GHZ) \
CFG(CFG_LFR_ROAM_BG_RSSI_TH) \
CFG(CFG_LFR_ENABLE_WES_MODE) \
CFG(CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED) \
CFG(CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST) \
CFG(CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD) \
CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD) \
CFG(CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD) \
CFG(CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF) \
CFG(CFG_LFR_ROAM_RESCAN_RSSI_DIFF) \
CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME) \
CFG(CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME) \
CFG(CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD) \
CFG(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD) \
CFG(CFG_ROAM_SCAN_FIRST_TIMER) \
CFG(CFG_LFR_ROAM_BMISS_FIRST_BCNT) \
CFG(CFG_LFR_ROAM_BMISS_FINAL_BCNT) \
CFG(CFG_LFR_ROAMING_DFS_CHANNEL) \
CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT) \
CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA) \
CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY) \
CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_UB) \
CFG(CFG_LFR_ROAM_PREFER_5GHZ) \
CFG(CFG_LFR_ROAM_INTRA_BAND) \
CFG(CFG_LFR_ROAM_SCAN_N_PROBES) \
CFG(CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME) \
CFG(CFG_LFR_DELAY_BEFORE_VDEV_STOP) \
CFG(CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM) \
CFG(CFG_BSS_LOAD_THRESHOLD) \
CFG(CFG_BSS_LOAD_SAMPLE_TIME) \
CFG(CFG_ROAM_CU_MONITOR_TIME) \
CFG(CFG_LFR3_ROAM_HO_DELAY_FOR_RX) \
CFG(CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN) \
CFG(CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK) \
CFG(CFG_LFR_ROAM_FT_OPEN_ENABLE) \
CFG(CFG_LFR_ROAM_FORCE_RSSI_TRIGGER) \
CFG(CFG_ROAM_SCAN_SCAN_POLICY) \
CFG(CFG_ROAM_SCAN_INACTIVITY_TIME) \
CFG(CFG_ROAM_SCAN_SECOND_TIMER) \
CFG(CFG_FT_IM_ROAMING) \
CFG(CFG_ROAM_INACTIVE_COUNT) \
CFG(CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME) \
CFG(CFG_ROAM_SCAN_INACTIVE_TIMER) \
CFG(CFG_BSS_LOAD_TRIG_6G_RSSI_THRES) \
CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \
CFG(CFG_BSS_LOAD_TRIG_2G_RSSI_THRES) \
CFG(CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD) \
ADAPTIVE_11R_ALL \
ROAM_OFFLOAD_ALL \
LFR_ESE_ALL \
LFR_SUBNET_DETECTION_ALL \
SAE_SINGLE_PMK_ALL \
ROAM_REASON_VSIE_ALL \
CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP) \
CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP) \
CFG(CFG_LFR3_ROAM_INFO_STATS_NUM) \
CFG(CFG_HS_20_BTM_OFFLOAD_DISABLE)
#endif /* CFG_MLME_LFR_H__ */