Revīziju grafs

26 Revīzijas

Autors SHA1 Ziņojums Datums
Abhishek Ambure
3118d4c038 qcacld-3.0: Add support for ESS RSSI roam trigger reason
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
2020-06-12 23:33:21 -07:00
Abhinav Kumar
e3e903bf37 qcacld-3.0: Introduce new INI to enable/disable FT-IM
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
2020-05-15 06:56:02 -07:00
gaurank kathpalia
954abc7aa9 qcacld-3.0: Add ini to enable/disable self roaming
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
2020-04-06 05:54:51 -07:00
Abhishek Ambure
2a5240c50c qcacld-3.0: Change INI "sta_disble_roam" type to UINT
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
2020-03-23 19:56:32 -07:00
Abhishek Ambure
48b790c62d qcacld-3.0: Add INI support to disable STA roaming
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
2020-03-13 19:22:14 -07:00
Pragaspathi Thilagaraj
63eb6363dc qcacld-3.0: Introduce ini for roam_triggers including sta kickout trigger
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
2020-03-02 19:12:34 +05:30
sheenam monga
cc1b25f607 qcacld-3.0: Introduce a new ini to enable/diasble roam reason vsie
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
2020-02-29 05:21:03 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
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
2020-02-26 06:40:44 -08:00
Abhinav Kumar
406cfe0ee4 qcacld-3.0: Introduce a new compile time flag and INI
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
2020-02-23 14:43:08 -08:00
Abhishek Ambure
b3f5f95275 qcacld-3.0: Change default value of idle_roam_rssi_delta to 3
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
2020-02-11 11:04:41 -08:00
Abhishek Ambure
2372a9054d qcacld-3.0: Set max limit of RoamRssiDiff INI to 100
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
2020-01-24 21:29:10 -08:00
Srinivas Dasari
225abbf3d6 qcacld-3.0: Introduce ini param for full roam scan period
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
2019-08-18 08:20:29 -07:00
Abhinav Kumar
9d47304b4f qcacld-3.0: Set neighbor scan channel max time to 40 msec as default
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
2019-07-09 13:27:29 +05:30
Rajeev Kumar Sirasanagandla
31fe28ff55 qcacld-3.0: Fix incorrect type and range for LFR ini
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
2019-05-20 11:22:09 -07:00
Pragaspathi Thilagaraj
1f3f99fd1f qcacld-3.0: Add support for adaptive 11r
Adaptive 11r feature that 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.

The 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 should advertise the FT equivalent of the non-FT AKM.

Introdue a compile time flag WLAN_ADAPTIVE_11R_ENABLED to
enable/disable adaptive 11r support.

If the AP is adaptive 11r capable, set the is_adaptive_11r_ap
flag in bss descrtiptor. This flag will be sent in join request
and populated to pe_session. Also mark the CSR session as
adaptive 11r session based on this flag.

Add changes to check for the adaptive 11r service capability
advertised by firmware. If the host driver connects to adaptive
11r AP, enable RSO only if the firmware advertises adaptive
11r capability, else RSO should be disabled.

If the connection is adaptive 11r connection and if the adaptive
11r ini is enabled, set the adaptive_11r flag in
wmi_roam_11r_offload_tlv_param sent over the wmi command
WMI_ROAM_SCAN_MODE to the firmware. This will enable firmware to
filter the adaptive 11r AP from roam scan results.

Change-Id: If27a2393e3f4bb68942f5ebcec0135f57627f16b
CRs-Fixed: 2437988
2019-05-02 08:15:49 -07:00
Jianmin Zhu
0423e33f55 qcacld-3.0: Disable adaptive dwell scan for Roaming by default
1. There is a need for STA to find better AP to connect to, so
this becomes priority over total scan duration.
2. Typically there are very few channel numbers to scan (with FW
CHAN MAP) therefore any penalty with higher dwell time is
compensated with the lesser number of channel. Only in case of
not finding a candidate FW does full scan but that probability
might reduce if AP is found in first CHAN map scan.

Change-Id: Ib923c2af9b92a1465730a861a2b56393dc3d8668
CRs-Fixed: 2431846
2019-04-21 18:11:07 -07:00
Pragaspathi Thilagaraj
2b8ea35e71 qcacld-3.0: Introduce new INI to configure roam trigger parameters
Add new ini to configure various roam trigger parameters:
1. "minimum_btm_candidate_score"
   Consider the AP as roam candidate only if its score is greater
   than minimum_btm_candidate_score. This value will be sent over
   the WMI_BTM_OFFLOAD_CONFIG command.

2. "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_count.

3. "roam_inactive_data_packet_count"
   Maximum allowed data packets count during
   roam_scan_inactivity_time.

4. "roam_scan_period_after_inactivity"
   Roam scan period in ms after device was in inactive state.

5. "btm_roam_score_delta"
   Roam scan delta value for btm triggered roam scan. This value
   will be sent to firmware over the WMI_ROAM_AP_PROFILE wmi
   command.

6. "idle_roam_score_delta"
   Roam scan delta value for Idle roam scan trigger reason. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_delta_param_list tlv.

7. "disconnect_roam_trigger_min_rssi"
   Candidate minimum rssi value for disconnect roam trigger. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

8. "beacon_miss_roam_min_rssi"
   Candidate minimum rssi value for BTM triggered roam. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

9. "bss_load_trigger_5g_rssi_threshold"
   If connected AP is in 5GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_5g_rssi_threshold.

