Check the required security types allowed for 6GHz connection and
do not allow the connection if the secutiry check fails.
Change-Id: Ic680c4600b3f17151e42f8708ff8810e5d16e52e
CRs-Fixed: 2715086
Currently the band_capabability from mlme_cfg is a bitmap over
reg_wifi_band. Update the checks so that it is compared with
a bitmap, instead of with band_info.
Change-Id: Ibad0231f1f6e5c555e6e5be5a5662fd26c549037
CRs-fixed: 2738440
5ghz AP broadcasts beacon frame with no HT caps but
VHT and HE caps are present.STA should connect to AP
in HE mode, but STA connects in 11a mode.Fix is to
check if AP supports HE connect in 11ax mode.
Change-Id: Id9e4f620e395d4ca2617af190b677003d1f9e4cf
CRs-Fixed: 2724747
Operating frequency may not have been filled up yet, from connectiion
profile. Check for the same.
Change-Id: I5f3c28fb855920c6038ce0714e9e0b3c4c21e7ef
CRs-Fixed: 2731261
If 2 roaming disable commands are sent by wpa supplicant back to back,
2nd won't send RSO STOP to target since RSO STOPPED already, and
disable_lfr_event can't be completed any more since no RSO event from
target until 2s timeout, wpa_supplicant thread and nl80211 are blocked in
wlan_hdd_cfg80211_set_fast_roaming for 2s too.
Fix:
If roaming is stopped by wpa_supplicant already and to be disabled again,
return QDF_STATUS_E_ALREADY in sme_config_fast_roaming.
Change-Id: I7d15a4d4bd8e13ff410a7023f80b418eea435fcc
CRs-Fixed: 2733945
With same structure used in src and destination use memcopy
instead of individual assignment of the params in
csr_update_score_params
Change-Id: I18a459824e12ea6e599cf4363a0a569ba6b98045
CRs-Fixed: 2734503
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:
csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.
Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
While BSS are scored apply blacklist logic to remove
blacklist AP or move the avoid AP at the end.
Change-Id: Id5310ef53d31159104fd40af6670135bb1be4571
CRs-Fixed: 2725144
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON
Send value of above attribute to fw through command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID for trigger
reason WMI_ROAM_TRIGGER_REASON_BTM_WTC.
Change-Id: I17502eebab56652192164144b7ebdadb32033117
CRs-Fixed: 2729119
If ERP key lengths are greater than maximum valid lengths,
currently the connect request is allowed to go through.
Allow fils connection to go through only if erp keys are
not sent in connect. If erp information is present, validate
the rrk, realm, username length.
Add changes to lookup pmkid based on bssid also in addition to
the existing logic to lookup based on fils cache_id and ssid.
Change-Id: Iebde1f382b7db13553b848a459cb4a783744c2a6
CRs-Fixed: 2732050
Update calls from reg_get_curr_band to reg_get_band since
they provide the same functionality.
Update calls to reg_get_band to expect a bitmap since the API
has been updated.
Update getband driver command to convert the bitmap to the
old values. Also add the new vendor command getband.
Change-Id: I069489ebf4826f8f4bfcb974b74e4d0591d5b33f
CRs-fixed: 2726361
Introduce new INI sae_connect_retries to decide auth (initial connect
and roam auth) and connect retry for sae. MAX reties is capped to 2
and max for roam auth is 1.
Default is 0x49 i.e. 1 retry each.
Bits Retry Type
BIT[0:2] AUTH retries
BIT[3:5] Connection reties
BIT[6:8] ROAM AUTH retries
Change-Id: Idae86a7bdb32244c7f3a140b8591418b8238758a
CRs-Fixed: 2728458
Use global operating class to initiaize operating class array.
Country specific operating class table is used less and less now,
so use the global operating class by default.
Change-Id: Iaa6559d47cb1d8d30c8826dc3e7d5b63c743297b
CRs-Fixed: 2728601
Present source of self RSN capability to copy in RSO command i.e
csr_roam_session's rsn_cap is zero, A new capability OCVC (Operating
Channel Validation Capable) bit is in RSN capabilities. FW enables
OCV feature only if STA and AP both supports it.
Hence update self RSN capability to FW in RSO start/update command.
Change-Id: I1db500142560ec64a24ffab0c414c0c2b733e454
CRs-Fixed: 2721095
Add changes to handle transition to the 2 new states:
1. Roaming in progress: Switch to this state when roam
start notification is received from firmware.
2. Roam Synch in progress: Switch to this from RSO
STARTED state if roam synch indication event is received
from firmware. Change to this state is also allowed in
RSO STOPPED state if supplicant disabled roaming on that
vdev - to allow roam invoke to be processed.
Also query the state machine to get the roaming status instead
of using discrete flags at various layers. Clean the redundant
roaming in progress, roam synch related flags.
Change-Id: Ide20a30d9d8c20a96d8bba70367b51b8643cae09
CRs-Fixed: 2725443
Due to noisy environment, host misses auth and assoc frames which leads
to disconnection. In case of SAE host retires SAE auth if it doesn't get
SAE auth response from AP within 1 second.
To handle SAE assoc response timeout due to noisy environment, host adds
support to reconnect to last BSSID if previous association is timeout.
Change-Id: I71435882e53172e95c873a3216cf649fee9ecd26
CRs-Fixed: 2727340
WMI_VDEV_BCN_LATENCY_EVENTID is sent by firmware when it receives
the latency IE from connected AP in beacon.
Add handler for this event and when latency_level received is ultra
low in latency IE, update request pm qos type PM_QOS_CPU_DMA_LATENCY
to level DISABLE_KRAIT_IDLE_PS_VAL to speed up CPU efficiency and
irq response. This is needed for Voice and Music products where extreme
low latency is needed while playing music and high power consumption is
accepted.
Change-Id: I3c63ef247f4f4a1add68111ef1bcee6daafd148a
CRs-Fixed: 2723205
Initialize the config variable in sme_update_score_config
to prevent used of un-initialized variable in the same API.
Change-Id: I9a0ca814ffed986f318757a428043d0016d3a6b3
CRs-Fixed: 2726396
Remove filling of unused dot11_mode in scan filter as the
filter logic is not present.
Change-Id: I7a484298db44033e8514a26985c63157af939ae0
CRs-Fixed: 2727064
Rename the existing roam offload states to include
WLAN_ prefix. Add 2 new states:
WLAN_ROAMING_IN_PROG - Roaming has started at firmware, this is
after candidate selection at firmware.
WLAN_ROAM_SYNCH_IN_PROG - State after handoff is complete at
firmware.
Also move the roam_offload_state enum to connection manager.
Change-Id: Ib1f38d200393849253893113172cdfc69e381fb3
CRs-Fixed: 2725387
User configures roam scan frequencies using vendor roaming sub command
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET. If the roam scan frequency
list type is QCA_SPECIFIC_SCAN_FREQ_LIST in user command, update specific
roam scan channel list in host and FW.
Change-Id: Ie9d30999a7cdfdd6fa4d97c64b09d9739dd39633
CRs-Fixed: 2725832
For FILS pmksa caching, the STA can use the PMKSA cached as
part of the full 802.1x connection. When FILS PMKSA caching
is used, the supplicant might not send the ERP keys in the
connect request. So add support to allow connection when
ERP keys are not received in connect request but FILS
PMK is present in the cache.
If the PMK cache lookup is successful for the bssid,
use pmksa caching to associate, else fallback to full 802.1x
to associate to the BSS.
Change-Id: I9fa67ee5978b7199da1cb638f7f321baed6e5913
CRs-Fixed: 2710402
Send Vdev pcl command on both connected STA vdev when sta+sta
roaming is enabled. Handle below cases:
1. When 1st STA is connected send PDEV pcl command for the
first sta. Set pcl_vdev_cmd_active false.
2. When 2nd STA comes up, Set pcl_vdev_cmd_active to true,
send vdev PCL for 1st sta before enabling roaming(disabled
as part of the connect on 2nd STA).
3. For second STA force dbs connection when
enable_dual_sta_roam_offload ini is enabled. Set the channels
of the 1st connected STA band as invalid and remove these
channels from the scan filter.
4. On disconnection of 2nd STA connection, clear the vdev
PCL sent for 1st STA and then send PDEV pcl command.
Also make changes to send set PCL command after roam init
is done before RSO start is done at firmware to avoid assert.
Post set pcl command from sme/csr through lim/wma/wmi to avoid
the above condition.
Disable roaming on the vdev before sending set PCL command to
avoid roaming on undesirable band & channels.
Change-Id: I6bd869015b7248fe5c5c90b6e2fa0174995be197
CRs-Fixed: 2725360
A new capability OCVC (Operating Channel Validation Capable) bit in RSN
capabilities provides mutual verification between peers (e.g., AP and
STA) of the current operating channel during security-related exchanges
and channel switches to defend against multi-channel MITM attacks.
FW enables OCV feature only if AP and STA both support it, hence update
RSN intersect capability to FW.
Change-Id: Iedc67287ae6c56c1d609ae599fbb591cdfcb4aa8
CRs-Fixed: 2721176
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.
Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.
Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h
Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
Provide the support to upgrade the priority of
UDP packets based on user setting. The user will
set a particular QoS and for any UDP packets, which
has priority lesser than the current setting, the
QoS will be upgrade to the user set value.
The default value for this setting will be Best Effort.
Change-Id: I64207797e9c000d1d6fb757e22b02ee4f96a36f1
CRs-Fixed: 2724041
Some IOT APs set supported rates to zero in probe response. Host uses
probe response/beacon to update scan cache. Host uses supported rates
from scan cache to update in assoc request.
As the supported rates in probe response are zeros, host doesn't
add supported rate IE in assoc request which leads to association
failure. Hence add BSS basic rates in assoc request if supported
rates in scan cache is not present.
Change-Id: Ie2d75a980f5aede0b7985ddf385516a6b15c7560
CRs-Fixed: 2706797
Update opclass, randomizationInterval and DialogToken in
pilot frame as a response of beacon report request.
Change-Id: Ibf6a6b4d5dea1c87826d7755778c8f559a1a0fa3
Crs-Fixed: 2717259
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Change-Id: I8a5bfdafbdc4365afccc11980633272be9c75a81
CRs-Fixed: 2721873
As per requirement, the driver should able to process up to
MAX_MEASUREMENT_REQUEST (5) measurement request in a single
beacon report request.
Update driver logic to process up to 5 measurement request and
make sure the driver should not issue rrm scan for the duplicate
channel.
Change-Id: Iea3be8a0efef605852ac6b6b54dd06774ac0adac
CRs-Fixed: 2712112
This change corresponds to the callback updates in scheduler_msg.
Changes include:
1. Update hdd_data_stall_process_event and its caller
2. Update umac_stop logic to allocate buffer for callback
and update its caller
3. Register beacon reporting callback as a direct function
call without message posting.
Change-Id: Ic07a6102ea75d8bccb57a800e9670750e98356ce
CRs-fixed: 2718977
When roam invoke fails during handoff, firmware sends HO failure
indication to host. Here the roam_invoke_in_progress flag is not
cleared.
Clear the roam_invoke_in_progress flag when fastreassoc fails
due to handoff failure at firmware.
Change-Id: Ifc0ade939980138f64013299a9ea4e97468ce00f
CRs-Fixed: 2715281
Regression of Change-Id:
I1de3f71ca96de9f464d5d33b0271f99c55cff535
make LFR2 roam scan mode config
WMI_ROAM_SCAN_MODE_RSSI_CHANGE depend on roam_force_rssi_trigger
which is uninitialzed when LFR3 disabled, so roam scan mode 0
is sent to F/W wrongly in WMI_ROAM_SCAN_MODE when LFR2 enabled.
Fix: Initialize roam_force_rssi_trigger in roam offload scan
request with ini config for LFR2 too.
Change-Id: Ifd65119a87a6a348a952a4eec70a336015192d43
CRs-Fixed: 2704513
Initialize roam result and status in
csr_roam_process_results and
csr_roam_process_start_bss_success to
prevent use of uninitiazed variables.
Change-Id: I06b3026db4bc70b3631c9348101cc8ca691a8b26
CRs-Fixed: 2702076
Add connect id in the policy manager for the newly designed
connection manager infrastructure.
Change-Id: Ib7bd08e5326ead04da88175636777bf5dd4e255b
CRs-FIxed: 2705700
Update the HDD callback to check for phymode change or
channel change when country code updates and stop/restart
the adapter accordingly. Include cases for STA mode,
SAP mode, P2P-CLI mode, and P2P-GO mode.
Add conditional compilation flag for MCC specific API in
qcacmn.
Change-Id: I88edb401146e3cef48d757393f89fa48cb6ac895
CRs-fixed: 2658294
Convert CSR phymode to regulatory phymode and back. Regulatory
phymode enum contains fewer fields than eCsrPhyMode enum so a
conversion API is needed.
Change-Id: I4b962c07a917d19fa4ae51c78befae507dabf80f
CRs-fixed: 2658294
The hostapd sends the EDCA configuration for tx queue set in the
hostapd.conf config file using nl80211 interface.
Add support to extract the configuratin in the cfg80211 callback
function wlan_hdd_set_txq_params and invoke SME api to send the
parameters to MAC layer.
CRs-Fixed: 2693865
Change-Id: I8acfc03d9a6ad17a1df0c03955cf3b4150a4fbef
Add support for OEM_DATA_RESPONSE_EXPECTED. Driver waits for the
response from FW when this attribute is set and forward the blob of
data to supplicant.
Change-Id: I3e51809e4f5736b521c26e37afb02396f9c5ed23
CRs-Fixed: 2694556
Currently, Rx retry count statistic is not supported by firmware.
So host driver also not updating the corresponding statistic in
peer stats. Datapth is updating this counter using retry bit in the
rx MPDU. Update peer Rx retry count value from data path.
Change-Id: I4fd422faa7a766090991c461cd6fd2cc70d2fcc3
CRs-Fixed: 2691704
Introduce an INI "oce_subnet_id_weightage" to indicate firmware
about oce subnet id weightage so that firmware can use subnet id
weightage to calculate candidate AP's score.
Change-Id: Iaf3be1947f8966a2e2c34162d251a31950058231
CRs-Fixed: 2674596
Supplicant disables fast roaming (by making isFastRoamEnabled = 0)
before sending ROAM_INVOKE_CMD to host. This results roaming state
of host changes to ROAM_RSO_STOPPED before start processing
ROAM_INVOKE_CMD command.
Due to commit : Id0ea18a33dfef3d4e9a4003da33fc7172cf58e85, Host
unable to process roam sync indication event if supplicant disable
fast roaming before sending ROAM INVOKE command. This leads to
roaming failure.
Fix is to allow driver to process roam sync indication even in
RSO stopped state, if roaming triggered by userspace.
Change-Id: Ia5f5c7b078d457280bce8c24110f01a3be26c3d6
CRs-Fixed: 2670060
If the STA-KICKOUT event comes too frequently for
a certain AP, then the AP might have some genuine
issue and should not be tried again and again in
intial connection and roaming case scenarios.
So it is better to avoid this AP and if the AP
still faces a kickout then after 3 attempts which
is ini configurable the driver would blacklist
it to avoid ping pong.
Change-Id: I8221cca9adc777ca275fdd76c2f8ba17cd12c14f
CRs-Fixed: 2683615