For multi link connection there might be the case where
rsnxe of the AP is not present on the link vdev.
This causes the link vdev alone to downgrade to 11ax
mode and assoc vdev is in 11be dot11 mode.
So for vdev with ML peer, the dot11mode is 11ax,
which causes abnormal firmware behavior.
Reject the partner link that doesn’t pass the security
check and validate the next available partner link.
if none of the partner link passes the security check,
proceed connection with single link.
Change-Id: I080557027180c0566a1c284a93fcc4b69c61a9c8
CRs-Fixed: 3581189
If bssid and short ssid is present in the rnr list,
do not add duplicated entry.
Change-Id: Ic2f3b2396cd087601cf72aad8b4fdf81188d064e
CRs-Fixed: 3554848
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases. Fix all such instances.
Change-Id: I324581691dfe683e0d5b046e19b444928657ce05
CRs-Fixed: 3556423
Remove the interfering 6 GHz inaddition to the 5 GHz
channels from the scan list, if the DFS SAP is present.
Change-Id: Ia7dd5b87fe762d8ba326f9b7ac508731563312ba
CRs-Fixed: 3555971
For 11A only AP, HT and DS IE are not present in beacon,
STA may receive the beacon on adjacent channel, then
driver may record wrong channel frequency in scan entry.
Fix by update the channel frequency by old scan entry
channel frequency if new beacon RSSI lower than old beacon
RSSI and gap is bigger than 40 db within 5s.
Change-Id: Idbd144befa78597fcd50a753ca13b0f11d1f45f5
CRs-Fixed: 3484664
Currently, during scanning, while parsing the received beacons,
the beacon IEs are checked to verify whether the channel
present in the beacon is invalid. If the channel is found to be
invalid, the corresponding beacons are dropped. This check treats
the channels in the NOL list as invalid channels.
Consider a case of a repeater with RCSA enabled; when the RE
detects a radar, the RE adds the radar detected channels to
NOL and sends an RCSA action frame to the Root AP to intimate
the Root about the radar detection. The RE will also wait for the
Root to send CSA to RE. But in this case, the RE will not parse
the CSA IE received from the Root, as the beacons from the Root
AP are dropped, as the channel present in the beacon is
considered invalid.
The purpose of the channel validity check in the beacon parsing is
to avoid receiving beacons from an invalid channel, that is, the
channels that are not supported by the device. Since NOL channels
are valid, we can parse the beacons received from an NOL channel.
Therefore, to fix this issue, use the regulatory API
'wlan_reg_is_freq_enabled' instead of the API
'wlan_reg_is_disable_for_pwrmode' to check if the channel is
invalid.
The API 'wlan_reg_is_freq_enabled' treats NOL channels as valid
channels.
Change-Id: Iad502363c0ad15be2a009480c49bffcf8e004943
CRs-Fixed: 3513560
Only in the case of HMT, the host sets the
'scan_f_report_cca_busy_for_each_20mhz' scan flag
in scan request.
Trigger wide band scan also only if
scan_f_report_cca_busy_for_each_20mhz flag is set.
Change-Id: I9418d916f1927798ad56460b4c799100fc786378
CRs-Fixed: 3515959
If fcc constraint is set host disables all 6 GHz channels
except for the STA, P2P client connect 6 GHz channels,
but host shouldn't scan any 6 GHz channels.
Add changes to filter out 6 GHz channels from scan list.
Change-Id: Ibc6b34a5d294d1d11f1717be135030760359bd53
CRs-Fixed: 3481006
Optimize scan logs while dropping frame to print frame type
and freq and other info and use same format to print.
Also If bssid hint is zero, avoid printing hidden bssid which
are filtered out.
Change-Id: Ibb6cb523b9be6af2c05c4a5a7a5cbccb44f984af
CRs-Fixed: 3506377
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: I92dbd779c5fbdb1652a37cfa54c177bd13de4f28
CRs-Fixed: 3491060
Optimize beacon/probe rsp logs, by printing the params when
their values are non 0. Thus reducing the logs size.
Also add the frame length in the logs.
Change-Id: I6cad77b6cdc4576804cdabd9f53235029e6cebd7
CRs-Fixed: 3490632
scan db has intersected phymode. For BSS information via iwlist we need
non intersected phymode.
Change-Id: I62a4aea33a67ac12b5be5bcdd4a3fc4538056df9
CRs-Fixed: 3454700
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.
WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not
2. Register osif callback to send scan done indication to upper
layer
3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz
Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
In some scenarios, there can be need to get the peer MLD address.
For this, add new API to extract the MLD address from the scan entry
by the BSSID.
Change-Id: I3b78501cb5320b3e834313a048b6fa0a84eab03b
CRs-Fixed: 3441498
With the MBSSID IE, it has to generate the corresponding
beacon and probe response frames. Then handle the generated
frames per critical update feature.
Change-Id: Iff3fdb3a335a98d9ed7e51957885e2f161069807
CRs-Fixed: 3376521
The kernel-doc script identified some documentation errors in the
umac/scan folder, so fix them.
In addition, Change-Id I8340c6c654cf03f63aee9ed622e3db38056d714f
("qcacmn: Add API to access scan entry partner info") made an
incorrect copyright change, so fix that.
Change-Id: I629f5961ab0a284c70a47fc7d71fe81d5572ae25
CRs-Fixed: 3380633
Fix puncture bitmap validation on on 5 GHz band by
deriving the band bitmap based on primary frequency.
Change-Id: Ic1d482716a905812e08d21dbbfb2472f83b95491
CRs-Fixed: 3396325
Currently, if ACS_LAST_SCAN_AGEOUT_TIME is not provided by user then
the last_scan_ageout_time is updated to 0 and full scan is triggered
to find channel instead of using previous scan results, to avoid delay
use last full scan result based on ini "last_scan_ageout_time" value.
Change-Id: Ic38f0d3c83087dafde54b43762dd14deb7d02870
CRs-Fixed: 3404550
In suspend mode, driver issues the PNO scan with frequency list to
firmware. Currently, for 6 GHz PNO scan, driver adds the RNR flag
for non-PSC channels and sent the scan request to firmware. But
firmware is unable to scan for non-PSC frequencies as 2.4 GHz and
5 GHz frequencies are not present in the frequency list.
So, to fix this, driver exempts the addition of RNR flag for
non-PSC channel in PNO scan.
Change-Id: If2403586460f9da1647bc904027ed738e255af22
CRs-Fixed: 3384972
When the STA finds a candidate AP to connect to, it checks if the
primary 20 MHz channel is punctured or not. This validation is currently
done using scan channel parameters. The scan channel parameters are
intersected to the STA's capability and might not reflect the original EHT
OP IE parameters. For example, consider an 11ax STA in HE160 MHz mode
trying to connect to a 11be AP operating in EHT320 MHz mode. The scan
channel parameters are intersected to the STA's capability of 160 MHz.
The scan channel parameters like 320 MHz center frequency and puncturing
bitmap are inconsistent with the CCFS1 and punturing bitmap received in
the EHT OP IE.
So, instead of using the intersected scan channel parameters stored in the
STA to validate puncturing bitmap of the AP, use the EHT OP IE received
from the AP to validate puncturing bitmap.
Change-Id: I0cdc56eea96f04eb96327506bfd61c0f3a9109bb
CRs-Fixed: 3364639
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.
To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.
Change-Id: Id72f871653e31969c4d1b147cb3c557f90a6c8f6
CRs-Fixed: 3361720
Changes to handle dynamic link add for non-AP MLD.
Also add change to clear mlo cap for link removal of vdev.
Change-Id: I47e0bb77b7f32296e5745ffd53ce3a34ec35a63a
CRs-Fixed: 3346538
The FILS realm scan filter validates the fils realm
provided in connect request against the realm present in the
fils indication element. But according to the 802.11 standard
the AP can advertise the realm count as 0 and choose not
to advertise any realm ID. So the connection to that AP
fails as the BSSID gets filtered from scan results during
candidate selection due to realm mismatch.
Allow connection with FILS AP when the AP doesn't advertise
realm
Change-Id: I7fbaf27a9ba346e105af44d77318c485f55a74ab
CRs-Fixed: 3341993
Fetch beacon/probe response with given mac address from scan db.
The frame can be used to fill bss descriptor in case of MLO
roaming where scan entry is derived from ML probe response of
assoc link.
Change-Id: Ie20b36c6619dd0e44d04d3bd8767c7dd09b053d5
CRs-Fixed: 3342439
To check the allowed dot11 mode of the VDEV, add new member to
struct vdev_mlme_proto hold this value.
Change-Id: I5bfbff0ab3056013a997744b8e9ce0b4d0a3d43b
CRs-Fixed: 3314403
The kernel-doc script identified several documentation issues in
wlan_scan_manager.c and wlan_scan_manager.h, so fix them.
Change-Id: I372a336fdddc59256519b987aa2422ad077229e4
CRs-Fixed: 3335514
User space issues scan, which does not include non-PSC channels.
If user space does not customize these channels, kernel fills
all the supported channels (2 GHz, 5 GHz and 6 GHz all channels).
Driver does not add channels to the scan channel list even if
it is present in RNR IE, as this increases the number of channels
given by user space and increases scan time.
User space should not send customized channel list, even if it
wants to scan the RNR channels.
If the flag NL80211_SCAN_FLAG_COLOCATED_6GHZ is set or at least
one 6 GHz channel is present, driver need to add all 6 GHz
channels which are not present in the scan request and sets
RNR flag for those channels so that FW can do co-located 6 GHz
channel scans on these channels.
Without the change, Driver adds 6 GHz channels to the scan request,
which are present in PSC list only.
Withdraw logic to add all 6 GHz channels to the channel list,
if Scan req carries at least one 6 GHz channel in
scm_add_all_valid_6g_channels, which indicates that the target
or regulatory supports 6 GHz channels, as they are added if
Scan req carries NL80211_SCAN_FLAG_COLOCATED_6GHZ flag.
Change-Id: I3c8f5cd7eadf39557f24f685a260fe76ea5d08be
CRs-Fixed: 3312385
Low latency SAP can come up on below two profile
a. Gaming
b. Lossless Audio
Scenario: LL SAP is present on 5 GHz channel and scan comes up
DBS: For both profile, allow scan only in 2.4 GHz channel
SBS: For both profile, allow scan on non low latency SAP
channel which are mutually exclusive.
Change-Id: I9d5832a457d08325b9e66099286ae3f18cdc66e1
CRs-Fixed: 3294607
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.
Change-Id: Ifad0ccd76bd1184a9b1d20f3d7fa4455df924843
CRs-Fixed: 3291826
If the requested power mode is not supported, the API
reg_get_chan_state_on_given_pwr_mode may return
CHANNEL_STATE_INVALID flag. Besides check
CHANNEL_STATE_DISABLE for disabled channel, add check
CHANNEL_STATE_INVALID also.
If partner link frequency is not supported by regdomain,
do not enable the partner entry.
Change-Id: Ic7adfdcc4e535d6303fa0f4253d1499d369bc222
CRs-Fixed: 3302241
On disconnecting, the bssid may not be filled in cm_req->discon_req.
Zero bssid will fail to update the scan entry to non association
state which may block the scan entry age out.
Move disconnect bssid fill before update the scan entry for
disconnecting.
Change-Id: Id8a36d8a37c212af727c7b61a24b51f2782c4a2c
CRs-Fixed: 3291599
Some p2p device include invalid RSN IE in wildcard probe respone
frames in p2p discovery. Do not drop it because the wildcard
SSID entry will not be used to do association.
Change-Id: I1e390509931094d9d9a55d2caef825c5772a086b
CRs-Fixed: 3282030
Currently, short SSID is not added to the hints in scan request
if BSSID hint is present. But there can be cases where both need
to be advertised and expected to be present in the probe request.
So, send short SSID hints also to firmware in scan request.
Change-Id: Ie66e6677185c106817f4d24c2f07730c53ae243a
CRs-Fixed: 3259555
Currently the INVALID_CHANNEL assumes the value 0xBAD. When a channel list
array is indexed, there is an array out of bound error when the channel
list array is indexed using INVALID_CHANNEL or when the index is greater
than equal to NUM_CHANNELS. So a check for an invalid channel enum is
likely to be, (ch_enum == INVALID_CHANNEL) && (ch_enum >= NUM_CHANNEL).
Redefine INVALID_CHANNEL enum constant with NUM_CHANNELS constant so that,
the validity checks for channel enum is compressed as,
(ch_enum >= INVALID_CHANNEL).
Change-Id: I5be588fe6011ac85031325f56eff208f2aa7a1e5
CRs-Fixed: 3238386
Add 6 GHz function under CONFIG_BAND_6GHZ flag to avoid
multiple definitions and function defined but not used
issues.
Change-Id: I873300b3165df2f13b3c99d5e11e388dadde1fab
CRs-Fixed: 3265134
Add APIs to update and get the time at which scan
is completed in that channel.
Change-Id: I8c594b1881fc83daa88800eac9eac94c2e0df64a
CRs-Fixed: 3239359
Check RSN ie valid or not for beacon or probe response frames
in scanning. The invalid RSN ie will cause the AP filtered out
during candidate selection in connecting.
Change-Id: Id324ddfaa0f438482673e66b683dcf903d9fc0e3
CRs-Fixed: 3218707
If STA is connected to AP (non MBSS AP), the scm_age_out_entries
try to age out check for APs which are not non-tx AP of MBSS.
But the API doesn't check the current connect AP is MBSS or not
and do the mbssid_info.trans_bssid mac address comparing. So
the check is invalid if both trans_bssid is zero.
Fix by check mbssid_info.profile_num value first and then
trans_bssid field of two scan nodes.
Change-Id: I64ed1eddf0583211a305ba61e1d15a6c674be3fe
CRs-Fixed: 3236072
Supplicant compares AKM(s) in RSN IE of Beacon/Probe response and
AKM on third EAPOL frame received by AP. In the case of multi AKM,
previously Host converts all adaptive 11r AKM(s), if any, present
in RSN IE of Beacon/Probe response to corresponding FT AKM but the
AP(s) which support adaptive 11r (ADAPTIVE_11R_OUI: 0x964000) only
converts first AKM to corresponding FT AKM and sends third EAPOL
frame to DUT. This results in failure in a 4-way handshake in
supplicant due to RSN IE miss-match between RSNIE sent by host
and RSNIE present in third EAPOL frame. Now like AP, the host is
converting only the first AKM to corresponding FT AKM to avoid
RSNIE mismatch in supplicant.
Change-Id: I522c6e313df50c1ef2952ec2e464a107ae739dad
CRs-Fixed: 3230622
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Idc7c80891aed551db5b6b87eba7b44b6c75ecad3
CRs-Fixed: 3217348
If puncture of primary 20M channel of beacon or probe rsp is not 0, the bss
is invalid and filtered out when DUT STA select candidate AP to connect.
Change-Id: Ic27c75ab07ec91a80164a12b0928c98bc8911f99
CRs-Fixed: 3208103
Get mlo partner link freq from RNR IE.
Use band bitmap to filter mlo AP by band.
Force link on 2 GHz: mlo_support_link_band=1
Force link on 5 GHz: mlo_support_link_band=2
Force link on 6 GHz: mlo_support_link_band=4
Change-Id: Ib11dee117bef6121bbc455b62a2803138881a72a
CRs-Fixed: 3211974
Currently STA can scan and come up on 6Ghz or indoor channel if
hardware is non-dbs and SAP is present
As part of this change, do not allow STA to scan on 6Ghz or
5Ghz indoor channel for non-dbs hardware if SAP is present
Change-Id: I97759f8b2c6a1c460d90fbb797a0e64d2532797c
CRs-Fixed: 3186406
Currently 6 GHz channel flags are not set for channels
present in the list from PNO scan request but are set for
all other 6 GHz channels which are added when either of the
two below conditions are satisfied
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in PNO scan request.
2. At least one 6 GHz channel is present in the PNO scan req.
Add flags for channels in the PNO scan request based on the
scan_mode_6g ini configured similar to active scan request.
Add changes to remove the RNR flag for the channel if the
corresponding short SSID entry is present in the RNR db
Cache since if colocated SSID is different userspace doesn't
include corresponding 2.4/5 GHz channel information in PNO
request.
Change-Id: I22c4f7ecf65d4ab09dfbbe126aefe02f9145de42
CRs-Fixed: 3119113