Commit Graph

264 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
ecec2d5b28 qcacld-3.0: Don't send RSO update after receiving set pmksa command
When set_pmksa command is received from userspace, the internal
pmk table is updated with the new bssid entry and the pmk is saved
to the session. Additionally this update triggers an RSO update
command to the firmware which causes the use of stale pmk for
single pmkid case, in which the BSS capability of SAE single pmk
will be known only after parsing the beacon/probe received in the
roam synch indication.

So donot send RSO update on receiving set pmksa command.

Change-Id: I25419fbc3061ab963ccf3228b3681c83773a7963
CRs-Fixed: 2659055
2020-04-19 07:00:28 -07:00
gaurank kathpalia
18aa9fa4a4 qcacld-3.0: Force SAP on default channel
Currently the driver fails the ACS process
if no channel is found suitable for SAP by
ACS and thus hotspot cannot be enabled.

Fix is to force SAP to come up on some
default channel, this behaviour would
be controlled via an ini to that customers
can choose whether to opt for this behaviour
or not.

Change-Id: I8a63cf0c5d42802e33f4ad67a33d148a4da54d2a
CRs-Fixed: 2658297
2020-04-09 21:08:52 -07:00
gaurank kathpalia
954abc7aa9 qcacld-3.0: Add ini to enable/disable self roaming
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.

Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.

Change-Id: Ibd04fcd7384c0987db5bb6dae1a26ee077456290
CRs-Fixed: 2634860
2020-04-06 05:54:51 -07:00
Jianmin Zhu
a0cd009e7d qcacld-3.0: Increase channel congestion slots num to 8
Channel congestion score is not well bucketized, as we only have 0-25,
26-50, 51-75, 76-100, so small change will not give different score.
while channel congestion weight is high: 25.

Increase channel congestion slots num from 4 to 8 as following.
0-12%	13-25%	26-38%	39-50%	51-63%	64-75%	76-88%	87-100%
100%	90%	80%	70%	50%	25%	10%	5%
2500	2250	2000	1750	1250	625	250	125

Change-Id: I4fc2d8a5f0f64c5fce9fe5ec8f16c3e8e9665a60
CRs-Fixed: 2655110
2020-04-05 12:39:50 -07:00
Vulupala Shashank Reddy
d6e11c6f0f qcacld-3.0: Fix minimum candidate roam score delta value
Change candidate minimum roam score delta value "min_roam_score_delta"
to zero.

Change-Id: Icfb98db30c2333ade40127a7df94e9a0973e4f67
CRs-Fixed: 2655873
2020-04-03 14:19:42 -07:00
gaurank kathpalia
ec1bd31ce7 qcacld-3.0: BIGTK feature support
BIGTK feature support

Change-Id: Ide9b0db436e43152a4180a460f21a7340b443756
CRs-Fixed: 2648269
2020-03-30 13:38:54 -07:00
Gururaj Pandurangi
71a63998bf qcacld-3.0: Cleanup instances of CFG_MAX_TX_POWER
Remove max_tx_power from wlan_mlme_power struct
and ini_tx_power from lim_max_tx_pwr_attr struct
and all their instances.

Change-Id: I982a15b71b64d368b623128e04f09a8f3bf4f5ec
CRs-Fixed: 2645922
2020-03-27 21:09:00 -07:00
Pragaspathi Thilagaraj
4281eb0f89 qcacld-3.0: Increase roam failure reason buffer size
Increase the roam failure reason string buffer size to
60 from 50.
Also add reason string for roam failure reason.

Change-Id: I42f4332463e4063aa0dee39631ca31965db12b62
CRs-Fixed: 2647260
2020-03-26 18:26:02 -07:00
sheenam monga
7475e4b3d7 qcacld-3.0: Add ini support to send ap tx power scoring
Introduce an INI "ap_tx_pwr_scoring" to indicate firmware about ap tx
power weightage so that firmware can use ap tx power weightage to
calculate candidate AP's score.

