Commit Graph

336 Commits

Author SHA1 Message Date
Abhinav Kumar
33fdd1fac0 qcacld-3.0: Remove unused roam ini gRoamBeaconRssiWeight
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.

Remove unused roam ini param gRoamBeaconRssiWeight.

Change-Id: Ida6ddb8ca5805f819c4d3f7e6ed96c705fa6594f
CRs-Fixed: 2767533
2020-09-16 04:51:26 -07:00
Jianmin Zhu
ab5f515803 qcacld-3.0: Pass rx data rssi triggers to F/W
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
2020-09-15 23:03:37 -07:00
Abhinav Kumar
7ac893f2af qcacld-3.0: Add a new INI bg_rssi_threshold
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
2020-09-15 07:19:33 -07:00
Abhishek Ambure
2813eaa802 qcacld-3.0: Add support for SAE-PK roam scoring
SAE Public Key (SAE-PK) authentication is an extension of SAE. Host adds
support for SAE-PK APs roam score which host uses to select AP for initial
connection and roaming.

Change-Id: Id8c420950bb8c1d11db5a26aa860e280bcb672d1
CRs-Fixed: 2769372
2020-09-15 04:59:24 -07:00
Gururaj Pandurangi
c199935f4b qcacld-3.0: Add checks to handle return value from crypto APIs
Add checks in caller APIs to handle negative return value from
crypto get param and crypto get peer param APIs.

Change-Id: Ibb138971f347c7ccdacbc93aa38521d5d9536759
CRs-Fixed: 2775328
2020-09-12 08:17:11 -07:00
Lincoln Tran
22301fc573 qcacld-3.0: Migrate PCL API to policy manager
Currently, the APIs related to setting the preferred channel list is
in the SME module. Move these APIs to the policy manager so they can
be accessed from non-legacy modules.

Change-Id: Icc487dd2a0014e59db9c2df729b875f58e3e975e
CRs-fixed: 2766863
2020-09-11 23:39:34 -07:00
Jianmin Zhu
e7c9718446 qcacld-3.0: Add 3 ini for data rssi check when roaming
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
2020-09-07 03:17:49 -07:00
Abhinav Kumar
267c385f2b qcacld-3.0: Enable SU Bformee in vendor VHTIE by default
Set default value of INI enable_subfee_vendor_vhtie to 1
to enable SU Bformee in vendor VHTIE by default.

Change-Id: I8a916495dd5c6ddfe78840dc6f35976fbdbbf8ba
CRs-Fixed: 2769257
2020-09-04 05:28:19 -07:00
Pragaspathi Thilagaraj
36907e74d5 qcacld-3.0: Add changes to send WMI_CHAN_LIST_CMD in connection mgr
Add changes to send WMI_CHAN_LIST_CMD in connection mgr

Change-Id: I79f96c400314be4e8a0b1aad5ecfe04e638d552d
CRs-Fixed: 2768812
2020-09-03 19:27:30 -07:00
Wu Gao
571fda61f9 qcacld-3.0: Fix typo about LFR configurations
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
2020-09-03 19:27:26 -07:00
Abhinav Kumar
aad917a899 qcacld-3.0: Remove unused INI gFirstScanBucketThreshold
Currently INI: gFirstScanBucketThreshold is not used
while LFR2/LFR3 roaming.

Remove unused INI gFirstScanBucketThreshold

Change-Id: Ifa909fc57d3ac3da696369fcffc390826f393b44
CRs-Fixed: 2767372
2020-09-01 22:20:38 -07:00
Pragaspathi Thilagaraj
170c20e443 qcacld-3.0: Add support for roam scan mode command in connection mgr
Add changes to send roam scan mode over RSO start/stop/update_cfg
from connection manager. Update the roaming params and roam scan
params to new structure.

Refine send_roam_scan_offload_mode_cmd_tlv().

Change-Id: I6adce2e8a24ece93a079032d0e66760393fcdccd
CRs-Fixed: 2766023
2020-09-01 18:14:21 -07:00
Liangwei Dong
34197fc832 qcacld-3.0: Increase sae max auth retry count to 3
Increase max sae auth frame retry count to 3 since total SAE auth
timeout is 5s.

