Debug frame work to simulate the generation of management
frames by HW, processing of management frames by FW and Host.
This would help in exercising the management Rx reorder
algorithm.
Change-Id: I9ec585b1bb41a5eb5e6226d0151ad23143fdb8f7
CRs-Fixed: 3017577
Add flag to indicate whether MLO is supported by the candidate or not,
which is helpful when checking concurrency.
Change-Id: I166ad2963163ae4dc7989516b654dce4cb635cec
CRs-Fixed: 3013418
Update element ID extension values for EHT Capabilities, EHT
Operation, and Multi-Link IEs. The values are as per current ANA
database.
Change-Id: Iaf8399170340d706acb1ecbd0f8b7050c4f6228d
CRs-Fixed: 3032233
Fix the second cfreq2 frequency returned by the service
API, wlan_get_320_center_freq, for a channel ranging
between 33 (6115MHz) to 61 (6225MHz).
CRs-Fixed: 3060832
Change-Id: I656a5d6633cfa48aaeff5f0ba53e4c6138f5d8f8
In certain cases the driver checks whether the peer is a assoc link
or non-assoc link, in case of legacy connection when mlo is disabled
return true for assoc link.
Change-Id: I50e6b22754ffb26fbb4b7892a962bc754479f7a8
CRs-Fixed: 3059278
Move basic IEEE 802.11 field definitions that are not specific to
cryptographic functionality, from a cryptography related header file
to a common header file for IEEE 802.11 definitions so that these can
be used by other 802.11 protocol processing modules. The crypto header
file already includes the common header file, so there is no effective
change in code visibility of the definitions for crypto code.
Change-Id: I439fe818a457cc7694fdb431f5d2c1a7552f2caa
CRs-Fixed: 3059572
Deliver the oldest management frames to upper layers if
the management rx reorder list grows beyond the maximum
configured size.
Change-Id: Id0199849e26804310dd502051b8e14f56f0df795
CRs-Fixed: 3051431
Add definitions for size in octets for the following subfields in the
Common Info field of Basic variant Multi-Link element: BSS Parameters
Change Count, Medium Synchronization Delay Information, EML
Capabilities, and MLD Capabilities. These definitions are as per
IEEE802.11be D1.0 (but also happen to apply as of IEEE802.11be D1.2).
Change-Id: I36725292f29da1f03caed6baa5d25c02a06c2c4f
CRs-Fixed: 3057853
For SAE SAP, after full SAE authentication, only pmkid
will be sent down to driver, PMK len is zero.
Driver should accept the set pmksa without PMK.
Add check pmk length checking and if pmk len is zero,
driver allow the set pmksa.
Change-Id: Ic05dee4cce31233dbe6dfced05df54fe8972dd1f
CRs-Fixed: 3042899
Populate and expose the following 320MHz spectral capabilities.
- Agile spectral scan support for 320MHz mode.
- Number of detectors used for spectral scan in 320MHz mode.
Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
Keep track of the global time stamp of the last
management frame delivered to the upper layer.
Drop all the frames older than the last delivered
frame.
CRs-Fixed: 3049671
Change-Id: Ibe0cc239f7af38da63ea8c405b3f89fc9473ea57
Validate the SSID & cache ID if SSID length is present in the
pmksa entry, as in FILS case only SSID and cache id are filled
and BSSID is not filled.
So validate the BSSID only if the SSID is not present.
Change-Id: Ia0a31f953869f00495fad597bb564ec706425312
CRs-Fixed: 3051530
Do not limit the max length of RSN/WPA IE as they can contain multiple AKM
and CIPHER. We need to consider all the variables to limit the max length.
Change-Id: I204f86d7c773d0c104ad1f58b3648d6c5577af94
CRs-Fixed: 3051247
Add 11be D1.0 Mac and Phy capability defines.
Corrected lengths if the capability fields.
Change-Id: I40e2d048946857498c425ca01c3010f255081833
CRs-Fixed: 3025958
1. Initialize the temporary variable to read snapshot to zero.
2. Read correct number of shared snapshot values.
CRs-Fixed: 3026029
Change-Id: I6f4fc9d1d2bfe4818304be16f7c80830b4fb260b
Expose the following APIs from MLO global shared memory handling
- APIs required by the REO logic
- APIs required to invoke the MLO global shared memory parsing
Change-Id: Ia2fb0b0fee5d3904bae8cd70ce3364360d5ea16e
CRs-Fixed: 3014343
Add or modify the following IEEE 802.11 related definitions for use in
protocol processing code:
- Add individual length definitions for the following initial fields
used in some 802.11 management frames: Timestamp, Beacon Interval,
Capability Information, Listen Interval, Status Code and AID. These
are added so that protocol processing code that needs to skip over
individual fields can refer to the relevant lengths.
- Modify the definitions of assoc request/response IE offsets to use
some of the above individual definitions.
- Add definition of position of element ID extension
- Add element ID for fragment element
- Add definition for size in octets of Link ID Info subfield in Basic
variant Multi-Link element Common Info field.
Change-Id: I272a5f99573b41d7431c8dd782d02bd141813def
CRs-Fixed: 3025500
As per the spec, the maximum IE length of supported rates are 8 and ext
supported rates are max_rates minus supported rates (=44-8).
In the field, some APs are non-compliance with the spec and includes
12 rates. Due to this, our STAs does not scan and connect to those APs.
To fix this issue, supported rates IE length is already set to 8. Hence,
set extended supported rates IE max len back to 12.
Change-Id: I0d8ce972b08aa28c08a7e797df4208dd36154983
CRs-Fixed: 3036878
Currently the driver checks for the supported rates IE,
and if the length of the IE is greater than 8, the driver
rejects the IE, according to spec.
But some APs supports 12 rates hence are not scanned.
Fix is to have a supported rates IE length check of 12 instead
of 8.
Change-Id: I3e32171e1b089ccc8754872fa5c37ba35b8b2cf7
CRs-Fixed: 3036878
Consider the management frames that are consumed/dropped in the FW and also
the frames that are received at the Host but dropped in lower layers.
The host has the MGMT Rx REO parameters about these frames via WMI events.
There could be frames waiting in the MGMT Rx REO list for the above-said
frames. If we update the waiting frames with the MGMT Rx REO parameters of
the above-said frames, the waiting frames could be released and sent for
processing. Add the logic for the same.
Change-Id: I6be4577d30c4aefe2e964aefbb56472749a90cb4
CRs-Fixed: 2987941
When a management Rx frame enters the MGMT TxRx component, route it to the
MGMT Rx REO module where the REO algorithm decides whether the frame needs
to be processed right away or need to wait for frames on other links.
Change-Id: Ib7ca911dfaeee131fd71d9a4345f5bc720326228
CRs-Fixed: 2987784
Fetch fw capability to support p2p+p2p concurrency and
store cap info in 29th bit of soc_fw_ext_caps.
Change-Id: Id8e4c0310f8db503a2997e8aed5a6f1ce813dcc7
CRs-Fixed: 3032068
These defines are used by Supported Rates or Extended Supported Rates
IE to set additional information beside rate.
Change-Id: I44eac41a9a07d368a6fe3abc76e341915b3249b9
CRs-Fixed: 3034939
Add support to send connectivity logs from g_wlan_logging thread.
Add new HOST_LOG_DRIVER_CONNECTIVITY_MSG event flag which wakes up
the gwlan_logging thread when set.
Also register connection manager callbacks to send the logging event.
Check if logging queue is empty whenever the gwlan_logging thread
is woken up and send the logs to userspace if the count doesn't
exceed the allowed threshold.
Change-Id: I3fdb8358f9048a277e2f03894c0e6a17376b0da0
CRs-Fixed: 3029279
MGMT Rx REO algorithm maintains a host snapshot which contains MGMT Rx
REO parameters of the latest frame received by the Host.
Add an API to update the same using the parameters sent by the FW.
CRs-Fixed: 3029489
Change-Id: I7ea574507de4e96407207bcb57319680ae78f7c9
This is part of the MGMT Rx re-order algorithm for MLO (FR 69196).
Consider an MLD formed by multiple discrete MLO-capable chipsets.
Management frames received on individual links will be forwarded or
consumed by the firmware running on that chip. Each link could have
a variable delay in FW->Host messaging. Host can receive these management
frames in an order different from that in which the frames were received
over the air. This problem could be there in single-chip MLD cases also
due to race between FW threads that are handling management frames.
This FR solves this problem by introducing an REO queue in the MGMT Rx path
which reorders the frames and delivers them to upper layers in the order
in which they were received over the air.
Each incoming frame carries an MGMT packet number which is local to that
link, and a timestamp that is global across all the links. MAC HW and FW
capture the same details of the last frame that they have seen. Host also
maintains the details of the last frame it has seen.
Using all this information, calculate the number of frames an incoming
frame should wait for on all other links before it gets delivered.
Change-Id: Icdf5b9b55b2a360bac2d9ea676671702eade3282
CRs-Fixed: 3028766
HW uses only 16-bits to represent MGMT packet counter and 32-bits to
represent global timestamp. Overflow is bound to happen with such sizes.
So, Host can't directly use regular comparison and subtract operators on
the REO data sent by the HW. Add support for operations that take
overflow into consideration.
CRs-Fixed: 3028771
Change-Id: I1c280409b023e0783bf05fe68351e071801f59bc
The 11r roaming is not happening when PMF disabled STA is trying to
roam from PMF disabled AP to PMF optinally configured(ieee80211w=1)
AP which is due to candidate_list is not found because of mgmt
ciphers mismatch (the PMF disabled mgmt cipher is None(1<<17) and PMF
optional AP's mgmt cipher is CMAC(1<<6)) happening while comparing
security params and is due to mgmt cipher value is reset to None(17)
after STA connected to AP.
So, Added changes to reset the mgmt cipher value to zero. Also, added
changes to reset the keymgmt to 0 instead of None since this is
missing in earlier implementation.
Change-Id: I9f24a215011b4984937e98225bcb3975bc3f685f
WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames.
Add target_if and tgt layer support for the same command.
Change-Id: I5daaf4d095774d751d98a27fd77dec9daaa6b16a
CRs-Fixed: 2960488
WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames. Add WMI layer support for the
same command.
Change-Id: If1498fd4fbccd86e7d54d9eac268868b36523d06
CRs-Fixed: 2960472
When MGMT Rx REO feature is enabled, FW will be sending MGMT Rx REO
parameters TLV as part of WMI_MGMT_RX_EVENTID for the frames that require
reordering. Add APIs to extract the same.
Change-Id: I57b132927cf413384d680b5778bfe6a2e2737adf
CRs-Fixed: 2960471
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add WMI layer functionality for this event handling.
Change-Id: Id95f41a717b88589e861781e1111b17dc90475be
CRs-Fixed: 2959118
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add rx_ops and TGT layer functions for this event handling.
Change-Id: I50a4b02063bc545d6976944cf331982dc3e853d0
CRs-Fixed: 2959082
This change adds MLO support to Peer.
It implements,
1) MLO peer list management
2) AID allocation
3) MLO Peer creation/deletion
4) Notifying partner links on peer creation/deletion/assoc
Change-Id: Ie1b675dccdf0de1d79f6f32d9255cf3cca53fdf2
CRs-Fixed: 2967057