Change-Id: I8831c571162f044f4ae204ef0edfc59942f36837
CRs-Fixed: 2647115
2020-03-26 07:11:59 -07:00
Qun Zhang
b4e2c33bab qcacld-3.0: Replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.

Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
2020-03-25 07:08:36 -07:00
Sourav Mohapatra
698d9392c3 qcacld-3.0: Add Q-Q feature 4K QAM (MCS12/MCS13) support
Add host driver support for MCS 12/13, a Q-Q PHY feature.
The following changes are being introduced as a part of this
 - Advertisement of the MCS 12/13 using the QCN IE
 - Interaction between the Host and the FW regarding the target and
   peer capabilities for the new features introduced.
 - The new data structures and variables to populate and use the feature
   capability
 - Routines to add and parse the IE.

Change-Id: I2b91a271d30b1230ef7bb14ee08d0b9da2706db4
CRs-Fixed: 2610277
2020-03-24 10:23:48 -07:00
Abhishek Ambure
2a5240c50c qcacld-3.0: Change INI "sta_disble_roam" type to UINT
As each bit of INI "sta_disable_roam" represents an interface on which
if the connection is present, disable station roaming.

Hence to use all the bits of "sta_disable_roam" INI, change type to
UINT.

Change-Id: Ife4bb31acf89ddbe744bdad376a8a6f5a733b92c
CRs-Fixed: 2647036
2020-03-23 19:56:32 -07:00
Abhinav Kumar
504fb78c41 qcacld-3.0: Clear sae_single_pmk info while processing del pmk
In wlan_mlme_clear_sae_single_pmk_info, driver clears sae_single_pmk
locally while processing del/flush pmk command from supplicant.

Driver should clear entry for sae_single_pmk mlme priv objects.

Fix is to clear entry for sae_single_pmk in mlme priv objects.

Change-Id: Iee71a1a86e293a1028e9b4003d5a48c72d19a8f4
CRs-Fixed: 2636662
2020-03-23 16:06:34 -07:00
Sourav Mohapatra
e3dcef31ef qcacld-3.0: Modify the max value of MWS coex ini params
The max ini params for mws_coex_pcc_channel_avoid_delay and
mws_coex_scc_channel_avoid_delay are set to be at 0xFF. This max value
doesnot correspond with the actual max value needed by the firmware.

Change the max value to include upto 0xFFFFFFFF

Change-Id: If88d7866c584abf43a41b0c6b9f63b21a0a4a2f2
CRs-Fixed: 2632517
2020-03-19 17:39:24 -07:00
Pragaspathi Thilagaraj
5feee1adc0 qcacld-3.0: Add new roam failure reason string
Add string conversion for the below new roam failure reasons
introduced:
WMI_ROAM_FAIL_REASON_NO_SCAN_FOR_FINAL_BMISS
WMI_ROAM_FAIL_REASON_DISCONNECT
WMI_ROAM_FAIL_REASON_SYNC
WMI_ROAM_FAIL_REASON_SAE_INVALID_PMKID
WMI_ROAM_FAIL_REASON_SAE_PREAUTH_TIMEOUT
WMI_ROAM_FAIL_REASON_SAE_PREAUTH_FAIL
WMI_ROAM_FAIL_REASON_UNABLE_TO_START_ROAM_HO

Change-Id: Ia598723a25bcf9e223828f50b714968698ffd917
CRs-Fixed: 2638593
2020-03-14 05:16:53 -07:00
Abhishek Ambure
48b790c62d qcacld-3.0: Add INI support to disable STA roaming
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
    LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)

As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.

Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
2020-03-13 19:22:14 -07:00
Ashish Kumar Dhanotiya
489e2ae31e qcacld-3.0: Update correct MCS parameters in wiphy
Currently MCS parameters are not getting correctly in
wiphy which results in incorrect capabilities for iw list
command output.

To resolve above issue, update MCS parameters correctly in
wiphy band capabilities.

