Add cfg to disable puncture in US LPI mode per FCC requirement,
set to false by default.
Change-Id: Id01f952b2a74ad64216a66d2d292166211440c4b
CRs-Fixed: 3649640
User space need roam AP BSSID info to analyse roam issue.
Driver cache AP BSSID during roam and update to user space when
get roam stats info by QCA_WLAN_VENDOR_ATTR_ROAM_STATS_INFO.
Change the roam frame number from 6 to 54, means update all
roam failed and successful frame to user space.
Change-Id: I22b3d917e7e0b4f322142ab359fa135cd588d8f7
CRs-Fixed: 3611826
Disable puncture in US LPI mode per FCC request.
If bad FCC AP is detected, send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with
reduced bw after setkey is done.
Also add the same bad FCC AP detection logic in HDD where bw increase req
from SS framework is handled.
When handle beacon update, also FCC AP detection logic to avoid wrong
channel switch.
If the AP removes or reduces puncturing pattern in new beacon, send
WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with increased bw.
For roaming case, after roaming, host will receive new beacon with new
bpcc, same as beacon update, use the same bad FCC AP detection logic and
send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with updted bw right away or after
setkey is done (in case of hybrid roaming like OWE).
Change-Id: I6e85de879575d5c0a1960527f9018b4b33bf18d6
CRs-Fixed: 3631634
AP can send channel width and related information via below OPIE:
1. Wide Bandwidth Channel Switch (Subelement ID 163)
2. Bandwidth Indication (Subelement ID 164)
Trigger wide band scan as per values present for above IEs present
in channel load request.
Change-Id: I013389972f0f72395488a2405e4b0dcbff39dd42
CRs-Fixed: 3629109
Add callback mlme_vdev_reconfig_notify_standby to cld code to
handle standby link removal.
For standby link, it is going to be removed by AP, so don't
start link removal timer for it. Force inactive it to avoid
link switch to it.
Change-Id: Ib28e6b043f582e0fff2f4702e32ff222fc3428d3
CRs-Fixed: 3629633
MLD is applicable for infrasture modes(STA/SAP) and is mandatory to
operate in 11BE for these modes. NAN/NDI(NDP) may want to use EHT
rates and it's not mandatory to support MLO.
Currently, host driver sets vdev dot11mode as 11AX when MLD address
is zero. But this is applicable for STA/SAP only. So, exempt NAN/NDI
modes from this dot11mode downgrade operation to allow these to use
EHT rates.
Change-Id: Ie43811eb7bd12dbf286617cebe194ced8c28c3f0
CRs-Fixed: 3635961
Add changes to init bmiss timeout values with
half of CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP
and CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP
if CONNECTION_ROAMING_CFG is set.
CRs-Fixed: 3633348
Change-Id: If2d4a3975c86e3aa50ee98117795ce7c77b0460c
When connected 320 MHz AP, use SET_MAX_BANDWIDTH set to 160 MHz,
then GET_CU_SUB_CBW20, driver should report all 320 MHz channel
CU info, so we need record center freq2 for 320 MHz at the time
of initial connection.
Change-Id: I8b8ed049926caa31bfac3c702434b68e5f5a26ae
CRs-Fixed: 3629227
Add support for INI twt_disable_info to disable FW initiated
information frame for TWT
Change-Id: I06fe9be364d9def0ccfffc196ae31dcc2ab9a500
CRs-Fixed: 3621241
Incase of MLME component failure post vdev create the vdev_id
is freed up without sending the vdev delete to the firmware,
in this specific case of the issue post vdev create to firmware
a dp vdev attach failed because of memory allocation failure.
Send vdev delete to firmware incase of mlme component failure
post vdev create.
Change-Id: Ib5bf2a2a7f77a44a80b76bd7a243f2c286a19f8b
CRs-Fixed: 3623511
The host driver now sends a notification to the
firmware when a CSA (Channel Switch Announcement)
is rejected due to no change in channel, bandwidth,
or puncture.
Change-Id: I5d8a424459898d15a7931baf7ca4c3de8308c64e
CRs-Fixed: 3595843
In the scenario about MLO 5 GHz + 6 GHz and 6 GHz is non-tx AP in
MBSSID, if DUT tries to connect 5 GHz link as assoc link and uses
the scan entry generated from 5 GHz beacon. Then there is no info
about profile index and count in the scan entry and these info is
necessary for firmware when vdev up.
To resolve this issue, get the info from 6 GHz scan entry if it
exists.
CRs-Fixed: 3619192
Change-Id: Id18b56ed52055fbd9cdce07d1bb9fd4b20fc1c44
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
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
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
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
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
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
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
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
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
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
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
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
As 320 MHz wideband scan is not supported host splits 320 MHz
bandwidth into two 160 MHz scans. Currently, none of these
two 160 MHz wideband scan requests carry the pri20 sub-band
frequency of the connected 6 GHz ML link.
Due to this, DUT is not able to receive beacons sent by 6 GHz
AP (AP sends beacons only on primary 20 MHz freq).
The fix is to fill the pri20 sub-band freq of the connected
6 GHz ML link as one frequency in the wide band scan list
request.
CRs-Fixed: 3552131
Change-Id: I3da18d5801fb7af84b6e20b8134af2d738cc57e1
Save EPCS Capability in psoc instead of vdev to avoid the value
lost when random MAC setting happends.
Change-Id: I35299da59156dc1197adaa3350b0d11255b76c2e
CRs-Fixed: 3551773
Move SR changes from WMA to Target_if and remove
WMA api's which was previously using to update
SR threshold.
Change-Id: I219cd56195471df561a5789fb235e375a14e756c
CRs-Fixed: 3374674
The issue is host always uses assoc link channel width
to calculate the list of the channel(s) to trigger
wide band scan for both links.
In the case of N link MLO connection, the associated
channel and associated channel width may be different
for assoc link and non-assoc link(s).
Fix is to choose the proper associated channel width
and prepare the channel list for each link(s).
Change-Id: I2fce5d1153d396f1bfc9575572d90d2cfec0ac8a
CRs-Fixed: 3539444
In api mlme_connected_chan_stats_request(), dereferencing
of freed pointer is observed by static analysis tool.
Remove dereferencing of the freed pointer in the api
mlme_connected_chan_stats_request().
Change-Id: Ic09b68395a9c3c67aab4a704a915b0d92a00e16d
CRs-Fixed: 3530020
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.
Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.
Change-Id: Iccc13898f76648bfa2167669c966538d95df5fe3
CRs-Fixed: 3482159
Add support to boost or reduce MLO scoring with
mlo_tp_preference_percentage ini.
Change-Id: I0a1280fe259d9e65e5f0f991d456f650b9d1be69
CRs-Fixed: 3456412
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.
On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.
Change-Id: Iff09b6dfe88b5f075a4c81d8f0bfff5bbb0fedaa
CRs-Fixed: 3491058