Change-Id: I5902cc3411f713eaeed5ef7754fe7fe8e590b459
CRs-Fixed: 2765211
2020-08-31 01:37:14 -07:00
hqu
28418b167b qcacld-3.0: Move rso related process to connection manager [PART 8]
Move below two changes from legacy to connection manager:
'Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105',
'Change-Id: I39a84d06b9c696179da1b854985a23b874a399c5'

Change-Id: I33921497d966f08a0ca476a373cfe6527888ca39
CRs-Fixed: 2765469
2020-08-29 12:24:56 +05:30
Amruta Kulkarni
697f1926d1 qcacld-3.0: Send multiple ssid probe req to same bss during join procedure
In some instances, AP does not respond to probe req
causing join timeout at STA and no connection.
To solve this,send multiple probe requests(every 200ms)
to AP until join failure timeout(1 sec) expiry,
if single bssid case retry same bss again
(configurable via ini, max allowed tries 2).

Change-Id: I7a7eeedcc24db1a74cd186ff957c638a39cdea6d
CRs-Fixed: 2763815
2020-08-28 08:53:45 -07:00
gaurank kathpalia
f955b44a6d qcacld-3.0: Enable/Disable SRD support for vdev
Currently the driver enables the SRD channels
support for both P2P_GO and SAP if the SRD master
mode is enabled.

Have individual ini values to enable/disable
the SRD channel for each op-mode as required.

Change-Id: If6e66996ed19dacbde7f71a6702f378a7e9a273c
CRs-Fixed: 2748446
2020-08-27 18:36:55 -07:00
Madhvapathi Sriram
fce3c2b2b4 qcacld-3.0: Add support to configure rate mask to cap phy rate
The ini ratemask_type and ratemask_set can be used to limit
the maximum phy rate. The ratemask_type is used to select
the phy mode and the ratemask_set to select desired NSS and MCS.

It can be used to optimize link performance.

Change-Id: Ia5c9f3a80eb93710bdcf53dabc4a45e554753b01
CRs-Fixed: 2758859
2020-08-27 02:05:35 -07:00
Kiran Kumar Lokere
6ae664ed6c qcacld-3.0: Add configuration support for vdev dot11 mode
Add user configuration support to configure dot11 modes for
different vdev types.

Change-Id: I338d9d76f000195d1798bbc8b3b7ff1fb33ee305
CRs-Fixed: 2760240
2020-08-26 14:32:00 -07:00
Amruta Kulkarni
a9a90ab587 qcacld-3.0: Retry sending join_req after timer expiry
If join fail reason is timeout, retry sending join req
after timer expiry, timer value can be configured
via join_failure_retry_interval.

Change-Id: If90071b3f6d7f48936db6f7088c3c1547e48b294
CRs-Fixed: 2760236
2020-08-25 20:25:58 -07:00
Pragaspathi Thilagaraj
33064de124 qcacld-3.0: Enable RRM by default
RRM 11k feature is enabled or disabled based on the
rrm_enabled flag. rrm_enabled is filled from the gRrmEnabled ini.
Change the default value of gRrmEnabled ini to 1.

Change-Id: Ie2a95293c3225abc667563fcc9eed8440e46727f
CRs-Fixed: 2754534
2020-08-25 03:33:16 -07:00
Liangwei Dong
cc9cbfc8de qcacld-3.0: Fix STA+SAP SCC on DFS when sta_sap_scc_on_dfs_chan = 0
When sta_sap_scc_on_dfs_chan = 0, SAP is not allowed to SCC
with STA on DFS channel. Check the SAP target channel DFS flag
considering the target channel bandwidth.

Change-Id: I321c1055574477fe39ca8569f24a4040c8dc1904
CRs-Fixed: 2756518
2020-08-24 03:58:57 -07:00
Pragaspathi Thilagaraj
9c8821e63c qcacld-3.0: Add changes to define roam scan mode commmand structures
Add changes to define structure to hold the WMI_ROAM_SCAN_MODE
command related parameters.
Also added minor cleanup changes.

Change-Id: I24ef18e05de8dd05ee437e440651ea9ab0731e46
CRs-Fixed: 2758316
2020-08-23 17:37:32 -07:00
Gururaj Pandurangi
b31635c384 qcacld-3.0: Enable RX LDPC ini by default
Enable RX LDPC capability by default in the
driver sinc the ini gEnableRXLDPC is not present
in the WCNSS cfg ini file.