CRs-Fixed: 2633314
Change-Id: I830ad50aa4842bd2a79c97ed7b11b82c35148ff0
2020-03-13 15:31:29 -07:00
Pragaspathi Thilagaraj
7cefe2fdc3 qcacld-3.0: Increase roam failure reason buffer size
Currently the roam failure reason string size is 40 bytes.
Change this to 50 bytes to avoid truncation in some failure
cases.

Change-Id: I6c90e31fc792078354e98c7a5c61ffd5583469c3
CRs-Fixed: 2637901
2020-03-11 19:08:35 -07:00
Srikanth Marepalli
f8d599b48d qcacld-3.0: Add INI support for DFS Channel Ageout Time
Add ini support for DFS Channel Ageout Time, the time upto which
DFS channel information such as beacon found is remembered.
This ini is used to set the ageout timer value from host to FW.
If not set, FW will disable ageout time.
This value is sent as a WMI_PDEV_PARAM_SET_DFS_CHAN_AGEOUT_TIME
as part of WMI_PDEV_SET_PARAM_CMDID.

Change-Id: I99553fa87a4025f03c52b4b387a414ba06c2c457
CRs-Fixed: 2625996
2020-03-06 02:41:16 -08:00
Paul Zhang
7fb245481a qcacld-3.0: revise comment for ignore_fw_reg_offload_ind
ignore_fw_reg_offload_ind is used to ignore regdb offload
indication from FW and regulatory is treated as non offload.

Change-Id: Ic9a47fe3ec49cf1fa9cbf7ab166decdc4ece0511
CRs-Fixed: 2630994
2020-03-02 20:26:45 -08:00
Pragaspathi Thilagaraj
63eb6363dc qcacld-3.0: Introduce ini for roam_triggers including sta kickout trigger
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.

The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.

Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
2020-03-02 19:12:34 +05:30
sheenam monga
cc1b25f607 qcacld-3.0: Introduce a new ini to enable/diasble roam reason vsie
Introduce an INI "enable_roam_reason_vsie" to inidicate fw to
include/exculde roam reason vsie in reassoc frame

Change-Id: I4d2a44812d8b11a19b0d7d31eb31c826aaeda79d
CRs-Fixed: 2627472
2020-02-29 05:21:03 -08:00
sheenam monga
56b4d46146 qcacld-3.0: Include/Exclude roam reason dynamically in reassoc frame
Currently, if roaming happens roam reason is not sent to AP. AP will
not able to know why roaming happened. As roaming is offloaded to
firmware, firmware will include roam reason vsie based on driver
indication by vdev param
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE based on
below conditions:

Parse the QCA attribute CONFIG_ROAM_REASON to control
inclusion/exculsion of roam reason vsie dynamically. Vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control roam
reason vsie inclusion using QCA atrribute CONFIG_ROAM_REASON.
Different operations required to implement this feature can be
specified in QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON, so driver parses
CONFIG_ROAM_REASON, updates enable_roam_reason_vsie and indicates to
firmware by updating vdev param.

a.) If Userspace wants the firmware to include roam reason in reassoc
    frame, it can send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with
    value 1 and driver will update enable_roam_reason_vsie  to 1.
    Driver will update vdev parameter
    WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, so that firmware
    can include roam reason vsie in reassoc frame during roaming.
b.) If this command is not issued, the default behavior of the
    firmware is not to include err reason code in beacon report
    response. Driver will send default value of
    enable_roam_reason_vsie to firmware which is 0.
c.) The userspace requests the firmware to stop roam reason vsie
    reporting when roam reason is not required for AP anymore. If
    userspace doesn't want the roam reason  inclusion, userspace can
    send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with value 0 and
    driver will update enable_roam_reason_vsie and notify firmware to
    exclude roam reason.
If userspace requests the driver to get the status of
enable_roam_reason_vsie , to check whether firmware includes roam
reason vsie or not, driver will fill CONFIG_ROAM_REASON attribute and
will update to userspace.

