The item "bss_max_idle_period" is not an ini item and we can only
use it's default value 0. It's not convenient to set it a value
that user required. So set it to an ini item.
Change-Id: Ie514992448cde192ffd6f1402a4477fabbbae741
CRs-Fixed: 3591728
Currently, when user connect STA with 2 link AP and sends
"MEASURE_ML_CHANNEL_CONDITION" command to driver, the driver report
error. This is due to driver tries to fetch the link info for
3 link but only 2 link info is available. Hence, it gets invalid
link id for third link.
To fix this, add check for number of links and extract the data for
available links only.
Change-Id: I5a25e0a4c8610703959390b62a530b784b5c766a
CRs-Fixed: 3616274
Connecting event logs are to be sent after candidate
selection and not immediately after receiving
connect request.
Modify the connecting event logs to be sent after
sta info event logs.
Change-Id: I83b654ba0ef3458368ba7dd6353c5ab67077ec39
CRs-Fixed: 3599703
When host driver receives CSA event from firmware, lim posts
VDEV_RESTERT request with the CSA info. But the channel
switch operation may fail in further APIs due to any
reason(e.g. channel not valid for switch). Failure status is not
forwarded till lim in such cases as vdev SM always returns
true(success) when it handles the message.
So, the flag doesn't get reset in such cases.
Reset the flag in lim handler of VDEV_RESTART request when it
fails to send VDEV_RESTART command to firmware.
Change-Id: Iceeabd9cab46107ce7e2d14af121b0155c27673c
CRs-Fixed: 3602751
When link switch happens internal disconnect sequence happens on
that vdev, but RSO stop is not sent for assoc vdev during below
scenario:
1. Disconnect gets triggered from userspace when VDEV-0 is in
middle of link switch.
2. At the time of the disconnect, vdev-1 is assoc vdev and vdev-0
is link vdev.
3. For the disconnect request, first disconnect serialization is
posted for assoc vdev(0) and then for link vdev(1).
4. After the serialization is posted, link switch connection
succeeds and vdev-0 again becomes assoc vdev and vdev-1 becomes
link.
5. Now, serialization posted in #4 gets dequeued and assoc vdev
gets cleaned up first.
6. Link vdev-1 gets cleaned up next, and it posts RSO STOP for
assoc vdev and waits for response. However, vdev-0 is already
cleaned up.
7. Therefore, vdev-1 gets stuck in wait-for-rso-stop response
and leads to active command timeout.
RSO start for this assoc vdev will be sent after link switch
is complete when keys are installed.
So send RSO stop for assoc vdev during link switch start
Change-Id: I5563dacef6610fc7039b1d05798edf4b6364eebd
CRs-Fixed: 3612704
In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD ID
within the ML probe request that is invoked as part of scan
request. Add support to configure MLD ID in scan start
params to FW.
Change-Id: Iec5a144e597a7f6b9b741f279e4424f975c5115c
CRs-Fixed: 3561040
Currently, STA cannot perform SR when SAP does not include SR
IE in Beacon/Probe response/Assoc response.
This change is done to configure default non-SRG OBSS PD
parameters in FW in this case.
Change-Id: Ic37e5f011cb7e07ebbe4acef56b8c36c4e08c285
CRs-Fixed: 3551808
SRPS IE is not included in beacon, when Non-SRG OBSS PD SR Disallowed
bit is set in he_spr_sr_control hostapd configuration parameter.
Code changes are done to update beacon template to include SRPS IE to
communicate to all the connected STAs that, the Non-SRG OBSS PD based
SR transmissions are not allowed in the BSS.
Change-Id: I4090099de20fe383f16e60ad871faa4f42549a24
CRs-Fixed: 3533287
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.
To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.
Change-Id: I903185ec9b64cc67cc2e0c595ba88b7b0ca8ded2
CRs-Fixed: 3603012
During rrm_initialize () set RRM cap for Channel Load
and statistics to enable by default. Same rrm capabilities
driver sends to AP in association request during connection.
Change-Id: I3a9d87b8bd8b28b84ccc3578fff2ad1c7ebd8a6e
CRs-Fixed: 3609838
Active ini he_max_ampdu_len and change default value from 0 to 3.
Use min(ini, he_max_ampdu_len from F/W band/MAC cap) as final
he_config.
Mdm platform need set different value to pass throughput KPI.
Change-Id: Ib0580a0e68b72b6b7cd02d327ba643cfd1508080
CRs-Fixed: 3609154
For BTM certification cases, FW is unable to roam to
testbed AP BSS due to scoring logic. Reset the BTM
abridge flag that is used to enable FW to select
candidates based on score.
Change-Id: I29b6e1b5dea969263eb263103c6d2c10d5047f20
CRs-Fixed: 3591574
As per customer requirement, to enable or disable t2lm support
configure CFG_T2LM_NEGOTIATION_SUPPORT as INI.
Change-Id: I8eb4c78a04bbaa5ce0c155d04ddb793d31b092ee
CRs-Fixed: 3608649
Currently, Host driver uses vdev object to retrieve
mlo link info. However, there is a need to use
mlo dev context in case of standby link.
This change is to use mlo dev context for fetching
link info, As it is available for both psoc and vdev.
Change-Id: Idccf91eb191a9fc24108648b885d6e9c7832a051
CRs-Fixed: 3568936
Currently, when user executes "MEASURE_ML_CHANNEL_CONDITION" command,
it provide frequency parameters for two link only as driver fills
the frequency, phymode and other parameters in scan request for
two links only. This is because driver fills for
"WLAN_UMAC_MLO_MAX_VDEVS".
To enable this for three link, driver fill the scan requent from
link context which have link information for "WLAN_MAX_ML_BSS_LINKS".
Change-Id: Ic8e1313b35c6ae916a4494cdbfbd7b0828eddc7a
CRs-Fixed: 3576619
For certain cert cases, roaming is disabled through
CAPI. Supplicant sends RSO disable to Host and the Host
disables BTM offload as well as part of roam disable.
But, for cases like load balancing, Firmware has the
logic to handle BTM requests with disassociation
imminent bit set to 1, by sending an event to Host to
trigger a T2LM request action frame rather than a BTM
response. Thus, set BTM offload bit even when roaming
is disabled to allow FW to handle BTM request frames
instead of supplicant.
Change-Id: Iaa0cbbce62dbb76518880ef2470d6d0819c501db
CRs-Fixed: 3590733
Currently, some mlo APIs returns false if mlme_obj is
not found but return type expected is uint8_t.
So, return 0 instead of false in case of error.
Change-Id: I52d0fd82520bb046a7a80381d53f97c95b32d0d1
CRs-Fixed: 3608559
In case of 320 MHz BW, 6 GHz channel numbers are overlapping
with existing 2.4 GHz and 5 GHz channel numbers.
If DUT connected with one of overlapped channel, To identify
exact band and corresponding bonded channels driver should
pass 320 MHz center frequency to
wlan_reg_get_bonded_chan_entry() as a argument along with
connected 6 GHz frequency and channel width.
Fix is to use 320 MHz center frequency to compute bonded
channels in mlme_update_freq_in_scan_start_req().
Change-Id: I7616f0379d64e33f9bd4a208253db0a390158f77
CRs-Fixed: 3606575
Currently, roam stats don't cache Roam AP BSSID and don't update
to user space.
If roam successful, save R_AP and P_AP, if roam failed, save P_AP
and save C_AP if exist, then update to user space.
CRs-Fixed: 3580957
Change-Id: Ib0048c34701a7750f9261ba5cbd1bc65eb41582c
There is a requirement to downgrade/upgrade STA band width on 2.4 GHz
without reconnect. Change driver to allow such request from vendor
command by QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH attribute.
Change-Id: I6642963d90eafc388b6c20c0ce393e6fec58b374
CRs-Fixed: 3594338
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.
Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
Include BW_IND_ELEM IE in beacon and ECSA frames while advertising
CSA. This is needed when upgrading the bandwidth to 320 MHz.
Send the ECSA IE with switch count as 1. Use a timer to reset it
after sending the beacon out.
Change-Id: I6c38ef1ce4629b7a67bcbf803c7dbcced05ade33
CRs-Fixed: 3604422
SAP operating bandwidth may get updated due to concurrencies.
This might be temporary and SAP moves back to its original
bandwidth once concurrency is gone. So, add set and get APIs
to maintain the SAP current operating bandwidth.
These can be used during/after bandwidth update operations.
Change-Id: I386ad20bcbd0902672a890bde510ecc50e58512b
CRs-Fixed: 3600223
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.
Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.
Change-Id: I6ae82c2a1c0e4ff13cea678bf27916a3cda8ad81
CRs-Fixed: 3595730
Currently, if the AP advertises both Local and Regulatory
TPE IEs in the beacons, STA uses an INI to choose one over
the other. Vendor ask is to change this logic and allow STA
to use the minimum of the two TPE power limits. Also,
deprecate the INI that sets the preference between local
and regulatory TPE IEs.
CRs-Fixed: 3574510
Change-Id: Ibf19020d59621efa72cf290ef34c825fdb50e3e7
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.
Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.
Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.
To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.
Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.
CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50
Change-Id: Ieaa25a9c2b98f4c73cb89462463dd88ba5d11b53
CRs-Fixed: 3590251
As per new requirement, to improve Wi-Fi Roaming behavior
DUT should support channel load request received as part
of rrm measurement.
The Channel Load request/report pair returns the channel
utilization measurement to AP as observed by the measuring
STA.
Change-Id: Idf1b5581222e1fbed3426d94edd8768234ff6a43
CRs-Fixed: 3580180
Move tSapChSelSpectInfo structure from sap component to mlme
component so that it can be use by LL_SAP as well
Change-Id: Ic3c2919054326aca3530071df27d425bb78a699a
CRs-Fixed: 3561182
Update the mlo_support_link_num config to 3. This will enable
support to connect/roam to 3 Link AP with 3 links advertised.
Change-Id: I6241f7024271208c8d1584549edb91cc37fadcb8
CRs-Fixed: 3582858
If INI is enabled don't derive first link's MAC address
and directly use MLD address in that place and derive
next link addresses.
Change-Id: I3c2b9f64df3f75799adf8718ee83d157f6dd9097
CRs-Fixed: 3584062
At present, the link removal flag is in vdev object, but vdev may
repurpose to other link, the link removal flag has to be in link
info struct.
Add link removal flag in link info data struct and remove
it from vdev struct.
Change-Id: I6116e89f2bb065979f4e405ef0fac386abebcf17
CRs-Fixed: 3572836
Supplicant sends SET_MAX_BANDWIDTH driver command to update
connected channel width dynamically.
Host should update connected bss rate flags so that host
can send proper cp stats as per updated channel bandwidth.
Change-Id: I676635b108f91f4fd8471fbe66352aa471dd9a9f
CRs-Fixed: 3519930
Extract aux device capability and store it in wma/hdd/mlme.
current only 1 aux supported so only save info
for aux0.
Change-Id: Ib19bad6cf3c0bda5a31ea4993a2f7e587b2043e2
CRs-Fixed: 3549751
Add support to dynamic enabling the TDLS.
Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE
Change-Id: I3b9164ba04a4d9c23d7f580020966c222f8bd359
CRs-Fixed: 3562148
Add support to send whether currently TDLS is available or not.
Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AVAILABLE
Also add support to get the TDLS number of active sessions
using below vendor attr.
Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_NUM_SESSIONS
Change-Id: Ie9ad09de9593559c4d57599a9af58a95af99e60f
CRs-Fixed: 3554429
During VDEV creation, vdev parameter "DISABLE_2G_TWT"
is populated in accordance to the value of ini
"enable_twt_24ghz" in order to indicate FW
to support TWT for 2.4GHz band.
Change-Id: I610bbaad3c5d12a8303939488ed2d7486dda404f
CRs-Fixed: 3560288
With these APIs, vdev connection is effected by the
WIFI standard version. For example, if wifi_std is
wifi6, then the connection will not use 11be feature.
Change-Id: I8f762f9cf16d876d5cf2847561b61c11a23e97b5
CRs-Fixed: 3554305
Add API to restore or clear user set link num when SSR or
interface down happens.
Change-Id: I955937817481740dc3dd75b51d669ed36b5f74d2
CRs-Fixed: 3531260