10. "bss_load_trigger_2g_rssi_threshold"
   If connected AP is in 2GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_2g_rssi_threshold.

Change-Id: Ib026251a8ec403f4376a16a91ff1b5d969336816
CRs-Fixed: 2434922
2019-04-19 04:08:32 -07:00
Pragaspathi Thilagaraj
14f72de820 qcacld-3.0: Introduce new ini to configure disconnect/idle roam scans
Add new ini to configure required parameters to trigger
disconnect/idle roam scan:
1.enable_disconnect_roam_offload
	When this ini is enabled firmware will trigger roam scan
	and roam to a new ap if candidate is found and it will
	not forward the deauth frame to the host driver. If
	roaming fails after this deauth, then firmware will
	forward the deauth frame to the host. If roaming is
	successful, we will follow the normal roam synch event
	path.
2.enable_idle_roam
	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:
		1. When user space sends "SET SUSPENDMODE"
		   command with value 0.
		2. No TX/RX data for idle time configured
		3. Connected AP rssi change doesn't exceed the
		   threshold
		4. Connected AP rssi false below minimum rssi.
3. idle_roam_rssi_delta
	RSSI change in current connected AP above/below which
	idle roam scan will be triggered if other criteria is
	met.
4. idle_roam_inactive_time
	Time duration in milliseconds for which the connection is
	to be considered idle.
5. idle_data_packet_count
	number of tx/rx packets below which the connection is
	idle.

Change-Id: Ibd1c91656ecd681f8dc83bc77197668a7f3bfa3f
CRs-Fixed: 2427132
2019-04-15 15:20:59 -07:00
Abhinav Kumar
990fea6267 qcacld-3.0: Add new ini to config roaming scan behavior
Add new ini "roaming_scan_policy" to config roaming scan
behavior (DBS/non-DBS) in fw side.

This ini is corresponding scan_ctrl_flags_ext in
wmi_start_scan_cmd_fixed_param when host sends
WMI_ROAM_SCAN_MODE to fw.

Change-Id: Id95c3b9bb40d4f32ab3ff14a30f72c6150ac1884
CRs-Fixed: 2398531
2019-02-23 05:18:42 -08:00
Wu Gao
6294afcfa7 qcacld-3.0: Refactor six LFR INI cfg
Based on new cfg component, refactor below LFR INI cfg and remove
unused legacy codes.
 - CFG_ENABLE_LFR_SUBNET_DETECTION
 - CFG_ROAM_HO_DELAY_FOR_RX_NAME
 - CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME
 - CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME
 - CFG_ROAM_FT_OPEN_ENABLE_NAME
 - CFG_ROAM_FORCE_RSSI_TRIGGER_NAME

Change-Id: Iaa738c6416dffe8159b49d59fc9a514da2fbb7ff
CRs-Fixed: 2376637
2019-01-11 22:25:19 -08:00
Pragaspathi Thilagaraj
39d616074e qcacld-3.0: Add new WCNSS_qcom.ini "bss_load_bss_sample_time"
Add new ini item "bss_load_sample_time" to send the monitor
time window for which the beacons are to be sampled to collect
the bss load information.
Also add changes to send bss load trigger parameters only during
RSO start during initial connection

Change-Id: I61d1f3745b56199838fc886f1ed3a05786653501
CRs-Fixed: 2372147
2018-12-26 10:12:06 -08:00
Pragaspathi Thilagaraj
69f0b69ca9 qcacld-3.0: Send bss load trigger values to firmware
Introduce the following new WCNSS_qcom.ini values:
"enable_bss_load_roam_trigger"
"bss_load_threshold"
Send these values over the new wmi command,
WMI_ROAM_BSS_LOAD_CONFIG_CMDID if "enable_bss_load_roam_trigger"
is set to true.

This wmi command will be sent to firmware as part of the RSO
start or update config.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367770
2018-12-26 07:47:25 -08:00
Wu Gao
5d23d785f9 qcacld-3.0: Add second part of LFR INIs based on cfg components
The second part of LFR INIs are defined dynamically in legacy codes.
Refines these INIs and APIs based on new cfg component.

Change-Id: I89869c50952bf2fe403079299b3902fc53c11d61
CRs-Fixed: 2346784
2018-11-29 18:11:44 -08:00
Sourav Mohapatra
5ba8da3645 qcacld-3.0: Send roam preauth retry_count and no_ack_timeout ini to FW
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.

Change-Id: I66808b33f421f56cd7c007cdde1db19c8e7ca5f9
CRs-Fixed: 2279049
2018-10-05 22:09:55 -07:00
Tushnim Bhattacharyya
1fdefe5a8b qcacld-3.0: Set the default value 0 for early scan stop feature
gEnableEarlyStopScan is for early stop feature. Since it’s based
on rssi only, make the default value 0 on score enabled code
base.

Change-Id: Ie0e0483359d5a7e2cc969001af03500c9e8209c6
CRs-Fixed: 2311372
2018-10-01 18:38:14 -07:00
Wu Gao
55f2171184 qcacld-3.0: Refine mlme lfr configurations
Define mlme lfr configures based on converged cfg component, add
APIs to get and set mlme lfr configurations.

Change-Id: I8aa9b37d1b943fcdc6a84704ede37b19cd7cffb8
CRs-Fixed: 2316490
2018-09-18 12:48:57 -07:00