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
Add support to get the following TWT target capabilities
1) Nudge 2) all twt and 3) statistics
Change-Id: If74e99b0ff920481bcabb0300129b9067082d113
CRs-Fixed: 2854927
Don't allow TWT commands back to back till response for
existing command is not received.
Reject the new command till the existing command completion
event is received from firmware. Allow TWT teardown when
any other command is in progress after TWT setup is complete.
Change-Id: I9282230c7cb24691b44ddfd273972272fd80f44b
CRs-Fixed: 2853515
Create TWT context in peer object to store the TWT session
related parameters. Introduce mlme api to get/set various
twt session parameters for the peer.
Block the below commands till TWT setup is complete.
TWT GET
TWT Pause
TWT resume
TWT terminate
Add new files for TWT specific functionality in MLME component:
components/mlme/core/inc/wlan_mlme_twt_api.h
components/mlme/dispatcher/inc/wlan_mlme_twt_public_struct.h
components/mlme/dispatcher/inc/wlan_mlme_twt_ucfg_api.h
components/mlme/core/src/wlan_mlme_twt_api.c
components/mlme/dispatcher/src/wlan_mlme_twt_ucfg_api.c
Also return error to userspace if back to back TWT setup
command is received before TWT setup response is received from
firmware or already TWT setup is complete for given dialog id
Change-Id: I61e24dd41dc9dcb78fdfe33ef8fa0ecb374a4a72
CRs-Fixed: 2847213
Currently in SAP and STA mode the driver advertises TWT
capabilities in the HE capabilities IE based on the below ini
values irrespective of the master ini "enable_twt" to enable
the twt feature:
"he_twt_requestor","he_twt_responder", "he_bcast_twt",
"he_flex_twt_sched".
So even with the ini is disabled, twt capabilities are advertised
Advertise TWT capability only if "enable_twt" ini is true.
Change-Id: Iae3a98ee339f3859391e0deb64ddd354634b0cbf
CRs-Fixed: 2844516
In AP side power off/on case, AP security has been cleanup.
The STA side might still cache PMK ID in driver and it will always
use PMK cache to connect to AP and get continuously connect failure
in SAE security. This function is to detect AP off based on FW
reported BMISS event. Meanwhile judge FW reported last RSSI > roaming
Low rssi and not less than 20db of host cached RSSI to avoid
some false alarm such as normal DUT roll in/out roaming.
Change-Id: I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb
CRs-Fixed: 2841481
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.
This is a followup change for the change
Ia6423bb43b2ac294541c2485f5ed45d14af6553d to ensure the
"appending vendor IEs to assoc request feature is still intact".
Change-Id: Id788153ceb30c67f7ca9de9f3feea2d610cb21cb
CRs-Fixed: 2851362
The change I3d49c72a31d142ef3b14b439af2ae4cd8be059ea adds support
to append the vendor IEs received from userspace to assoc request.
But this also fixes a memleak in mbo IE handling. It's better split
these two as the feature(appending vendor IEs to assoc request)
may not be needed on all branches but the memleak fix is needed on
all the builds which support MBO.
So, revert this change and raise these as two separate changes.
Change-Id: Ia6423bb43b2ac294541c2485f5ed45d14af6553d
CRs-Fixed: 2851356
Cleanup the struct sCsrNeighborRoamControlInfo and move params in
vdev ext object.
Change-Id: If5a490c68137622838afc831a4da0e1da7fa49c4
CRs-Fixed: 2850991
Add legacy pointer in connection manager context to use for RSO
and other connection manager legacy operations.
Change-Id: Ibc665f53d77aebb3f248fedbdffd1cfe86492b25
CRs-Fixed: 2845980
Enable periodic time sync between host and fw by setting
gRemoveTimeStampSyncCmd to 0.
Change-Id: I52168ad6d065262c433c801716eec0d7782bf6e8
CRs-Fixed: 2845017
Enable 10th bit of CFG_BTM_ENABLE ini to forward BTM request
frame to upper layers when frame contains MBO assoc retry
attribute. when supplicant receives this MBO frame it will
use the frame info for blacklisting the AP so for the next
connection framework will avoid this AP.
Change-Id: I9a675cc01769c38ad5be26ea5fd28ada8dc03546
CRs-Fixed: 2843323
FW considers 9th bit of CFG_BTM_ENABLE for btm query
with candidate list which is not mentioned in ini
documentation.
Change-Id: I4fefdaa464e14c350d885107a28051fa0ad309f0
CRs-Fixed: 2839587
There are cases where only a few TWT roles may be required
to be enabled. For example TWT Requestor role alone or
TWT Respondor role alone. Also, it could be unicast TWT only
and disable broadcast TWT.
Support broadcast TWT configuration in requestor and responder
role by adding new INI.
Extend the use of existing requestor and responder INIs to further
enable requestor and responder roles itself.
Change-Id: I3dfa196edfda9cafd01fa56c0bb6ce73e27b4144
CRs-Fixed: 2828718
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 roam RSSI TH reset.
This helps in debugging/understanding the scenario when roam
failure happens.
Print the info received related to roam RSSI TH reset into kmsg.
Change-Id: Ibee9fc6e9220511d6679efb24080c79bcd807ab8
CRs-Fixed: 2826321
Currently when Adaptive 11R feature is disable via ini
then user space parse Vendor Specific IE and trigger
connection in FT-PSK/EAP based on STA configured key
mgmt, but due to feature disabled via ini it failed
to connect AP and trigger Assoc reject to user space.
To overcome this advertise Adaptive 11R supported feature
bit to user space and based on this feature bit user space
parse, trigger connection in FT-PSK/EAP other wise fallback to
PSK/EAP.
Change-Id: I5d67a0cb77c3f39328467a6313a7a795e6a7a4d8
CRs-Fixed: 2785878
Firmware sends peer create confirmation to detect duplicate peer
on other vdev. If the status field in the
wmi_peer_create_conf_event_fixed_param is 0, peer creation is
successful.
Add support to handle the peer create confirmation command for
sta mode. For roaming scenario, the peer will be internally
created by the firmware, so bail out after creating object
manager peer/datapath peer without sending the peer create
command similar as the current implementation.
For SAP/P2P Go mode the legacy peer create path will be used.
Proceed to do post linkstate change if status is success, else
do vdev stop and indicate failure to upper layers
Change-Id: I0abbd70dd509f2b9afa8d4d7db1774e289d1e021
CRs-Fixed: 2747870
Add new ini "monitor_mode_concurrency" to support this feature
and introduce policy manager api's for concurrency checks.
Change-Id: I35ee1fece0a6f9ae8fe340b0598c4a3e20b17e82
CRs-Fixed: 2814523