Change-Id: I826dca94e0db18713b0d87581da07eeefbfc80d4
CRs-Fixed: 2748730
2020-08-23 10:20:51 -07:00
Kiran Kumar Lokere
0044d8c41c qcacld-3.0: Add support for deauth retry for STA
Add support to retry the deauth frame if the Tx is not success if
user configured the retry count.

Change-Id: Id128b4a70a276ee86270372ff7954e40bde8123c
CRs-Fixed: 2754305
2020-08-21 04:46:31 -07:00
hqu
f996a7c696 qcacld-3.0: Move rso related process to connection manager [PART 7]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_ROAM_CONFIGURE_MAWC_CMDID
WMI_ROAM_BSS_LOAD_CONFIG_CMDID

Rename file wlan_cm_roam_public_srtuct.h name to
wlan_cm_roam_public_struct.h

Change-Id: I64d54bb78b71dadc49d119b9083658347cc4f807
CRs-Fixed: 2758130
2020-08-20 15:42:04 -07:00
Pragaspathi Thilagaraj
5907f277d9 qcacld-3.0: Include the current RSSI in ROAM_TRIGGER print
In roam trigger print the driver doesn't include the current
RSSI threshold info.

Add the current rssi threshold value at which roaming was
triggerd in roam trigger logging.
Also refine the candidate AP blacklisting related prints.

Change-Id: I6d39851278081a728b74e036c22e8d302d7b7b4c
CRs-Fixed: 2752998
2020-08-12 06:42:05 -07:00
Kiran Kumar Lokere
09d979b3d1 qcacld-3.0: Use ROAM_11KV_CTRL cmd to enable/disable FW roaming
Use ROAM_11KV_CTRL WMI vdev command to enable/disable the roaming
functionality in FW.

Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105
CRs-Fixed: 2727671
2020-08-11 11:52:40 -07:00
Abhishek Ambure
ab079ed334 qcacld-3.0: Add ini to enable/disable WLS 6ghz support
Host sends the WLAN_MSG_WLAN_STATUS_IND to WiFi Location Service(WLS) via
cnss daemon which includes supported channels. WLS service is yet not 6GHz
capable. Hence to limit the 2.4GHz/5GHz channels only in
WLAN_MSG_WLAN_STATUS_IND introduce new INI "wls_6ghz_capable".

Change-Id: I77b284d2025601fec72aa35d430f18865f15f247
CRs-Fixed: 2748489
2020-08-07 02:53:12 -07:00
hqu
e6dec862e4 qcacld-3.0: Move rso related process to connection manager [PART 5]
Add new code to implement below functions for connection manager
roam part:
Filling below WMI cmd parameters related process:
WMI_11K_OFFLOAD_REPORT_CMDID
WMI_ROAM_DEAUTH_CONFIG_CMDID
WMI_ROAM_IDLE_CONFIG_CMDID

Change-Id: I346b921a6f378e7c4d8860acd7c3bec45a0b9d3a
CRs-Fixed: 2749430
2020-08-06 16:39:57 -07:00
Rajeev Kumar
e12051de39 qcacld-3.0: Disable periodic time sync feature
CLD driver specific time sync feature is no longer used since
core BSP provides more accurate time sync over QMI and hence
disable CLD driver specific time sync feature to avoid periodic
wake ups.

Change-Id: Ic2790e7cdb6cf56f874fb56cda246777bc34d2e3
CRs-Fixed: 2715021
2020-08-05 17:35:05 -07:00
Abhinav Kumar
731ad8d610 qcacld-3.0: Print roam_trigger_reason and roam_ap_info params
Print BTM BSS termination timeout value and BTM MBO assoc
retry timeout value coming from FW through
wmi_roam_trigger_reason_tlv_param tlv.

Print Blacklist reason, Source of adding AP to BL, timestamp
which indicates the time when AP added to blacklist and
Original timeout value in milliseconds when AP added to BL
coming from FW through wmi_roam_ap_info_tlv_param.

Change-Id: Iea5b8c136f83841d679b9ad06721bb0c9349b46a
CRs-Fixed: 2744250
2020-08-05 11:18:39 -07:00
Ashish Kumar Dhanotiya
e20db7ae44 qcacld-3.0: Add ini to retain the NOL across reg domain change
Currently driver sets the NOL state of the channels to false
on every regulatory updated, which indicates the channel is
not in NOL. Which may lead to some issues where the channel
is actually in NOL but host treats it as non-NOL channel.

