Commit Graph

475 Commits

Author SHA1 Message Date
Srinivas Girigowda
a58817a89b qcacld-3.0: Replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID
There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.

Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
2021-09-30 15:14:58 -07:00
bings
a44cf88b36 qcacld-3.0: Implement legacy commands of easy mesh
Provide below APIs for easy mesh.
API to get the current frequency of the given VDEV.
API to get acs status of the given VDEV.
API to get cac status of the given VDEV.
API to get/set bandwidth of the given VDEV.
API to get band information of the given VDEV.
API to get connected STA count of the given VDEV.
API to get BSSID of the given VDEV.
API to get SSID of the given VDEV.
API to set channel of the given VDEV.
API to get/set cac timeout of the given VDEV.
API to get/set country code of the given VDEV.

Change-Id: Ia0bd201ad8155a66a4a8c5517f6fa43f3f358505
CRs-Fixed: 3027192
2021-09-30 10:51:28 -07:00
Yu Wang
d3a8dfe1b6 qcacld-3.0: update rates set on connect success
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.

Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
2021-09-28 21:11:56 -07:00
Pragaspathi Thilagaraj
7e90b8b5f5 qcacld-3.0: Fix missing attributes in connectivity logging events
Fix few missing attribute in below connectivity events:
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_EAP_RESPONSE
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_ROAM_SCORE_CURR_AP

Also send the roam candidate info properly to userspace.

Change-Id: Ia9c4f095316adf8f40294f1e119cad648749bb72
CRs-Fixed: 3037650
2021-09-28 21:11:51 -07:00
Pragaspathi Thilagaraj
9081371b4b qcacld-3.0: Add changes to send connectivity log events to userspace
Fill the QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA event data and
send the event to userspace.
Add dispatch table for the connectivity events to lookup
attribute type, id and length.

Change-Id: I1fc8467409852a430874ac1d926b06ec8dafb736
CRs-Fixed: 3030085
2021-09-26 04:49:49 -07:00
Pragaspathi Thilagaraj
5e4b2f49ad qcacld-3.0: Fill and send connectivity logging management frame events
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.

Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
2021-09-26 04:49:44 -07:00
Nirav Shah
b7fe8299dc qcacld-3.0: Add ini configuration to limit supported HE MCS rates
Add ini configuration to limit supported TX/RX HE MCS rates.
In case of XR use-case, higher throughput is not needed but
higher reliability is expected. So, this ini provide option to
limit HE MCS rate capability to MCS0-7 to achieve higher reliability.

Change-Id: Id6343f5b28d341e5ee377d11ad8420e3b8ded6ef
CRs-Fixed: 3033342
2021-09-23 04:25:11 -07:00
Kiran Kumar Lokere
fb85fcd3b0 qcacld-3.0: Disable 6G security check if RF testmode is enabled
The 6GHz security check is enabled by default. Disable the check
if RF test mode is enabled.

Change-Id: Id6af514f6a31f6351b1b0d784c2b9f7d301496c0
CRs-Fixed: 3040621
2021-09-22 03:15:48 -07:00
Pragaspathi Thilagaraj
db383df8c9 qcacld-3.0: Add support to parse roam frame info TLV
Add support to parse roam frame info TLV.
Add changes to send the BTM request logging event.

Change-Id: I24fab5fc0ec204fce74cf822742b5a44b0e7774f
CRs-Fixed: 3013489
2021-09-22 03:15:32 -07:00
sheenam monga
c339ab4ddf qcacld-3.0: Check Fw capability to support p2p + p2p concurrency
Check fw capability to support p2p + p2p concurrency from
soc_fw_ext_caps and based on fw capability, set policy
mgr concurrency for p2p + p2p.

Change-Id: Ia32f81f37174e9d722911b1fae6d4897d0af9816
CRs-Fixed: 2991300
2021-09-17 01:18:20 -07:00
abhinav kumar
04389c608d qcacld-3.0: Allow roaming between same OWE profile AP's
Currently, firmware can roam between owe security SSID's
even though open SSID is different for both of the AP's.
This commit adds support to restrict roaming between the
same OWE profile AP's which means if the device needs to
roam then target AP's open SSID and owe SSID should match
with current AP.

