The add_bss_req struct is used while handling add bss resp,
and is stored in vdev priv mlme.
The resp path require the info which can be filled from vdev resp
and thus no need to store the add_bss_req. From response fill and
use the add_bss_resp in add bss response handling path
Change-Id: I7ec1189c7d399e181f451a442a2578964eb4e47d
CRs-Fixed: 2529289
Add mlme APIs and structures to set and get roam
state, supplicant roam disabled flag and rso control
bitmap.
Change-Id: Ic97da49035462afffd9c86c1d9f9af08515e6747
CRs-Fixed: 2520824
To ensure the total weigtage of various factors doesn't exceed
100, there is a check in mlme_init_scoring_cfg(). If the total
weightage for roam score exceeds 100, the default values are
pushed for the weight configs.
In this computation, the enable/disable value is also added,
which results in configuration only upto 99%. Fix this weight
configuration and remove the enable flag value addition to the
total weight.
Change-Id: I15cf70428b2e8afa2203299dae98c287e5e2222d
CRs-Fixed: 2527361
Modify roaming enhancements specific ini default value to work
adaptive 11r and roaming enhancements feature.
Change-Id: I58efd5d8cc50ca1a2b9252c9aad8484cda58ae25
CRs-Fixed: 2521810
Cache the PMF capability of peer in peer_mlme_priv_obj while
adding bss for both station and AP modes. Process the mgmt frames
received from the peer as rmf frames only if the peer is of PMF
capable.
Move mlme_peer_object creation and deletion out of the define
CRYPTO_SET_KEY_CONVERGED to make it generic.
Remove the check where WEP bit is validated and modified based on
PMF capability of the peer. This is already taken care while
setting WEP bit in lim.
Change-Id: I0c93bb25db6a866e4c1793c9ba4c60773c0f019d
CRs-Fixed: 2520249
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.
Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.
Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
Add support to advertise the VHT MCS 10&11 support using vendor
specific IE to enable the MCS 10 and 11 support in VHT mode.
Change-Id: I2d197dcce20ab4aec617ca8a7f4a54b438fae635
CRs-Fixed: 2465662
Scan period is configured through the DRIVER command
SETROAMSCANPERIOD currently. Add provision to set the same through
the roam subcmd and the attr QCA_ATTR_ROAM_CONTROL_SCAN_PERIOD
Change-Id: I3dd56f56ac8bc4ba48a88f8df292e9d4d5545fed
CRs-Fixed: 2509656
Userspace can update the full scan period through the roam subcmd
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET and the attribute
QCA_ATTR_ROAM_CONTROL_FULL_SCAN_PERIOD. Send the same to firmware
as part of roam scan offload command
Change-Id: I7c1046763d693faa3340b655848d3306ef92e06c
CRs-Fixed: 2508775
Refactor vdev stop and down code to target_if common code.
Remove legacy code for vdev stop and down.
Change-Id: I4ab0743d39a3b37816ab9f18e8850cadf1335c15
CRs-Fixed: 2506649
Full roam scan period is the minimum idle period in seconds between
two successive full channel roam scans. Firmware expects this param
as part of roam scan offload request. Add an ini param to set
it to a default value and use it while sending roam scan offload
request.
Change-Id: Id66b583b2c487f06e62298641dc28853af3ab11c
CRs-Fixed: 2507448
Update the mac, phy, mcs, nss caps of bands
2.4ghz, and 5ghz for HE capabilities in the
wiphy structure to inform userspace about
the driver capability.
Change-Id: I9fb1233e5396bf3ea411c057af9cbcd5b358271c
CRs-Fixed: 2486266
Currently the host driver blocks roam scan offload command to
the target if the connected akm is OWE or SAE.
Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and
WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised
by the target and set it to the mlme fw_akm_bitmap. Read this
bitmap in csr_roam_offload_scan() to allow RSO command.
Also the connected akm is sent to the target via the
WMI_AP_PROFILE command. Translate the CSR akm type for OWE and
SAE akm also.
Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936
CRs-Fixed: 2491021
Increase the max number of MSDU in AMSDU limit to 15 and set the
default value to 0 to config the FW in auto mode selection in which
FW picks the maximum number of MSDUs in AMSDU based on connection mode.
Change-Id: I6c1f1292a31fc9ea857e60e7a81d10b6def5cbc1
CRs-Fixed: 2502544
In case bss peer add failure vdev state machine is in
substate WLAN_VDEV_SS_START_START_PROGRESS and thus
WLAN_VDEV_SM_EV_CONNECTION_FAIL will not be handled and thus vdev
SM will not move to init state and pe session is not deleted.
This lead to vdev ref leak for the ref taken by pe create session.
Fix this by sending WLAN_VDEV_SM_EV_START_REQ_FAIL event when
vdev SM is in WLAN_VDEV_SS_START_START_PROGRESS state and continue
cleanup.
Change-Id: I4c559333a6bd018e3382f9781883acf314434cf2
CRs-Fixed: 2502817
wpa_supplicant/framework sends different vendor specific IEs in
connect request. Currently driver is parsing the IEs and appending
specific IEs to the assoc request frame. But all vendor specific
IEs are supposed to be sent in the assoc request. Extract all vendor
specific IEs and append at the end of the frame.
MBO IEs are expected to be present at the end of the frame.
So append rest of the vendor IEs just before MBO IE.
Change-Id: I3d49c72a31d142ef3b14b439af2ae4cd8be059ea
CRs-Fixed: 2498976
Define ext_vdev_ptr and ext_pdev_ptr with specific type, remove void
pointer usage for part of mlme code.
Change-Id: Ie71d59386224e4671bdae071aa7425a998d5e242
CRs-Fixed: 2488192
Currently, Driver has below configuration:
1. The default value of Neighbor scan channel max time = 30 msec
2. Probe deferral time = 15 msec and
3. The gap between each Probe Request (Probe repeat time) = 20 msec
As per above roam scan params, after 15 msec of deferral time STA
sends the first probe irrespective of OCE or non-OCE environment.
So after the first probe, STA never sends the second probe because
15 msec + 20 msec = 35 msec which is beyond dwell time( 30 msec).
Because of lower dwell time, many a time STA is not getting enough
time to send the second probe request during a roam scan on the currently
associated channel. In case when STA sends only one probe req,
there is a lesser chance to receive Probe Response in a semi congested
or congested environment. This results in not finding a candidate
during a roaming scan.
STA should have enough time to send 2 Probe Requests under any condition
( clean or noisy) irrespective of the OCE/non-OCE environment.
Fix is to increase the default value of dwell time
"gNeighborScanChannelMaxTime" to 40 msec for STA.
Change-Id: I1bd52f5efe448ccb4ed4585e98aaf519379dd661
CRs-Fixed: 2467703
AP may send IEs in deauth/disassoc frames as part of disconnection.
Extract the same and forward to kernel through
cfg80211_disconnected().
Change-Id: I4ef339dcd1ecff64d6bed1de35621ecce5d8030a
CRs-Fixed: 2481912
disconnect_ies sent from userspace are cached in vdev mgr object.
Send the same in deauth/disassoc frames initiated from the driver.
Free the IEs once the frame is sent out successfully.
Change-Id: Ib223a9da7f5795bc10d717efe23c6106391070bb
CRs-Fixed: 2481909
Application sends disconnect IEs to driver through vendor command
SET_WIFI_CONFIGURATION by embeding in the attribute
QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES. Extract the same and validate
to make sure it's not more than maximum IE length that can be
accomodated in deauth/disassoc frame. Cache the extracted IEs
in mlme vdev object.
Change-Id: I6c95aa1d4d8ef7d8ed3ad5be8832ef1f45c26a2f
CRs-Fixed: 2481908
Currently there is no ini support to configure frequencies
which needs to be avoided for the acs channel list which
may allow SAP to come up on a channel which is not preferred.
For Example there are many legacy clients which supports
2.4GHz but don't support channel 12 and 13 (or does not have
the capability to detect country change where channel 12 and
13 is valid).
In that case, if SAP comes up on channel 12/13, those legacy
clients won't be able to connect to AP.
Hence, Add a feature flag and ini to configure the frequency
list which can be avoided during acs.
Change-Id: Id106b38228f837ba056eb916004dc012e919ddd2
CRs-Fixed: 2472004
Do not configure legacy rate to FW if it is HE connection, otherwise
FW does not work.
Change-Id: I31d167ee79b7b58cabad29e65cf6834a7151093d
CRs-Fixed: 2472811
Add ini support for FIPS 4-way hanshake offload to firmware. FIPS
offload feature will add support to handle LFR 3.0 connection only
(auth/reassoc). If this ini is set then firmware will offload
4-way HS to supplicant. In the Roam sync indication firmware will
inform connected and not authenticated so that supplicant can take
care of 4-way HS.
Change-Id: I3da58910218ffc57094cac4c3cab4572631d9404
CRs-Fixed: 2459182
Firmware expects btm_offload_config value as 0x1c1 by default
so that BTM query is enabled. To enable BIT 7, "prefer_btm_query"
ini is used and its default value is 1. To enable BIT 8 in
btm_offload_config, "prefer_roam_score_for_candidate_selection"
ini is used and its default value is 1. Enable the BIT 6 also
by default.
Change the default value of btm_offload_config to set bit 6 by
default.
Change-Id: Ic0b222c281d1731aaf21aaff6a72ebf1f1f930de
CRs-Fixed: 2466687
Set the max_station config correctly at wma_open instead of using
the default value.
Change-Id: I63cd05462351359fbdcaae03dbdff940817b9bde
CRs-Fixed: 2468829
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: I0bd9248122b4f49274ee05a225ce6f880fede0cb
CRs-Fixed: 2468414
In function mlme_init_vht_cap_cfg(), initialization of
CFG_VHT_SU_BEAMFORMEE_CAP is done using the cfg_default() api,
which always returns the default value irrespective of the
ini configured.
Use cfg_get() api to get the default value of ini items.
cfg_get() api use gTxBFEnable ini for SU beamforce caps
Change-Id: I17062548931b5032dfdd56652ddaef2b96c8864e
CRs-Fixed: 2462350
CFG_VALID_CHANNEL_LIST_STRING_LEN as array size passed to
qdf_uint8_array_parse, which is more big than array size. So pass the
actual size - CFG_VALID_CHANNEL_LIST_LEN to that function.
Change-Id: I7596c0887147523570450dbac4dba2d03e7fe8b6
CRs-Fixed: 2462613
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.
Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
When BTM config is disabled in the supplicant, the BSS
transition bit (19) of the extended capabilities will be
disabled. If BTM offload is enabled, currently driver still
advertises that the BSS transition bit(19) as disabled. This
results in AP disabling 11v for this STA.
Advertise the BSS transition bit (19) as enabled in the extended
capabilities if btm_offload ini bit 1 is enabled.
Change-Id: I7c1977294a2e166321951ee0ec31f18929c42176
CRs-Fixed: 2455919
Function mlme_get_dynamic_oce_flags can return the NULL value.
Avoid and check for NULL pointer in the callers.
Change-Id: Idc83a9e5dea812a73fed24de3aa2c2c49436f7d1
CRs-Fixed: 2462716
In order to ensure that HT40 is enabled by default on 2.4 GHz
remove gChannelBondingMode24GHz entry from INI file and set
the default value of gChannelBondingMode24GHz to 1.
Change-Id: I8b7657e3eef5f4ec19863c8da6a611a63ccecd9c
CRs-Fixed: 2461593
In function mlme_init_btm_cfg(), initializing the
btm_solicited_timeout, btm_max_attempt_cnt and btm_sticky_time
is done using the cfg_default() api, which always returns the
default value irrespective of the ini configured. This results
in failure of ini configuration from the WCNSS_qcom_cfg.ini file.
Use cfg_get() api to get the default value of ini items.
Change-Id: I773676cc67878f233cb6d14e0ad3ec1d79a5518f
CRs-Fixed: 2461612
A VHT beamformee shall indicate the maximum number of space-time
streams it can receive in a VHT NDP in the Beamformee STS
Capability subfield of the VHT Capabilities Information field of
the VHT Capabilities element. The SAP is advertising STS value
as 8 in both 2G and 5G band. This may cause IOT issues.
Fix the default value of beamformee STS capability value as
default value 3 for SAP.
Change-Id: I026eabeea941a33f1ffab6e498e6de90e182320e
CRs-Fixed: 2448390
Currently LFR band specific ini attributes 5g_rssi_boost_threshold
and 5g_rssi_penalize_threshold programmed with wrong type and range.
This can lead to ignore user-input and always use default value.
To fix this, correct min and max ini values for 5Ghz network RSSI
boost/penalty preference.
Change-Id: If89c09fb1343a68dfaa7241b5ec14b046d1bb758
CRs-Fixed: 2452128
VDEV UP command doesn't include right MBSSID information, it will
cause data stall issue and so on.
Fix is to provide right MBSSID information with VDEV UP command.
Change-Id: I0201722c14dee1b01b8dacc7e3095301fb02fd3a
CRs-Fixed: 2434405
Correct INI description for "gTDLSRSSIDelta", and configuration type
for below items:
- CFG_VALID_CHANNEL_LIST
- CFG_COUNTRY_CODE
Change-Id: If7ae2845c06b39ba9ce5af96c21bbe3900edbdf4
CRs-Fixed: 2448134
CSA on DFS channels requires CAC period after RESTART response, peers
can leave during CAC period due to HB failure. But peers remain
connected in SAP and are not deleted.
Now if vdev down is called during CAC wait period, the peer delete
all is not called, and vdev delete is sent without sending peer
delete to firmare leading to assert.
This change adds the logic to internally disconnect all peers before
channel switch if CAC is required on new channel, i.e new channel is
DFS and pre-CAC is not done and ignore cac is not set.
Change-Id: I923fd11d1b9d4a2c606b19ff94baaf44397d3e20
CRs-Fixed: 2449104
MLME log macros like mlme_debug, mlme_err, mlme_info are having same
definition in legacy and common code. To avoid this redefination,
lagacy MLME log macros are renamed.
Change-Id: I71fbbcd1f74df73e82b799b318a9e9a95a3cb0c8
CRs-Fixed: 2446535
Update the HE partial BW UL MU MIMO capability in CFG with the
FW capability shared for supported features.
Change-Id: Ia2c934ce2277076f86fc679b55d4d386ae27795c
CRs-Fixed: 2446810