Change-Id: I063c822e99fd6908bd4188b429ffa6a2031cee5d
CRs-Fixed: 2624713
2020-02-29 05:20:40 -08:00
Abhinav Kumar
267ed0068e qcacld-3.0: Clear same pmk info while processing del/flush pmk
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
2020-02-26 06:41:25 -08:00
Abhinav Kumar
8747fd098c qcacld-3.0: Update sae_single_pmk info in RSO start command
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should Set new flag in 11i
params during RSO start/update when initial connection is
completed based on the VSIE in AP beacon/probe response
frame. This flag will allow fw to roam to AP(s) which has
VSIE with single PMK.

Update PMK info in RSO start command with
sae_single_pmk info if initial connection is completed
with AP contains VSIE.

Change-Id: I839b48da48f92f24444e69405d87560186d7f986
CRs-Fixed: 2616029
2020-02-26 06:40:55 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category 	Data
Type 		0xDD
Length 		0x05
OUI 		0x00 40 96
Type 		0x03
Data 		Don’t care
		(EX, 0x05)

Maintain a separate pmk information structure to support sae
roaming using single pmk.

Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
2020-02-26 06:40:44 -08:00
Srinivas Dasari
fc3aea42ea qcacld-3.0: Send assoc request IEs in STA_INFO in SAP mode
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.

Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
2020-02-24 04:32:26 -08:00
Abhinav Kumar
406cfe0ee4 qcacld-3.0: Introduce a new compile time flag and INI
Introduce a compile time flag SAE_SINGLE_PMK and new INI
"sae_same_pmk_feature_enabled" to enable/disable SAE
Roaming with same PMK/PMKID feature.

Change-Id: Ifca8ec8bcf6e9a2f1d8409b35390bfee0033bd30
CRs-Fixed: 2616025
2020-02-23 14:43:08 -08:00
Abhishek Ambure
83c11be72e qcacld-3.0: Add support to configure candidate min roam score delta
During CU and low rssi based roam triggers, consider AP as roam candidate
only if its roam score is better than connected AP score by at least
min_roam_score_delta.

User configures this candidate minimum roam score delta value using
"min_roam_score_delta" INI. User can set candidate minimum score delta
value between 0 to 10000 and default value is 1850.

Firmware will trigger roaming only if roam score of candidate AP is
greater than "min_roam_score_delta" & "roam_score_delta" values of
connected AP.

Change-Id: I180e769b5629aa405dbd89ed73e39e228adf92db
CRS-Fixed: 2614117
2020-02-15 20:28:04 -08:00
Srinivas Dasari
644dbc18c1 qcacld-3.0: Add reason codes for internal disconnections
Currently, host driver sends disconnect reason code as UNSPECIFIED
to kernel in most of the disconnection scenarios. Correct the same
to send proper reason code received from peer in case of peer
initiated disconnections.
Introduce new reason codes for internal disconnections and assign
proper reason code for each possible disconnect scenario.

Change-Id: I99bf4573b59dc810e0a1529fcd48061d10acae4e
CRs-Fixed: 2622310
2020-02-15 08:45:08 -08:00
Sourav Mohapatra
eb7227cc06 qcacld-3.0: Add param to configure channel avoidance indication from FW
Currently, when WWAN channel changes, the list of WLAN channels that
needs to be avoided is given to WLAN FW. WLAN FW indicates the list
to host. Upon receiving Channel avoidance indication, host switches
the operating-channel of SAP (if any and conflicting).

When there is a frequent channel change from WWAN side, it causes
frequent SAP disconnection. To mitigate this problem, as part of
this change send the configuration to the WLAN FW which delays
the channel avoidance indication before sending it to host.

Change-Id: If67775d59b9f61d3592a5f6609d3b002899e5daf
CRs-Fixed: 2615917
2020-02-14 09:01:44 -08:00
Abhishek Ambure
b3f5f95275 qcacld-3.0: Change default value of idle_roam_rssi_delta to 3
idle_roam_rssi_delta - This threshold is the criteria to decide whether
DUT is idle or moving. If rssi delta is more than configured thresold
then its considered as not idle. RSSI delta is entered in dBm. Idle
roaming can be triggered if the connected AP rssi change exceeds or
falls below the rssi delta and if other criteria of ini
"enable_idle_roam" is met.

