This reverts commit I9e49ad5218f913f116cf4472f768f572740f14df
since ini based tx aggregation is configured based on firmware
capability.
Change-Id: I54541cd282eda6606e75fa347989624a0e0fef01
CRs-Fixed: 2963280
Add INI configuration support to enable/disable BSS color collision
detection offload in STA mode.
Change-Id: I9d8f096813d74242566ccae5f92e872bcaca6295
CRs-Fixed: 2965133
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
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
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
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
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
The INI skip_tpe_consideration when set, skips power from AP's
TPE IE in TPC power calculation for 2.4G/5G case. Enable this
INI by default since APs advertise low TPE powers for IoT, thus
lowering overall TPC power.
Change-Id: I6c07bbd684579c2fa3617e49d76c75b5bf3f2815
CRs-Fixed: 2941630
New checks have been added in userspace to verify the 6GHz HE
capabilities before allowing the connection. These capabilities
are not currently being shared by host. Add logic to send the
6GHz HE capabilities to userspace.
Also, add APIs to get capabilities from MLME component.
Change-Id: I3d2bbe0d87be6094b6fc74ce01d0e418873cbc6f
CRs-fixed: 2931130
Sometimes, the AP sends low values in the TPE IE resulting in low TX
power. This causes DUT to have throughput/connection issues. Add an INI
to skip over TPE IE only in 2g/5g case. TPE IE will always be considered
in 6G band.
Change-Id: Ia0750195bb0aabf304743e1ad89c8f6d0c9ef1a3
CRs-fixed: 2936492
Consider two APs: AP1, AP2
Both APs configured with EAP 802.1x security mode
and OKC is enabled in both APs by default. Initially
DUT successfully associated with AP1, and generated
PMK1 by performing full EAP and added an entry for AP1
in pmk table. At this stage, pmk table has only one
entry for PMK1 (1. AP1-->PMK1).
Now DUT roams to AP2 using PMK1 (as OKC is enabled)
but session timeout happens on AP2 just before 4 way
handshake completion in FW. At this point of time DUT not
in authenticated state. Due to this DUT performs full EAP
with AP2 and generates PMK2. As there is no previous
entry of AP2 (AP2-->PMK1) in pmk table. When host gets
pmk delete command for BSSID of AP2, the BSSID match
fails. Hence host will not delete pmk entry of AP1 as well.
At this point of time, the PMK table has two entry
1. AP1-->PMK1 and 2. AP2 --> PMK2.
Ideally, if OKC is enabled then whenever timeout occurs in
a mobility domain, then the driver should clear all APs
cache entries related to that domain but as the BSSID
doesn't exist yet in the driver cache there is no way of
clearing the cache entries, without disturbing the legacy
roaming. Now security profile for both APs changed to FT-RSN.
DUT first disassociate with AP2 and successfully associated
with AP2 and perform full EAP and generates PMK3. DUT first
deletes PMK entry for AP2 and then adds a new entry for AP2.
At this point of time pmk table has two entry AP2--> PMK3
and AP1-->PMK1. Now DUT roamed to AP1 using
PMK3 but sends stale entry of AP1 (PMK1) to fw via RSO
command. This override PMK for both APs with PMK1
(as FW uses mlme session PMK for both APs in case of FT
roaming) and next time when FW try to roam to AP2 using
PMK1, AP2 rejects PMK1 (As AP2 is expecting PMK3) and
initiates full EAP with AP2, which is wrong.
Fix is to update pmk table entry for roamed AP1 with PMK3 value
comes to host via roam sync indication event.. By this host
override stale entry (if any) with the latest valid pmk for
that AP at a point of time.
Also add new api to get the sae single pmk ini value and
update the bss desc of single_pmk cap after intersecting the ini
value.
Change-Id: I12fecbae69d0d2a11f2a39eee6be960752d831bd
CRs-Fixed: 2889847
Address below corner scenarios for dual sta roaming:
1. Initialize primary interface vdev id
with WLAN_UMAC_VDEV_ID_MAX.
2. Enable roaming while processing set primary interface
vendor command irrespective of dual sta roam policy.
3. Disable mcc_adaptive_scheduler before sending
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID to FW and
enable it if host receives dual sta policy as unbiased.
Change-Id: I8e5254c6f9053bd5fe7f925af4b577e76c9b9a2e
CRs-Fixed: 2928870
If STA + STA connected in MCC, FW should distribute
the duty cycle between primary and secondary connection
in 70:30 ratio.
Quota for the 2nd role is calculated as 100 - quota of
first mode.
Change-Id: I36ab9a9717da1e1f0ff0e0e11a18681c97ed6c58
CRs-Fixed: 2927460
If there is more than one STA iface concurrently active
and one of them is marked as a primary iface. The host
received CONCURRENT_DUAL_STA_POLICY vendor command with
policy PREFER_PRIMARY. Then Don’t consider PCL weightage
for an STA connection. Due to this host/fw allows a new
connection either in DBS, SCC or in MCC.
Change-Id: I400165f8dd3ab7b94b2cb808f8b34b34d6d42fee
CRs-Fixed: 2929015
Add support to primary STA iface when there are more
than one STA iface concurrently active via the
SET_WIFI_CONFIGURATION vendor command.
Below attribute associated with this vendor command to
give indication to host to set primary interface:
QCA_WLAN_VENDOR_ATTR_CONFIG_CONCURRENT_STA_PRIMARY.
Set indicates that the specified iface is the primary
STA iface.
This configuration helps the firmware/chip to support
certain features (e.g., roaming) on this primary interface,
if the same cannot be supported on concurrent STA ifaces
simultaneously.
This configuration is only applicable for the STA iface and
gives the priority for it only over other concurrent STA
ifaces. 1-Enable, 0-Disable.
Change-Id: I2bc7d8880c78c0c05e824f58aadacd84369d1880
CRs-Fixed: 2915728
Add support to configure the concurrent session policies
when multiple STA ifaces are getting active via the
CONCURRENT_DUAL_STA_POLICY vendor command.
Possible values associated with this vendor command are:
1. QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY:
This indicates host to give preference to the Primary
STA interface while selecting the connection policies
(e.g., BSSID, Band, TX/RX chains, etc).
2. QCA_WLAN_CONCURRENT_STA_POLICY_UNBIASED:
This indicates connection policies for the subsequent STA
connection shall be chosen to balance with the existing
concurrent STA's performance.
Change-Id: I56994a182bb54adca57c3fc8fce9963b5db37b79
CRs-Fixed: 2915718
As part of 11be enhancements in the driver, new configuration
parameters will be added. Define new APIs to support EHT
configuration parameters in the host driver.
Change-Id: Ic1890943a2f941e864d0df102e4954aac75d9f11
CRs-Fixed: 2908030
Current driver implementation supports management frames handling
till 11ax. As part of 11be enhancements, new information elements
were added. To support 11be in host driver, update management
frames handling to support EHT information elements.
Change-Id: Id7064cbfe0b2c6a413be20c3ea64747a39312845
CRs-Fixed: 2907983
The commit Ic695e36e9b4fc9952cc405d1345b4a6a7d543dad, removed the
ini parameter etsi13_srd_chan_in_master_mode assuming that the
ini is obsolete and no longer being used. But, the ini is still
being used by the OEMs. So, revert the previous changes.
Change-Id: I6b2ba8b8e41ab96981b92e5ff4b2f610f92d7e43
CRs-Fixed: 2923688
Add support to reject the TWT setup request if there exists
another TWT session with different dialog id.
Change-Id: I59c0ba4279581bad14bec886d22c0ac65838ec17
CRs-Fixed: 2920494
Currently, mlme_twt_is_command_in_progress() function checks if the given
command is in progress or not. For inputs like WLAN_TWT_ANY, if this function
returns true then from the current logs, its not known which
active command in progress.
Hence for better debugging, enhance this function to return active command.
Change-Id: Ibc5c5babb042408b0e8988fe229d344ed98bfff3
CRs-Fixed: 2920494
HSP doesn't support TX_AGGREGATION_SIZE ini, need disable it to avoid
confusing.
Change-Id: I9e49ad5218f913f116cf4472f768f572740f14df
CRs-Fixed: 2918796
The userspace doesn't expect TWT teardown or notify events after
roaming. So to clear the driver internal TWT context, for old
peer, call the mlme_init_twt_context() on roam synch complete.
Change-Id: If1e4fe2d79561885052caf8d5231d1c943f10c96
CRs-Fixed: 2912872
As part of WiFi ini clean-up FR, the ini parameter
etsi13_srd_chan_in_master_mode, is identified as an obsolete. Hence,
it can be deprecated and use its default value for the config
CFG_ETSI_SRD_CHAN_IN_MASTER_MODE.
Change-Id: Ic695e36e9b4fc9952cc405d1345b4a6a7d543dad
CRs-Fixed: 2896031
As part of WiFi ini clean-up FR, the ini parameter ImplicitQosIsEnabled,
is identified as an obselete parameter and hence it can be deprecated.
Change-Id: Id2ea893ec714150d6144aead2dc3c2b5967d805b
CRs-Fixed: 2896059
As part of WiFi ini clean-up FR, the ini parameter
gDataInactivityTimeout, is identified as it is no longer used
and hence it can be deprecated.
Change-Id: Ic01ba8934058cf2fb3bec042f11b01ea70ef7a3f
CRs-Fixed: 2896042
Add new ini "enable_twt_24ghz" to enable/disable host triggered
TWT in 2.4Ghz connection. Check this ini value in TWT get
capability. The userspace will query the self capability before
triggering the host TWT.
Change-Id: I3544de89f438fc526f8a2554c6aeebcd25d6c415
CRs-Fixed: 2904775
Enable 4address frame format for the packets to the AP.
Enable MEC check for the sta dp vdev.
A new ini is added to enable WDS feature specifying the
desired WDS mode.
CRs-Fixed: 2889438
Change-Id: I99ccb91adf283a1ed863902ec4b31f1c3e821d32
Remove all of the conditional compilation for pmf since this
feature is mandatory for future scope from protocol point
of view.
Change-Id: Id3a2127e9ecb343ad2a0354dcbc331c22167d7fb
CRs-Fixed: 2852630
Currently multiple ini is available for setting the broadcast
TWT requestor and responder configuration.
Deprecate "bcast_twt" legacy ini and also don't consider
legacy service capability WMI_SERVICE_BROADCAST_TWT.
So below is the service capability values combination
advertised by firmware:
new fw:
bcast_req bcast_resp legacy
0 0 0 -> disable bcast
0 1 0
1 0 0
1 1 1
old fw:
0 0 1 -> enable TWT
Also change the default value of "twt_bcast_req_resp_config" ini
to 1.
Change-Id: Ic9af296b0efffc8f76f647b5830183867e0adf57
CRs-Fixed: 2873360
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
Fill operational and extended rates in LIM
instead of CSR as part of connection manager.
Change-Id: I9197e835703059d61bc67897a9670ff166460318
CRs-Fixed: 2892415
Don't allow twt statistics or clear statistics command
if twt statistics or clear statistics is in_progress.
As a Fix, reject the new twt statistic or clear statistic
command till existing twt statistic or clear statistic
command completion.
Change-Id: I710a81ae3409f181689b2e4c9e9d4e583d4aadab
CRs-Fixed: 2870592
Host checks if firmware advertises Operating channel validation(OCV)
support bit in service ready then updates OCV flag in wiphy ext feature.
Change-Id: I92f872a07e6f7142e602e6a9e5f5edcecc0aab0b
CRs-Fixed: 2880821
Currently driver fills unicast, multicast & auth mode values from
csr session which is not updated after roaming to AP with different
security profile. This causes incorrect values in AP profile command.
Send correct authmode/unicast and multicast ciphers in AP profile
command to firmware.
Also modify the below 2 ini default values as:
candidate_min_rssi_for_beacon_miss=-75
candidate_min_rssi_for_disconnect=-75
Change-Id: I33cc9f516447071e977768f01738eea7a2ecd99c
CRs-Fixed: 2879943
Currently, TWT setup is allowed after roaming even if
TWT notify from firmware is not received.
Block the TWT setup till notify event is received
from firmware.
Change-Id: Ia6ff8fe9e05f32ddf6dbdd608d9090b612237f26
CRs-Fixed: 2870610
Fill extra params such as join timeout etc. in LIM
for connection manager path.
Change-Id: I3c12e49023ce04c6b8d2f6c41d128ed9fc93a441
CRs-Fixed: 2879094
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.
Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
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
To make it generic, rename the flag QCA_WIFI_NAPIER_EMULATION
as QCA_WIFI_EMULATION.
Change-Id: I8e654262a38a7a701a5a34e2bbd5394c8985c65a
CRs-Fixed: 2871313
When the TPE IE comes to driver, there could be information for both
local and regulatory. Add an INI for preference in the case that both
sets are present.
Change-Id: I4b37123569f422863fc805063974c65878a9baea
CRs-fixed: 2854774
Add user controlled rx addba request reject for peer AP based
on ini configuration.
Change-Id: I80a4b78c1af77f5bfa68be3163f9e9a78cc64245
CRs-fixed: 2835511
Currently user configured tx aggr size "0-64" is not honored in
firmware, By default firmware expects as 256 and its hardcoded.
In order to make user controllable, host has to send default max
tx aggr size as 256 for lithium and 64 for other targets.
Change-Id: I7a69f09d048f79da4c770e71b4d1c8726fa02faa
CRs-Fixed: 2846803
Add ini 'cfg_tx_iot_aggr', it gives an option to
configure Tx aggregation size in no. of MPDUs/MSDUs
for specified OUI. This can be useful for IOT issues.
Format of the configuration:
cfg_tx_iot_aggr=<OUI-1>,<MSDU-1>,<MPDU-1>,<OUI-2>,<MSDU-2>,<MPDU-2>...
MSDU/MPDU means the max tx aggregation size in no. of MSDUs/MPDUs,
0 means not specified.
For example:
cfg_tx_iot_aggr=112233,2,0,445566,3,32,778899,0,64
If vendor OUI-1("\x11\x22\x33") is found in assoc resp,
set tx amsdu size to 2;
If vendor OUI-2("\x44\x55\x66") is found in assoc resp,
set tx amsdu size to 3, set tx ampdu size to 32;
If vendor OUI-3("\x77\x88\x99") is found in assoc resp,
set tx ampdu size to 64.
Change-Id: Idcf370a4bf93ca299ce1126eaba4394be1ab5b9d
CRs-Fixed: 2849203
Add support to include the session state in TWT status query
response. Session state is set to active once setup is
complete and when resume response event is received from
firmware. Session state is suspend when suspend response
event is received from firmware.
Change-Id: I1f47947c05f80bd85199fd81b951dc54deacdc09
CRs-Fixed: 2854500