Change-Id: Ib59127a90cab9ee6626b018d581edbf76ad89856
CRs-Fixed: 3025667
2021-09-10 22:28:38 -07:00
abhinav kumar
3173789d99 qcacld-3.0: Add new BT Coex roam trigger reason
Send additional roam trigger TLV for BTC in
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
command, to support a new roaming trigger
"WMI_ROAM_TRIGGER_REASON_BTC".

Change-Id: Ib767bd6bcf005c187b0fb58986ad287fe8753c1b
CRs-Fixed: 3009788
2021-09-10 20:09:34 -07:00
abhinav kumar
939ba8556a qcacld-3.0: Add BTC as a new roam trigger reason in host
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
2021-09-10 20:09:28 -07:00
Amruta Kulkarni
b64278b0a5 qcacld-3.0: Limit range of JOIN and ASSOC timeout
In cfg file limit the range of join failure and assoc failure timeout.

Change-Id: I615cc371d3a8fa7fa977c0eab88f4b14df7fbcc6
CRs-Fixed: 3028740
2021-09-08 20:22:01 -07:00
Pragaspathi Thilagaraj
100c310363 qcacld-3.0: Set PS config per vdev
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.

To avoid this, set the PS config per vdev.

Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
2021-09-01 14:02:27 -07:00
Kiran Kumar Lokere
cde70adc46 qcacld-3.0: Config support to use BSSID in probe request RA
User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.

Change-Id: Ie0b7620428e1bfbd51e7430b6b7ad23ebede9e67
CRs-Fixed: 3021525
2021-08-27 01:05:14 -07:00
Paul Zhang
fc8ccbf23a qcacld-3.0: Add ini wlm_latency_reset_on_disconnect
Currently, the WLM mode could be recovered after disconnection
or interface down/up about random MAC feature. Since some OEMs
have different mechanisms to config WLM mode on their framework
implementation and don't expect recovering the WLM mode.

So add logic to set default WLM mode when disconnection happens.
And add ini wlm_latency_reset_on_disconnect to differentiate
the implementation in driver. By default
wlm_latency_reset_on_disconnect is false.

Change-Id: Idcb3baf6ab8f0533eb01c28ff1c12513f9995946
CRs-Fixed: 3006875
2021-08-19 11:30:24 -07:00
Kiran Kumar Lokere
a70df38665 qcacld-3.0: Config support for BTWT and Rx control frame to MBSS
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.

Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
2021-08-18 23:55:00 -07:00
Balaji Pothunoori
f0521aa1ea qcacld-3.0: update ini configured rx aggregation size in addba response
Currently addba response is not updated with ini configured rx aggregation
size.
This change is to reject peer addba request if rx aggr size is 1 and
for other sizes select min value of peer and configured sizes.

Change-Id: Ia375b1e031dfecf948429e0baea19faa8fe42ffa
CRs-Fixed: 2962314
2021-08-18 18:43:22 -07:00
Balaji Pothunoori
1cd76edad4 Revert "qcacld-3.0: addba request reject for peer ap"
Peer addba request is rejected when reject_addba_req is set from
ini or vendor command.
Current reject_addba_req ini is replacing with gRxAggregationSize
when it is set 1 from ini.
Hence this reverts commit I80a4b78c1af77f5bfa68be3163f9e9a78cc64245.

Change-Id: I1cc57b88311da4dd8f26eade17072aaa1f0ebb59
CRs-Fixed: 3002204
2021-08-17 15:46:23 -07:00
Surya Prakash Sivaraj
bad0b3e491 qcacld-3.0: Add an INI to configure SAE auth failure timeout
Currently, the SAE authentication request retry happens
after a fixed timeout of 1 second in a STA DUT.

To make this timeout user configurable, add an INI to
configure SAE auth failure timeout.