To enhance idle roaming, idle_roam_rssi_delta default value is changed
to 3.

Change-Id: I9a5b06081d59d8502c40df0485c2b997cbcb2b80
CRs-Fixed: 2619436
2020-02-11 11:04:41 -08:00
Bapiraju Alla
dfd1ba0a7e qcacld-3.0: Change STA default keep alive time from 60 to 30
AP has less keep alive timer than STA, so AP is kicking out the STA and
sending the deauth.

To resolve this change CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT value from
60 to 30.

Change-Id: I0522071bc634b029178de6e09c11d237351a334d
CRs-Fixed: 2616279
2020-02-11 04:14:21 -08:00
Alok Kumar
a73938f684 qcacld-3.0: Disable peer_unmap_conf_support for FTM mode
In FTM mode, no peer is created in the host. Currently, since
peer_unmap_conf_support feature is enabled, FW is expecting
WMA_SEND_PEER_UNMAP_CONF from host to remove the peer Id from AST.
But host never send this WMI CMD in FTM mode.

Disable peer_unmap_conf_support in FTM mode which allow FW to
delete the peer Id without any WMI CMD expectation from host.

Change-Id: Idf9082adc81187346563f3aedf1f1657164f03cc
CRs-Fixed: 2608929
2020-01-30 17:59:38 -08:00
Abhishek Ambure
2372a9054d qcacld-3.0: Set max limit of RoamRssiDiff INI to 100
STA considers RSSI delta configured by the user along with other
parameters for roaming.

RoamRssiDiff is the number of units (typically measured in dB) AP2 is
better than AP1. STA roams from connected AP1 to AP2 if the RSSI value
of AP2 is greater than AP1 by configured ROAM delta value.

Max limit of RoamRssiDiff is increased to 100 from 30, so user can set
roam delta from 0 to 100 using command SETROAMDELTA.

Change-Id: I69b783ebe5ec971bb62cbac8a34065d52fc25422
CRs-Fixed: 2609589
2020-01-24 21:29:10 -08:00
Pragaspathi Thilagaraj
b2e6d8964f qcacld-3.0: Update roam failure reason string
Update the mlme_get_roam_fail_reason_str() to return
correct string for new roam failure reason enums added.

Change-Id: I24983149fdcd8a0935eea9670832944638c33179
CRs-Fixed: 2607545
2020-01-24 18:43:39 -08:00
Abhishek Ambure
4706d0fe80 qcacld-3.0: Add INI to disable 6ghz support for oem
6Ghz channels information is not used by legacy OEM apps example
"lowi-server" having no support for 6Ghz channels.

Hence "oem_6g_support_disable" INI is added. By default INI value is
1. 6Ghz supported OEM applications sets INI value to 0 and gets 6Ghz
channel information from driver.

Change-Id: I2650e6ad2976b64e46ab0143b2bafc2df2343e94
CRs-Fixed: 2597651
2020-01-16 00:49:13 -08:00
Amruta Kulkarni
f63bcbe4e3 qcacld-3.0: Reduce mlme logging level from err to debug
In wlan_mlme_configure_chain_mask(),mlme_legacy_err is
updated to mlme_legacy_debug,as its not an error condition.

Change-Id: Ibdf33124ee970bcfcc9d57df9f3b3fc6990072fe
CRs-Fixed: 2599510
2020-01-15 08:19:06 -08:00
Kiran Kumar Lokere
4dd5c4f06b qcacld-3.0: Set the default SW retry limit value to 16
Set the default software retry limit value to 16 and fix the typo
in configuring the non aggregation software retry limit.

Change-Id: Ia6ef7cc39f47ef91c2c338e48561e0275445750f
CRs-Fixed: 2599467
2020-01-11 01:50:08 -08:00
Yue Ma
e5a28495ab qcacld-3.0: Cleanup CRYPTO_SET_KEY_CONVERGED for MAC layer
CRYPTO_SET_KEY_CONVERGED is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag in MAC layer.