Ideally NOL list should be maintained throughout the driver
lifetime and across the regulatory changes.

To address this issue add a logic to not update the NOL state
of the channels whenever the regulatory update is received.

CRs-Fixed: 2744916
Change-Id: If96b22ab29a60a2aa752bbf01aaae46fc37362eb
2020-08-05 09:04:01 -07:00
hqu
bc1e6476b7 qcacld-3.0: Move rso related process to connection manager [PART 3]
Add new code to implement below functions for connection manager
roam part:

Propagate 'Change-Id: I49d64671f74b86c516d286c4b2aad69eda744b52'
Filling below WMI cmd parameters related process:
WMI_ROAM_AP_PROFILE
WMI_ROAM_FILTER_CMDID

Change-Id: I4870c69a0e0ca1e8cad734a591f09e402b7a32fa
CRs-Fixed: 2745468
2020-08-01 11:02:13 -07:00
Pragaspathi Thilagaraj
ab09be7729 qcacld-3.0: Refactor roam scan sub-reason string
Add changes to include new roam scan sub-reasons in host driver
roam logging and refactor few existing string.
Below are the new reasons:
WMI_ROAM_TRIGGER_SUB_REASON_LOW_RSSI_PERIODIC
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_CU
WMI_ROAM_TRIGGER_SUB_REASON_PERIODIC_TIMER_AFTER_INACTIVITY_LOW_RSSI
WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER_CU

Change-Id: I1aeb48d29561b48ac7b8762626fa0050f4fb9030
CRs-Fixed: 2742558
2020-07-31 16:26:22 -07:00
Gururaj Pandurangi
1f00e9ccd1 qcacld-3.0: Change Internal/External to External
Change the usage of cfg parameters from Internal/External
to External in .h description for mlme, p2p, and
policy manager files.
External means that both internal teams and external
customers can modify the parameters.

Change-Id: Ic1e68d5a90be2c898ce66aa18e8d91f16561b408
CRs-Fixed: 2712773
2020-07-29 00:23:16 -07:00
Kiran Kumar Lokere
be109fb59c qcacld-3.0: Add mandatory security checks for 6GHz connection
Check the required security types allowed for 6GHz connection and
do not allow the connection if the secutiry check fails.

Change-Id: Ic680c4600b3f17151e42f8708ff8810e5d16e52e
CRs-Fixed: 2715086
2020-07-24 02:00:53 -07:00
Gururaj Pandurangi
c66e0c9b04 qcacld-3.0: Enable 5.9 ghz channels for US
Add new channel 177 to wiphy struct ieee80211_channel
hdd_etsi13_srd_ch and rename the struct to
hdd_5dot9_ghz_ch.
Add a new ini fcc_5dot9_ghz_chan_in_master_mode to
enable/disable new 5.9 GHz channels 169, 173 and 177
in master mode.

Change-Id: I68dc3be18277ca0e416a579327f406279458899e
CRs-Fixed: 2693707
2020-07-23 17:23:55 -07:00
hqu
f36840cce8 qcacld-3.0: Move rso related process to connection manager [PART 2]
Add new code to implement below functions for connection manager
roam part:
WLAN_ROAMING_IN_PROG/WLAN_ROAM_SYNCH_IN_PROG related handler.
Filling below WMI cmd parameters related process:
WMI_VDEV_PARAM_BMISS_FIRST_BCNT
WMI_VDEV_PARAM_BMISS_FINAL_BCNT
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
WMI_ROAM_SCAN_PERIOD

Change-Id: I28439393a57c72012f9de51f24050f95366294bc
CRs-Fixed: 2738353
2020-07-23 06:59:59 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Abhinav Kumar
87a292e54a qcacld-3.0: Print BTM RSP and initial roam info in kmsg
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the btm response.

This helps in debugging/understanding the scenario when roam
failure happens.

Print the info received related to btm rsp and roam initial
info into kmsg.