Change-Id: I3a3944ab14564a944e0c83cc31a92847b5e8c5e0
CRs-Fixed: 3011892
2021-08-16 15:52:25 -07:00
Ashish Kumar Dhanotiya
b4f20040b1 qcacld-3.0: Add INI aliasing for idle_roam_band
Based on new requirement add aliasing for idle_roam_band.

Change-Id: I7ebc2eaf647da6b9dc3cd63a5c81e9160a14e72b
CRs-Fixed: 3007435
2021-08-12 10:45:03 -07:00
Ashish Kumar Dhanotiya
0f6fd1f8db qcacld-3.0: Add aliasing for gNeighborLookupThreshold ini
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.

Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
2021-08-12 00:55:37 -07:00
Ashish Kumar Dhanotiya
d89f39b0bd qcacld-3.0: Add aliasing for INI names
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
2021-08-09 22:25:05 -07:00
Jyoti Kumari
bf9589ac92 qcacld-3.0: Reset twt active command if ack fail
Reset twt active command if ack fails due to firmware internal
error.

Change-Id: Ic980314261ab4f6deb437b36e525ea59c286eee2
CRs-Fixed: 2997509
2021-08-05 15:13:27 -07:00
Kiran Kumar Lokere
f4ed112b3c qcacld-3.0: Add support to configure bss max idle period
Add support to configure the bss max idle period for STA.

Change-Id: Ifc56f6513a2b643ab574937c5216b53bdea1d2c5
CRs-Fixed: 2829159
2021-08-05 15:13:22 -07:00
abhinav kumar
a0e112969b qcacld-3.0: Restore dual sta config after SSR
Save dual sta configuration in hdd context and
restore it after SSR. This allows driver STA + STA
connection in MCC/SCC.

Change-Id: Ia8bb8c845f0f76e7ce41ff32ab0a3bc6d5111018
CRs-Fixed: 2998225
2021-08-04 21:13:15 -07:00
Alan Chen
1ac361a668 qcacld-3.0: Set gRemoveTimeStampSyncCmd to 1 by default
Set gRemoveTimeStampSyncCmd ini to 1 by default so that even for more
than 60 seconds, the device can stay in RTPM WoW mode.

Change-Id: I560389dd9c7d5a33d01c092ad057a7a7aa6f7c37
CRs-Fixed: 3003718
2021-07-30 18:00:49 -07:00
Jyoti Kumari
87fb1e3c33 qcacld-3.0: Mismatch of TWT responder bit in HE caps and EXT caps
In a beacon template, there is a mismatch of twt responder bit in
HE caps and extended caps.

During start BSS, there is a kernel flag related with twt
responder. Intersect this kernel flag and service bit capability
before calling twt enable/disable api in start BSS.

Change-Id: I0725fc560904c622cc47f43958bcd490daacfa2f
CRs-Fixed: 2995538
2021-07-28 04:30:24 -07:00
bings
5b8e66816a qcacld-3.0: register mlme mlo ext call back
register mlme mlo ext call back.
unregister mlme mlo ext call back.

Change-Id: Ifbfd474fcd01d091c65d6dbde08c9877d05e3cd5
CRs-Fixed: 2976146
2021-07-21 17:14:43 -07:00
Jyoti Kumari
f93a29459a qcacld-3.0: Add support for TWT ack event
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context

Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
   waits for this ack event, respective event with status of the
   TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
   reject the TWT command request in userspace context.

Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978
2021-07-20 11:08:57 -07:00
Li Feng
39ef2d2c6d qcacld-3.0: Add sanity check for bmiss configuration from vendor cmd
Add sanity check for bmiss configuration from vendor cmd:
the device mode shall be station mode,
the final beacon miss value can't exceed ini max setting,
vdev_id shall correspond to the interface from vendor cmd.

Change-Id: I7ecdd40f69a8317ccd5362adbcad1159b1792ab7
CRs-Fixed: 2990863
2021-07-20 05:13:41 -07:00
abhinav kumar
bf75fb43f0 qcacld-3.0: Enable SAE roaming with same PMK INI by default
Enable SAE Roaming with same PMK feature INI
sae_single_pmk_feature_enabled by default.

