Support mld self roam between DBS(2 GHz+5/6 GHz) and HBS(5 GHz+6 GHz).
Change high rssi config.
Change-Id: Icb65f26509848a09fe46bf01154a0f42efa073f2
CRs-Fixed: 3416549
Add ini groam_info_stats_num used to control wlan driver
cache roam statistics information number.
Change-Id: I203257af37dcac76c6822ddfcc2e9dc723078a25
CRs-Fixed: 3393712
There are two different names with different range of
value for aliasing INI's.
So, it should pick the valid range of value wrt INI
name.
Change-Id: I58d4797a0fa598a1e44349c8954dac3378f1a751
CRs-Fixed: 3352412
This is applicable only when the roaming happens from 2.4 GHz/5 GHz
to 6 GHz AP.
The value is used to check if the 6 GHz AP to which we are roaming
(from 2.4 GHz/ 5 GHz) is better than current AP in terms of RSSI.
This checking is disabled if the value is set to zero.
Change-Id: I77f1183e1fd704dfa153841e669a20c9e75d0fe7
CRs-Fixed: 3353346
In beacon loss, roaming condition is triggered when client doesn't
receives beacon packets from connected AP for 3 to 5 Secs.
There is no significance of 6Secs and 10Secs timeout in wakeup
and sleep modes respectively, as STA will disconnect after
partial+full roam scan.
Trigger beacon loss roaming that is half of link loss timeout
in wakeup and sleep modes.
Change-Id: I12ef4201a0457ca716ad857caad6c1be334e17f0
CRs-Fixed: 3306658
We need to update RoamRSSI_Trigger min/max to support new INI values.
Fix is to revert min/max and default back to original values.
Change-Id: I75f0b76ae920c885a1150d95ea011e5612ef62fd
CRs-Fixed: 3304654
Correct Min, Max and Default value for INI
RoamRSSI_Trigger to avoid Out of range error while
cfg ini item parsing in host.
RoamRSSI_Trigger_min 50
RoamRSSI_Trigger_max 100
RoamRSSI_Trigger_default 75
Change-Id: Ifd4f049987c797ca43a865cefbc2d2517560f105
CRs-Fixed: 3283130
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.
Change-Id: I36b578749567998980b300e5a8daf1acb201cddd
CRs-Fixed: 3269376
Prensently for initial scan and roam passive scan dwell time,
the same ini CFG_PASSIVE_MAX_CHANNEL_TIME is used. This will
cause initial scan to have the roam passive scan value.
Decouple passive scan and roam passive scan ini parameter by
adding new ini param for roaming
Change-Id: I4b37c8faa26c971f173e8c8179e505ea4c69c27e
CRs-Fixed: 3268789
Update the Min and Max value for gNeighborLookupThreshold
/RoamRSSI_Trigger INI as per customer requirement.
Change-Id: I5af4552cd805b57861121a32704f4fe1e98a7002
CRs-Fixed: 3245135
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.
Change-Id: Ia0ea4ebc6b1f96b38243c4e0693e47be99868953
CRs-Fixed: 3258760
Add support to parse a new INI named
"bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange"
and send its value to FW via WMI_ROAM_BSS_LOAD_CONFIG_CMDID.
Min, Max and default value of this INI:
Min: -120
Max: 0
Default: -70
Change-Id: I9aa99d887553de4022fc0a31dc0644601cd340d6
CRs-Fixed: 3225548
Currently host sends first, final bmiss count to fw
Add support for bmiss timeout(in seconds)
during wakeup as well as sleep state to fw.
Change-Id: Id748fabdff94f5fa3038bcea1b1cac733ac2dbe1
CRs-Fixed: 3224106
Add support for new ini param RoamScan_InactiveTimer. This param
is similar to the existing roam_scan_period_after_inactivity but
unit change
Change-Id: I0e803decaba30fa3f2dfcd95dc62dc71aa1cb3cd
CRs-Fixed: 3016893
Add support for new ini param RoamCU_MonitorTime. This param
is similar to the existing bss_load_sample_time but unit
change
Change-Id: Iae05a9568aa29a5f6a9cfc771e66184e51963ab6
CRs-Fixed: 3015967
Add support for new ini param RoamScan_SecondTimer. This param
is similar to the existing roam_scan_inactivity_time but unit
change
Change-Id: I65c7f88b95d102d9101d8dd59c662650706b247d
CRs-Fixed: 3015947
Add support for new ini param RoamScan_FirstTimer. This param
is similar to the existing gEmptyScanRefreshPeriod but units
change
Change-Id: If250ba41d71ef20c7365af2c90550b3b575d285c
CRs-Fixed: 3016232
Add support for new ini param RoamIdle_InactiveTime. This param
is similar to the existing idle_roam_inactive_time but unit
change
Change-Id: I857107a6d0e39f373e39d4fb9b762e7cf4c4a9e4
CRs-Fixed: 3015993
To support BTC roaming, add a definition of BTC roam trigger
reason in ini roam_triggers. It goes to fw via roam_enable
trigger command (WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID)
Change-Id: I231a72ed98a74fb1b5ced12da7c3932af12d485d
CRs-Fixed: 3009787
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.
Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
Currently driver has only one name for an INI, with
this change add second name as well for few INIs based on
new requirement.
Change-Id: I6eee13935d1c5c74794027b88d94cbb572339e9e
CRs-Fixed: 3007209
Enable SAE Roaming with same PMK feature INI
sae_single_pmk_feature_enabled by default.
Change-Id: I5be1b24fd77f5296574276af02b0098ac86d9730
CRs-Fixed: 2985116
Update default values of INI items to most commonly used values
in WCNSS_qcom_cfg.ini file on commercial devices.
Change-Id: Ibf1e22406951855a4e726fb8105913a53d3c33ee
CRs-Fixed: 2874758
Currently when SAE single pmk lifetime expires, the userspace
issues disconnect. To avoid this, on reaching a threshold value
of the total pmk lifetime, the firmware will clear the single
PMK and initiate a roam scan to perform full SAE and derive
new pmk.
Add changes to:
1. Send the remaining single pmk timeout value in seconds to
firmware.
this is calculated as the diffence in pmk timeout configured by
userspace and the time passed after set_pmksa was done (which is
system timestamp between the set_pmksa timestamp and timestamp at
which RSO command is filled).
2. Add internal roam trigger for SPMK timeout trigger.
3. Set the roam score delta value as 0 for SPMK timeout roam
trigger.
Change-Id: I62c2ddbbfeb2811a4342d41f2bdaa8d988568bcc
CRs-Fixed: 2869665
Host is not enabling WTC_BTM roam trigger via
roam_enable trigger command
(WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID). Because
of this roam scan is not triggered and BTM response is
not sent to AP.
Fix is to enable WTC BTM by default
Change-Id: Ie33f8a298818955c886094d6f703b9603ab5b00e
CRs-Fixed: 2795665
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.
Remove unused roam ini param gRoamBeaconRssiWeight.
Change-Id: Ida6ddb8ca5805f819c4d3f7e6ed96c705fa6594f
CRs-Fixed: 2767533
Pass rx data rssi triggers and rx time to firmware.
Add log in wmi to narrow down host and firmware issue.
Change-Id: I255e02ab8f2c88a29619a49d9c2055bdaa75642a
CRs-Fixed: 2768053
FW triggers roaming based on the RSSI score of AP(s) available
after background scan. Currently, the host does not configure
the value of bg_rssi_threshold RSSI. This results in ping-pong
roaming after background scan, even though candidate AP
RSSI is not better than 5dbm than connected AP.
Fix is to configure the value of bg_rssi_threshold via new
INI "bg_rssi_threshold" and configuring default value of
INI as 5dB.
Min: 0
Max: 100
Default: 5
Change-Id: Ib710e294c8b33ff4903d41453e3b55f02daf53ae
CRs-Fixed: 2763962
3 ini:
roam_data_rssi_threshold_triggers
roam_data_rssi_threshold
rx_data_inactivity_time
If there's rx activity during latest rx_data_inactivity_time
and avg of data_rssi is better than roam_data_rssi_threshold, then
suppress roaming triggered by roam_data_rssi_threshold_triggers: low
RSSI or bg scan.
Change-Id: I5b41c4119e61392b50e52ab8ccb8650e5758f3b3
CRs-Fixed: 2768053
This is a change for typo about LFR configuration. It uses ini -
"mawc_roam_ap_rssi_threshold", the correct is
"mawc_roam_rssi_high_adjust".
Change-Id: I7e29287b84559f58f13d191d6288534196b894da
CRs-Fixed: 2768752
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.
Remove unused INI gFirstScanBucketThreshold
Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372
Add new ini enable_dual_sta_roam_offload to enable/disable dual
sta romaing feature. Enabling this ini will allow firmware to
roam on both the vdev if firmware supports dual sta roaming and
the hw is dbs capable.
This ini will be checked in the dual sta roaming offload state
machine to enable roaming on both the STA or to fallback to the
current implementation where first connected sta will have rso
enabled.
Change-Id: I04f141ac31e0f168b6f19fe878bca219a36cfae7
CRs-Fixed: 2709036
In the beacon, ESS report element gives the information of a BSS
that station learns and uses for roaming. Hence enable BIT(16)
ROAM_TRIGGER_REASON_ESS_RSSI of "roam_triggers" INI.
Change-Id: I47f35c3fad640054a54ccb3874475a1c59b51489
CRs-Fixed: 2688522
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
This ini is used to configure "FT roaming for deauth roam trigger"
behavior from the HOST.
Change-Id: Id754a21f7ac2c330019055646f79c79db3e0c52c
CRs-Fixed: 2665882
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.
Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.
Change-Id: Ibd04fcd7384c0987db5bb6dae1a26ee077456290
CRs-Fixed: 2634860
As each bit of INI "sta_disable_roam" represents an interface on which
if the connection is present, disable station roaming.
Hence to use all the bits of "sta_disable_roam" INI, change type to
UINT.
Change-Id: Ife4bb31acf89ddbe744bdad376a8a6f5a733b92c
CRs-Fixed: 2647036
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.
Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.
The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.
Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
Introduce an INI "enable_roam_reason_vsie" to inidicate fw to
include/exculde roam reason vsie in reassoc frame
Change-Id: I4d2a44812d8b11a19b0d7d31eb31c826aaeda79d
CRs-Fixed: 2627472
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.
To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category Data
Type 0xDD
Length 0x05
OUI 0x00 40 96
Type 0x03
Data Don’t care
(EX, 0x05)
Maintain a separate pmk information structure to support sae
roaming using single pmk.
Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
Introduce a compile time flag SAE_SINGLE_PMK and new INI
"sae_same_pmk_feature_enabled" to enable/disable SAE
Roaming with same PMK/PMKID feature.
Change-Id: Ifca8ec8bcf6e9a2f1d8409b35390bfee0033bd30
CRs-Fixed: 2616025
idle_roam_rssi_delta - This threshold is the criteria to decide whether
DUT is idle or moving. If rssi delta is more than configured thresold
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.
To enhance idle roaming, idle_roam_rssi_delta default value is changed
to 3.
Change-Id: I9a5b06081d59d8502c40df0485c2b997cbcb2b80
CRs-Fixed: 2619436
STA considers RSSI delta configured by the user along with other
parameters for roaming.
RoamRssiDiff is the number of units (typically measured in dB) AP2 is
better than AP1. STA roams from connected AP1 to AP2 if the RSSI value
of AP2 is greater than AP1 by configured ROAM delta value.
Max limit of RoamRssiDiff is increased to 100 from 30, so user can set
roam delta from 0 to 100 using command SETROAMDELTA.
Change-Id: I69b783ebe5ec971bb62cbac8a34065d52fc25422
CRs-Fixed: 2609589
Full roam scan period is the minimum idle period in seconds between
two successive full channel roam scans. Firmware expects this param
as part of roam scan offload request. Add an ini param to set
it to a default value and use it while sending roam scan offload
request.
Change-Id: Id66b583b2c487f06e62298641dc28853af3ab11c
CRs-Fixed: 2507448
Currently, Driver has below configuration:
1. The default value of Neighbor scan channel max time = 30 msec
2. Probe deferral time = 15 msec and
3. The gap between each Probe Request (Probe repeat time) = 20 msec
As per above roam scan params, after 15 msec of deferral time STA
sends the first probe irrespective of OCE or non-OCE environment.
So after the first probe, STA never sends the second probe because
15 msec + 20 msec = 35 msec which is beyond dwell time( 30 msec).
Because of lower dwell time, many a time STA is not getting enough
time to send the second probe request during a roam scan on the currently
associated channel. In case when STA sends only one probe req,
there is a lesser chance to receive Probe Response in a semi congested
or congested environment. This results in not finding a candidate
during a roaming scan.
STA should have enough time to send 2 Probe Requests under any condition
( clean or noisy) irrespective of the OCE/non-OCE environment.
Fix is to increase the default value of dwell time
"gNeighborScanChannelMaxTime" to 40 msec for STA.
Change-Id: I1bd52f5efe448ccb4ed4585e98aaf519379dd661
CRs-Fixed: 2467703
Currently LFR band specific ini attributes 5g_rssi_boost_threshold
and 5g_rssi_penalize_threshold programmed with wrong type and range.
This can lead to ignore user-input and always use default value.
To fix this, correct min and max ini values for 5Ghz network RSSI
boost/penalty preference.
Change-Id: If89c09fb1343a68dfaa7241b5ec14b046d1bb758
CRs-Fixed: 2452128