Change-Id: Icb2058eed5df3265018b3c53548d123f3a4faf4f
CRs-Fixed: 2728267
2020-07-16 20:05:07 -07:00
Lincoln Tran
1de7a9a643 qcacld-3.0: Update band_capability INI to use bitmap
The band_capability field is used in other places to be
a bitmap over reg_wifi_band. Update the field in wma_tgt_cfg and
wlan_mlme_generic to take the same bitmap for consistency.
Update all references to these fields to expect a bitmap as well.

Change-Id: I8abd697e2fbe02b4eadd32f3027bef7408bac2a0
CRs-fixed: 2726710
2020-07-15 01:46:30 -07:00
Srinivas Girigowda
8cf89cb514 qcacld-3.0: Replace obsolete WMA_LOGE() with wma_err()
Replace obsolete WMA_LOGE() macro with wma_err().

Change-Id: Iaf11baa0f09cfb090806527184c6137f8b950aa8
CRs-Fixed: 2723709
2020-07-14 02:02:27 -07:00
Abhishek Ambure
fbdde4785a qcacld-3.0: Add ini to enable sae auth/assoc retry
Introduce new INI sae_connect_retries to decide auth (initial connect
and roam auth) and connect retry for sae. MAX reties is capped to 2
and max for roam auth is 1.
Default is 0x49 i.e. 1 retry each.

Bits       Retry Type
BIT[0:2]   AUTH retries
BIT[3:5]   Connection reties
BIT[6:8]   ROAM AUTH retries

Change-Id: Idae86a7bdb32244c7f3a140b8591418b8238758a
CRs-Fixed: 2728458
2020-07-12 10:10:20 -07:00
Pragaspathi Thilagaraj
65c1c28045 qcacld-3.0: Add initial roam offload state changes
Rename the existing roam offload states to include
WLAN_ prefix. Add 2 new states:
WLAN_ROAMING_IN_PROG - Roaming has started at firmware, this is
                       after candidate selection at firmware.

WLAN_ROAM_SYNCH_IN_PROG - State after handoff is complete at
                          firmware.

Also move the roam_offload_state enum to connection manager.

Change-Id: Ib1f38d200393849253893113172cdfc69e381fb3
CRs-Fixed: 2725387
2020-07-09 03:03:39 -07:00
Pragaspathi Thilagaraj
6b525a4f72 qcacld-3.0: Add support to compile connection manager STA+STA roam API
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.

Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.

Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h

Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
2020-07-07 07:24:47 -07:00
Bapiraju Alla
9a61eedc9b qcacld-3.0: Override powersave configuration for monitor mode
Currently, powersave configuration is being overwritten before INIs
are initialized by mlme component. As a result INI configuration is
not being overwritten in case of monitor mode.

To resolve this issue, overwrite PS configuration during start
modules and restore it in stop modules.

Change-Id: I2707b431b81881c943104b211d55c6f48f348ba9
CRs-Fixed: 2682164
2020-06-30 12:29:59 -07:00
Liangwei Dong
3c8333a753 qcacld-3.0: Adjust 6Ghz channel frequency in INI normalize_acs_weight
In 11ax draft 6.1, the 6G starting frequency has been shifted by 10 MHz
to the right. Change the default channel value of INI "normalize_acs_weight"
accordingly.

Change-Id: I6b08f3c604f4410dbddf25bbe7c7491047b676ea
CRs-Fixed: 2695542
2020-06-27 22:45:30 -07:00
Pragaspathi Thilagaraj
3bbb4610b6 qcacld-3.0: Introduce new ini for dual sta roaming
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
2020-06-27 06:18:03 -07:00
gaurank kathpalia
67b87cbde5 qcacld-3.0: Move BSS scoring logic to connection manager
Move bss scoring logic to connection manager.

Change-Id: Ie7639853dec303133705c3394bf0577670000c21
CRs-Fixed: 2707108
2020-06-26 11:08:47 -07:00
gaurank kathpalia
ce6aed0852 qcacld-3.0: Add ini to enable/disable dynamic cfg
Currently the driver supports the dynamic
configuration of nss and chain to FW for
VDEV if the FW advertises the capability
of supporting the same. However there is
no support to overide this.

Fix is to have an ini to enable/disable
this feature of configuring the dynamic
nss and chains to FW.

Change-Id: I0b84bb5aec53966a43a00c11d4aba3863414005c
CRs-Fixed: 2708303
2020-06-23 20:03:22 -07:00