Change-Id: I34fb7a6a67dd6dba3fa69c98ef10a1bd51383e36
CRs-fixed: 2593525
2020-01-09 20:21:42 -08:00
Sandeep Puligilla
511c6e2402 qcacld-3.0: Add ini support to control 6G SAP fils disc
6Ghz SAP needs to send either a probe response or fils
discovery at every 20ms.

Add a new ini to configure the probe response or
fils discovery frame.

enable_6g_sap_fils_discovery=1 sends fils discovery frame
at every 20ms.
enable_6g_sap_fils_discovery=0 sends probe response frame
at every 20ms

Change-Id: I6c5fb339135cf11be071d73970ea3704441380eb
CRs-Fixed: 2586524
2020-01-07 00:41:09 -08:00
Pragaspathi Thilagaraj
71a1fa4ca0 qcacld-3.0: Add diag log support to print roaming related stats
When roaming is complete, firmware sends WMI_ROAM_STATS_EVENTID
to host driver. This event has details regarding the roam
trigger reason, roam scan and candidate details, roaming result
and 11kv info sent after roaming to AP. Parse this event and
fill the below diag log report to print this in logcat:
LOG_WLAN_AUTH_ASSOC_TX_RX_INFO
LOG_WLAN_ROAM_TRIGGER_INFO
LOG_WLAN_ROAM_SCAN_INFO
LOG_WLAN_ROAM_RESULT_INFO
LOG_WLAN_RRM_TX_RX_INFO

Change-Id: Ie09dc8ad5b236d0925327dba73a3f2e73a80109a
CRs-Fixed: 2597057
2020-01-06 20:35:43 -08:00
sheenam monga
63736f6880 qcacld-3.0: Add ini support to enable/disable ring buffer
Currently, There is no support to disable ring buffer. Each Ring
buffers is using 2MB and overall 10MB is consumed by 5 ring buffers.

Fix is to add ini support to enable/disable ring buffer.
Boolean ini CFG_ENABLE_RING_BUFFER is added. Default value of
gEnableRingBuffer is 1 which indicates that ring buffers are enabled
by default.

CRs-Fixed: 2592476
Change-Id: I30f95668de6df96e5c388e92e202f8c236132dc2
2019-12-26 06:06:53 -08:00
Abhinav Kumar
444a5ebc80 qcacld-3.0: Add ini support to skip full scan after bmiss
Currently, after FINAL_BMISS detection, FW does channel map
based partial scan followed by one full scan if no candidate
found in partial scan to ROAM to another available AP without
disconnection. This results in additional delay by HOST in
issuing disconnection after a heartbeat failure.

Add INI support (bmiss_skip_full_scan) to allow FW to decide
whether firmware does channel map based partial scan or partial
scan followed by full scan in case no candidate is found in
partial scan after final BMISS.

Change-Id: I48f9bb43bb7933e9ff173f618586ea5986530dcd
CRs-Fixed: 2578848
2019-12-17 00:12:04 -08:00
Gururaj Pandurangi
1e8f221be0 qcacld-3.0: Change config type of tx_bf_cap to uint
Change max value of tx_bf_cap to 4294967295 from -1
which is misconfigured. 4294967295 corresponds to
0xFFFFFFFF which is max value for 32 bit unsigned
int since this CFG item is getting used as part of
4 byte dot11f HT capability population.

Change-Id: Ifd0fea080dd9eb1f6995af0df20c68e3f73b891a
CRs-Fixed: 2581060
2019-12-16 21:15:23 -08:00
Pankaj Singh
f84a5dd718 qcacld-3.0: Fix connection latency situation in driver
In 11D scan procedure if WMI_11D_NEW_COUNTRY_EVENTID event is
received, host processes 11d new country code event.
Host driver as a response sends WMI_SCAN_CHAN_LIST_CMDID
new channel list cmd to firmware.

As a result the ongoing scan procedure is aborted by firmware,
and if the scan was a first scan for connection, then it would
lead to connection latency as the supplicant then have to
scan again.

