The PER default low rate thresholds configured is 20Mbps. This
will cause PER roam scan always after the 25 secs PER monitor
window since the 11b rates are lower than 20Mbps.
So disable PER roam when the connection/roaming to peer is with
cckm/OFDM rates to avoid frequent roam scans.
Change-Id: Iaae469804547c0f0682b66de3609b5cda4b4b577
CRs-Fixed: 2984973
OEM-SS sends ROAMBAND attribute via the vendor command
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET to host to
get current roam band value in the host.
Fix is to process ROAMBAND attribute and send roam band
value to upper layer.
Change-Id: I56b208d00b40d4d3e6d3658d23fa1073f6fe1146
CRs-Fixed: 3009753
Filter roam scan channel list or frequency list as per the
band received from upper layer via attribute
QCA_WLAN_VENDOR_ATTR_SETBAND_MASK and
QCA_WLAN_VENDOR_ATTR_ROAMBAND_MASK.
Change-Id: I4820bfc487949d8445f215a4779dd671925d001f
CRs-Fixed: 3009758
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.
Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
Process the BAND_MASK attribute which comes to the
host via the QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET
vendor command. Save the value of this band mask into
the RSO configuration structure.
Change-Id: I57ecc10912a38207ef478b38cf3add3c584dd2f4
CRs-Fixed: 3009749
When getting rnr IE information, instead of getting rnr pointer through
input parameter, we can just return rnr pointer.
Change-Id: I7215451d34164d40d6404d0a426f1cc30a143e15
CRs-Fixed: 3025191
This change removes the "delete pmksa on BMISS" logic in commit
I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb.
Will handle the issue in new commit by OUI checking of AP.
Change-Id: I871999f8c473afdc75b774210044fc059fcd07b0
CRs-Fixed: 3021068
Currently, wmi_roam_pmkid_request_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I3fad4e4d7ceeb85c632723e161809bf980d5375f
CRs-Fixed: 3014248
Currently, wmi_roam_auth_offload_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I128db23077d423c5e5ecf27636bc3af35cbbc58f
CRs-Fixed: 3010419
In roam invoke request, if bssid is same as connected
bssid use connected frequency.
Change-Id: I0e205ffab002b80021bf6a615e4cfc0a723f0ba5
CRs-Fixed: 3022351
Populate assoc assoc link id in ML IE of an assoc request from
scan cache entry
Change-Id: I82b2b68f45411b1588c76ddd7ce9d21a93d972f3
CRs-Fixed: 3013684
-Extract new wmi struct added as part of MLO roaming
changes.
- Send EHT and MLO weightage percentage to FW via
WMI_ROAM_AP_PROFILE.
Change-Id: I6b3f1f62ef6ea323cd1b75f63a5c63c38b000f1f
CRs-Fixed: 3010039
Currently, wmi_roam_stats_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I5e336b01e1a2183e49b3e6eeb125c7c9fd0fd73c
CRs-Fixed: 3003125
When driver gets rrm request it tries to get country from beacon IE
and if country is not present in beacon IE it sets the current
country information from regulatory and does not sets the op class
which is not the right way.
If AP does not send country in beacon IE, driver should set
GLOBAL_OP_CLASS for rrm request.
Change-Id: I4797d03f38817ac580f3bfea08f1939dad4da5d1
CRs-Fixed: 2996921
For roam scanning, "specific channels list" is preferred over
"preferred channel list". Hence if user configured specific channels
then return invalid for ADDROAMSCANCHANNLES command.
Change-Id: I858eef5c990cedb4b12c21c1a00f34ff6b819849
CRs-Fixed: 3014609
Add 320MHz support in cm so that connection info can reflect
correct 11BE 320MHz bandwidth.
Change-Id: I44772472bf9e64af0e47ad71ca7d29d1ff90daed
CRs-Fixed: 3009311
The RRM request may have different country code with DUT internal
regdb configure, use country code from beacon IE if it is present,
otherwise use internal country code to verify op class of neighbor
report channel list.
CRs-Fixed: 2997474
Change-Id: I35a62d9791f08d26dd8a892739612eb422805523
When firmware sends Roam synch indication, driver changes the
roam offload state to ROAM_INIT and after set key completion is
received, RSO start will be sent. But if EAP/EAPOL fails and
disconnection is triggered then deinit command is sent without
setting roam scan mode to 0 with RSO stop command.
So change roam offload state to RSO_STOPPED if auth status is
connected in roam synch indication.
Change-Id: If8f56ce48500f6848fa917854b6252f8deb67c01
CRs-Fixed: 3005697
Populate mlo IE for assoc req with inheritance mode.
populate base rate, extend rate, capability, extend capability
and HT/VHT/HE/EHT capability based on mac context.
Change-Id: I5e1c350a9c5f23a63d11c6d4b5cdbf0422dd53e0
CRs-Fixed: 3000895
In case of STA + STA concurrency, enable roaming on
another interface only if STA + STA concurrency is in
DBS.
Add sanity for SCC concurrency also along with MCC
concurrency in cm_roam_switch_to_init.
Change-Id: I8787828b4b950c355e9bf70af58aad7779de3e9f
CRs-Fixed: 3001723
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation
Change-Id: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483
Host driver enables hi-rssi roam trigger when STA roams to 6Ghz
AP. But hi-rssi trigger should be enabled only for 2.4Ghz AP
else it will cause frequent roams even though connected to
good candidate AP.
Disable hi-rssi roam when roamed to 6Ghz band AP.
Change-Id: I2ea2d06634963c1190aa1ca0d466b0873e36fbfe
CRs-Fixed: 3001090
Currently, wmi_roam_scan_chan_list_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I8f59f9ebfe1bbdc7ef37ccc1f10178fe8128e912
CRs-Fixed: 2990376
Currently, wmi_vdev_disconnect_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I2486cc3f63c4b35305b60ac55cd0a622c7185323
CRs-Fixed: 2990373
Currently, wmi_roam_blacklist_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.
Change-Id: I41d2ef6c228acd8f86f24107c02d11f1a8ac6dea
CRs-Fixed: 2990369
Currently, wmi_roam_event_id data is extracted and processing is
also done in wma. This is not inline with component model where
target_if takes care of data extraction and handover the extracted
data to corresponding component(connection mgr in this case).
Add changes to support the same. As the legacy CSR/LIM is not
yet converged, have a wrapper from connection mgr to wma to call
these legacy APIs.
Change-Id: I0e22bbccfe21200b90771a01f9ee7454f4ecb119
CRs-Fixed: 2990355
In ROAM DONE event handling, policy mgr restart sap is not invoked after
updating the connection info and hw mode info thus not restarting the sap
after roam sync
To solve this, adding policy manager check after updating the policy
manager connection table.
Change-Id: Ifb8a5eecb98c05166986052ccc32422dbbe3bef7
CRs-Fixed: 2991721
In cm_roam_switch_to_init(), vdev returned from the api
wlan_objmgr_get_vdev_by_id_from_psoc_debug() could be NULL.
Vdev is dereferenced without NULL check.
Validate vdev against NULL before dereference.
Change-Id: I42ff6943e568f16b78290a3310a8999d26c15af9
CRs-Fixed: 2996914
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
During FT-EAP roaming after session timeout if the FTIE received
in the EAPOL of full EAP is improper, the supplicant would
disconnect the AP with the reason FTIE mismatch.
During this disconnection supplicant flushes all the existing PMK
cache entries and eventually the framework would add these cache
entries again (apparently, the current entry would be with the
older PMK). On this addition to the driver, there is no connected
profile and thus no MDID is associated to this PMKSA entry(AP1-PMK1).
Further, on the fresh (Full EAP) connection to the AP2 with the
same MDID, a new cache entry gets added and thus MDID from the
connected profile gets associated with the PMKSA cache entry. At
this point of time, there are two PMKSA cache entries (AP1-PMK1
without MDID and AP2-PMK2 with MDID).
Adding further, if the incorrect PMK (without MDID / stale entry)
i.e. PMK1 is given to the firmware on the RSO command for the
specific BSSID (here AP1) during roam, further roams shall be
calculated with this PMK1 and result in to the invalid pmkid
issue.
Thus, avoid this situation by removing that stale PMKSA entry in
the driver and this entry can be deleted only when it is associated
with the MDID. Driver on the new pmksa addition shall check for the
matching pmksa cache entry with the MDID and delete the earlier ones.
To associate the MDID, this commit checks for the same from the scan
entry of the BSSID, if there is no connected profile for the same
(this happened when the framework has added the cache entry when in
the disconnected state).
Change-Id: If81d66059173dda8d7a2940ca10dc96ef16e125c
CRs-Fixed: 2972115
Fils info is stored per vdev. In RSO scan mode command, in FILS
TLV, the next ERP sequence number to be used in the next FILS
connection is sent to firmware and is filled from the vdev fils
info. But after roam sych event is received, the erp sequence
number is not updated in the vdev fils info, causing FILS roaming
failure.
Update the fils erp sequence number to vdev fils info after
roaming.
Change-Id: Ibc624d9c4b0fc535c430881d3033169b002c8419
CRs-Fixed: 2988113
When HO failure happens or roam synch failure happens due to
north bound disconnect being already processed, host
transitions to RSO STOP-> Roam Deinit as part of the disconnect.
But after this roam abort is done, which tries to reset the
state to ROAM enabled. This causes roam init to be sent
immediately and in STA + STA scenario where STA2 roaming
is also enabled, it causes fw to go to invalid state
as STA 1 vdev is deleted.
Allow roam abort to transition to RSO Enabled only in
Roam Synch in progress state or Roam in progress state
and not in RSO deinit state.
Change-Id: I1f07d4a3068f719b8d05e111bc8d45626c6a2468
CRs-Fixed: 2969507
For STA+STA case, if disconnect is started on one vdev,
roaming is getting disabled on other vdev to fix this
skip updating RSO state.
Change-Id: If527555c3ea3d50516be3a743bb03914b3a2359f
CRs-Fixed: 2981648
Add partner links information in join request to proceed for ML
connection in best links selected in ML scoring.
Change-Id: I463264d9c78f3ab061d54a3245b15174d0940910
CRs-Fixed: 2961881
With connection manager enabled, the send IE request is
not sent after connection.
Add support to send set IE request after connection is
successful in connection manger.
Change-Id: I2f30eb67ba295e0ca416ccb40e12a376e0d7a47e
CRs-Fixed: 2976734
In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.
If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).
Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.
Change-Id: Idbaac2e9d470525641c152b024b8786d262e600c
CRs-Fixed: 2965025
Currently, if it's 11r connection, zero out reassoc_ft_ie in
cm_preauth_success(), it will cause FT roaming failed due to
ft ie loss with reassoc request frame.
Fix is to only zero out reassoc_ft_ie when connection is 11r
and open mode.
Change-Id: I8c1d6ca743b528c4ab0211723a792b14abe5acab
CRs-Fixed: 2976385
Fix LFR2 roaming related memory leak issues in function
lim_send_reassoc_req_with_ft_ies_mgmt_frame() and
wlan_cm_host_roam_start().
Change-Id: I83271b57d0651d680324b67f0e6e6a3694c9ab8c
CRs-Fixed: 2976469
With commit I84c77644c6023322ac77e307b06be70ec0f58ed5, Host
allows dual sta roaming only if two STA's sessions for are
active (STA + STA) and concurrency is in DBS.
Currently, before the increment of the number of active
sessions in the policy manager, the host tries to enable
dual-band roaming. This results in dual sta roaming failure
with the reason number of active sessions equal to one.
The fix is to make sure the host should try to enable dual-band
roaming after incrementing the number of active sessions in the
policy manager.
Change-Id: I150926897cb773db979279edc54e5fb731d98e43
CRs-Fixed: 2971831