Change-Id: I5be1b24fd77f5296574276af02b0098ac86d9730
CRs-Fixed: 2985116
2021-07-19 13:41:44 -07:00
Deeksha Gupta
ed12a74d8c qcacld-3.0: Add support for FT over DS
Add support to enable the "FT over DS" via
QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS vendor config
command.

This configuration helps the firmware to support
“FT over DS” instead of “FT over Air”

Change-Id: I493bf15f83bc39135aaeefa9d8ef328f0fc0cda3
CRs-Fixed: 2968680
2021-07-15 04:13:04 -07:00
Utkarsh Bhatnagar
8a5ed473ea qcacld-3.0: Change EDCA ini from CFG_STRING to CFG_INI_STRING
Change ini type of all ini related to  edca_ani, edca_wme,
edca_etsi. Also, use cfg_get instead of cfg_default for
fetching these.

Change-Id: Iba252f81d236c5b217e1d86c6511bbc52c2900b7
CRs-Fixed: 2952537
2021-07-06 15:20:30 -07:00
Srinivas Dasari
c65ead975b qcacld-3.0: Let IOT APs recover by avoiding back to back DELBA
Station sends the BA and upgrades to the next possible BA window
size upon receiving all frames successfully from the current
window. Some IOT APs go out of sync from BA window size of the
station when AP fails to receive the BA sent from station. AP
transmits the frames again with previous window sequence number
and won't be ack'ed by station hardware as BA window has already
moved ahead. So, station deletes the upgraded BA and tries
to fallback.

Ideally, AP is supposed to consider the fact that "the previous
window transmission was successful when station upgrades to next
window size". But some APs take little longer time to
recover/upgrade to next window size. Don't delete the BA
immediately and have some tolerance(3 seconds) as the previous
negotiated BA just got deleted.

Change-Id: I6b277223f02dac521316cec20bd5d958785cc2e9
CRs-Fixed: 2970714
2021-07-06 02:15:48 -07:00
Jia Ding
b98114c954 qcacld-3.0: Enable to parse user configured edca params
Currently only default values of local edca params are used for
WME and ETSI profiles. Therefore expose them as INI config options
so that driver is able to parse user configured edca params used
locally by SAP.

Change-Id: I81759570160a67e26f68501576d71a5fd3568cd7
CRs-Fixed: 2976143
2021-07-01 11:23:12 -07:00
Abhishek Singh
a2c4145a3c qcacld-3.0: Cleanup unused params from csr structs
Cleanup unused params from csr structures.

Change-Id: I8384ad5e8c6a9d7f33ffe9bc1ed5508776f39607
CRs-Fixed: 2980067
2021-06-29 19:14:49 -07:00
Abhishek Singh
5ca9e12a4e qcacld-3.0: Code cleanup for connection manager MLME/SME
Remove unused code related to ndef FEATURE_CM_ENABLE in MLME/SME.

Change-Id: I022823296d2e186450a1a1082a975eccf0b7c122
CRs-Fixed: 2977907
2021-06-28 14:41:24 -07:00
Balaji Pothunoori
7c35c46258 qcacld-3.0: tx aggr support based on firmware capability
Currently ini based tx aggr support disabled due to firmware
incompatibility.

This change is to enable ini based tx aggr support based
on firmware capability.

Change-Id: Id5d7197f18fafd926de889f9b69ca2be90497fd2
CRs-Fixed: 2859709
2021-06-25 11:56:19 -07:00
Balaji Pothunoori
d56c5ea434 qcacld-3.0: revert Disable TX_AGGREGATION_SIZE ini for HSP
This reverts commit I9e49ad5218f913f116cf4472f768f572740f14df
since ini based tx aggregation is configured based on firmware
capability.

Change-Id: I54541cd282eda6606e75fa347989624a0e0fef01
CRs-Fixed: 2963280
2021-06-25 11:56:14 -07:00
Kiran Kumar Lokere
73061c8eff qcacld-3.0: Config support for STA bss color collision detection
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.

Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133
2021-06-22 16:17:50 -07:00
Utkarsh Bhatnagar
d6a03bf7e0 qcacld-3.0: Refactor LFR3 code to use cm api
Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.

Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
2021-06-10 10:21:35 -07:00
Kiran Kumar Lokere
5100c14d73 qcacld-3.0: Config support for WMM based TXOP feature
Add configuration support for WMM based TXOP feature.