Fix is to check if any scan is in progress, then delay
WMI_SCAN_CHAN_LIST_CMDID channel list command to FW till
the current scan is complete.

Change-Id: I4e747bb747c32430b5d8024823aa0df4928a8c71
CRs-Fixed: 2569741
2019-12-14 04:04:25 -08:00
sheenam monga
451c68c41a qcacld-3.0: Add ini support to configure MGMT retry limit
Currently, default MGMT retry limit is 4 which means 4
transmissions are supported for any management frame.
In noisy environment, Chances to get connection failure
are higher with 4 retransmissions.

Fix is to add INI support mgmt_retry_max to make
CFG_MGMT_RETRY_MAX configurable. Default value for
CFG_MGMT_RETRY_MAX is 15 to reduce the chances of connection
failure in noisy environment.

Change-Id: Id50cb68813fba517a8a1580a3d6662c73b0a381e
CRs-Fixed: 2575385
2019-12-13 11:51:36 +05:30
Pragaspathi Thilagaraj
5292e0ab83 qcacld-3.0: Handle WMI_ROAM_STATS_EVENTID from firmware
The event WMI_ROAM_STATS_EVENTID is received after
every roam, once the roam synch complete is sent by the host.
This event contains details regarding the roam trigger reason,
values associated with the trigger, roam scan candidate info,
roam status, roam failure reason.

This helps in debugging/understanding the scenario when roam
failure happens.

WMI_ROAM_STATS_EVENTID Format:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_stats_event_fixed_param |-> Contains vdev id and number of
                             |   roams detail.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
roam_trigger data TLV        |-> Has details on the roam trigger
                             |   reason. Number of roam triggers
                             |   TLV detail is present in the
                             |   fixed param. Maximum 5 roam
                             |   per event is supported
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_info TLV       |-> Has details on the roam scan -
                             |   scan type, rssi threshold,
                             |   reason.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_scan_channel_info   |-> Has details on the roam scan
TLV                          |   channels. Number of channels
                             |   per trigger is found on the
                             |   wmi_roam_scan_info TLV.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_ap_info TLV         |-> Has details on Roam candidate
                             |   APs found during scan. Number
                             |   of roam candidate APs per
                             |   trigger is found on the
                             |   on the wmi_roam_scan_info tlv.
                             |   Max 8 candidates are allowed
                             |   per roam scan.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_result TLV          |-> Info on roam success or failure.
                             |   Fail reason, if roaming failed.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_report_info|->After roaming, firmware sends
TLV                          |  neighbor/btm report to roamed AP
                             |  to get list of roam candidates.
                             |  This tlv provides info on this.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
wmi_roam_neighbor_channel_info|-> This has the info on the
                              |   channel list received as part
                              |   of BTM/Neighbor report.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Print the info received as part of this event into kmsg.
Featurize all the function defines for this roam logging under
WLAN_FEATURE_ROAM_OFFLOAD flag.

Change-Id: Iddc70b572f2e3dc47f08fd1c3c3597cb44981a17
CRs-Fixed: 2576222
2019-12-11 08:52:14 -08:00
gaurank kathpalia
0cecbd4d4e qcacld-3.0: Change the default value of normalize acs ini weight
Change the default value of normalize weight ini to
disable all non-PSC 6ghz channels for the SAP ACS
operation, and give weightage only to the PSC
frequencies.

Change-Id: I4c8f349a396ffe4a2f378a59f5a67036b9d573eb
CRs-Fixed: 2578824
2019-12-09 18:56:58 -08:00
Bala Venkatesh
81281077ab qcacld-3.0: Remove the INI force_rsne_override
Currently, RSNE if given from userspace is overrided if the Ini
force_rsne_override is disabled as a security. But there
are sufficient checks already in kernel to validatethe RSNE
given by userspace. Hence this INI is no longer required.

Change-Id: Ifcc9298dcfa035d05e9ee4fb78a4fa2c9f249461
CRs-Fixed: 2573540
2019-12-05 16:38:44 -08:00