Change-Id: Ide52b7d4b7bca590515e8697506d2b52744a7fa6
CRs-Fixed: 2947604
2021-06-08 03:16:03 -07:00
Pragaspathi Thilagaraj
22019b0a18 qcacld-3.0: Add support to retain WTC params across disconnection
The WTC parameters are stored in MLME vdev private object.
So the parameters are cleared once vdev delete is done.

Move the WTC parameters to psoc->mlme_cfg to retain the
values across disconnections.

Change-Id: Icecfbef19af994f8a05622501d435bfb63beca50
CRs-Fixed: 2959715
2021-06-08 01:08:17 -07:00
Srikanth Marepalli
e4323e039d qcacld-3.0: Enhance the EAPOL handshake offload INI per AKM
Existing INI disable_4way_hs_offload is defined as a boolean
that controls the EAPOL Handshake to be offloaded to Firmware or
Not. There is no way to specify the EAPOL offload per AKM.

Hence extended the support of EAPOL handshake offload to firmware
per AKM by converting this INI to a bitmap integer.
With ini value as 0 by default Firmware takes care of 4-way HS
during roam for all AKMs except for SAE and OWE. If
this ini value is 1 then Host takes care of EAPOL for all AKMs.

Having the backward compatibility, added a new value to ini.
If this ini value is set to 2 and also if the SAE EAPOL offload
service bit is set by Firmware then the behavior is same as ini
with 0 except that Firmware takes care of 4-way HS for SAE roam
as well. And for OWE it is still handled by supplicant.

To achieve this, new roam offload flag is introduced to indicate
Firmware about SAE roam EAPOL offload, So that in Roam sync
indication Firmware will inform the status as connected but not
authenticated so that supplicant can take care of 4-way EAPOL HS.

Change-Id: I8b65a1768fad91fac7e427712d3ccf4586176f5f
CRs-Fixed: 2955029
2021-06-07 22:54:32 -07:00
Srinivas Girigowda
bd0961f3db qcacld-3.0: Separate TWT enable command wrt req/res role
1. Currently, the same twt enable api hdd_send_twt_enable_cmd()
sends to firmware for both requestor and responder role.

2. When firmware receives enable command, it will be busy to
handle that command. If any back to back enable command, it can
lead to some issues.

As part of this change, decouple enable api based on requestor
and responder role as per below:
for requestor: hdd_send_twt_requestor_enable_cmd()
for responder: hdd_send_twt_responder_enable_cmd()

Synchronize twt enable command to avoid back to back command
issue.

Change-Id: I3d3840740fee7413d6123ece919c42558e9b35d1
CRs-Fixed: 2937540
2021-05-27 03:46:45 -07:00
Ashish Kumar Dhanotiya
cc3c67977d qcacld-3.0: Add ini support to enable NAN on indoor channels
Currently there is no  support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
2021-05-26 09:20:42 -07:00
Pragaspathi Thilagaraj
077006a020 qcacld-3.0: Add new roam scan type string
Add new roam_scan type string to indicate all the 5G+6G
channels are scanned.

Change-Id: I8f77b9b28d5b544d586612e177c86a3b730b0bd9
CRs-Fixed: 2947645
2021-05-19 14:37:43 -07:00
Liangwei Dong
edd0baca7d qcacld-3.0: Update ht cap max amsdu size
When vht cap indicates the vht max MPDU size >= 7991 supported,
ht cap A-MSDU length field should indicate 7935 octets
supported according to 80211 specification.
At present no WMI HT cap defined for ht cap A-MSDU length field
from target.
Fix the issue by override ht amsdu len to 1 if vht max mpdu
len >= 7991 supported by target.

Change-Id: I9d2b8c11e7a27e016f618c1a2c8a380d081a6ba7
CRs-Fixed: 2929148
2021-05-14 04:52:39 -07:00