Commit Graph

606 Commits

Author SHA1 Message Date
bings
b6c09cbaf4 qcacld-3.0: Do not kickout sta if it is in band steering
When a sta is being steered, sending a deauth may interrupt the
association/EAPOL handshake on the new BSS.

Do not kickout sta if it is being steered.

Change-Id: I15dd26bca27699087cdb790de8cb95281dade385
CRs-Fixed: 3042990
2021-10-27 20:53:09 -07:00
Surya Prakash Sivaraj
f1299c10f6 qcacld-3.0: Save ext cap IE from join request
Host sends the EXT CAP IE based on the capability
coming from the supplicant in join request. But, after
roaming the cached join request will be freed. Therefore,
after roaming few capabilities sent by the userspace are
not saved and therefore lost in reassoc request.

Save the EXT CAP IE from the join request in the VDEV
and use the cached capability for sending Ext cap IE.

Change-Id: I71947388b4c6e9e56a5832557416d9b462de70e2
CRs-Fixed: 3038496
2021-10-24 23:17:55 -07:00
Pragaspathi Thilagaraj
c304893863 qcacld-3.0: Enable time sync only on connection/roam
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.

Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.

Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
2021-10-22 12:40:33 -07:00
Tushnim Bhattacharyya
f71379600b qcacld-3.0: Set default value for bss_color_collision_det_sta to 1
For STAUT to follow the rules governing OBSS Narrow Bandwidth RU in
UL OFDMA Tolerance Support, bss_color_collision_det_sta to be set
to 1.

Change-Id: Ibe283f8bec9febbaf9a876d1afd55389ea4c971d
CRs-Fixed: 3053624
2021-10-12 11:02:34 -07:00
Surya Prakash Sivaraj
1840b420af qcacld-3.0: Update VHT IE with highest supported LGI rate
Currently, the Rx/Tx highest Long GI data rate field in
the  VHT IE is filled with short GI data rate. Therefore,
change the highest supported data rate back to LGI data
rate.

Allow the short GI rate to be filled as the highest supported
rate in the wiphy if short GI is enabled.

Change-Id: Ie0652b4cdeef370cb8ad3d11b5d36b6959c1cbcb
CRs-Fixed: 3053946
2021-10-12 04:51:55 -07:00
Ashish Kumar Dhanotiya
693f6400d1 qcacld-3.0: Add ini to enable/disable vht mcs 10 and 11 support
Currently there is no ini to enable/disable vht mac 10, 11
and this feature is completely based on FW capability.

Based on current requirement add support to enable/disable
vht mcs 10/11 feature from ini.

CRs-Fixed: 2861854
Change-Id: I350daea8a2f81bfeac25ccdda026d1a5d1c133e3
2021-10-08 23:15:43 -07:00
Srinivas Dasari
fbd5ee5c48 qcacld-3.0: Cleanup ROAM_TARGET_IF_CONVERGENCE usage
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.

Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
2021-10-06 00:02:06 -07:00
Balaji Pothunoori
5e3247e93f qcacld-3.0: update default addba response rx aggr size to 256
update default addba response rx aggregation size to 256.

Change-Id: Ie79bd9ce6d5e5a95e706c9bda3124bb3fc913ce5
CRs-Fixed: 3050726
2021-10-05 13:07:33 -07:00
Pragaspathi Thilagaraj
330a20ccff qcacld-3.0: Retain WTC mode value after vdev delete
After mac randomization, the change interface causes
the WTC mode to be reset as part of the hdd_init_station_mode()

Initialize the WTC mode during start modules as part
of the mlme component cfg values population.

Change-Id: I4a57c29053f0100c14cef067952d49cecbdc8ea5
CRs-Fixed: 3047594
2021-10-05 13:07:28 -07:00
Srinivas Girigowda
a58817a89b qcacld-3.0: Replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID
There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.

Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
2021-09-30 15:14:58 -07:00
bings
a44cf88b36 qcacld-3.0: Implement legacy commands of easy mesh
Provide below APIs for easy mesh.
API to get the current frequency of the given VDEV.
API to get acs status of the given VDEV.
API to get cac status of the given VDEV.
API to get/set bandwidth of the given VDEV.
API to get band information of the given VDEV.
API to get connected STA count of the given VDEV.
API to get BSSID of the given VDEV.
API to get SSID of the given VDEV.
API to set channel of the given VDEV.
API to get/set cac timeout of the given VDEV.
API to get/set country code of the given VDEV.

Change-Id: Ia0bd201ad8155a66a4a8c5517f6fa43f3f358505
CRs-Fixed: 3027192
2021-09-30 10:51:28 -07:00
Yu Wang
d3a8dfe1b6 qcacld-3.0: update rates set on connect success
Update operational rates set, extended operational rates set
and MCS based rates set in VDEV MLME legacy priv object on
connect success.
Refine the APIs for fetching these rates.

Change-Id: I7697b3d2e26e2fc565a2e672afe19f255af89d7e
CRs-Fixed: 3044036
2021-09-28 21:11:56 -07:00
Pragaspathi Thilagaraj
7e90b8b5f5 qcacld-3.0: Fix missing attributes in connectivity logging events
Fix few missing attribute in below connectivity events:
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_EAP_RESPONSE
QCA_WLAN_VENDOR_DIAG_EVENT_TYPE_ROAM_SCORE_CURR_AP

Also send the roam candidate info properly to userspace.

Change-Id: Ia9c4f095316adf8f40294f1e119cad648749bb72
CRs-Fixed: 3037650
2021-09-28 21:11:51 -07:00
Pragaspathi Thilagaraj
9081371b4b qcacld-3.0: Add changes to send connectivity log events to userspace
Fill the QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA event data and
send the event to userspace.
Add dispatch table for the connectivity events to lookup
attribute type, id and length.

Change-Id: I1fc8467409852a430874ac1d926b06ec8dafb736
CRs-Fixed: 3030085
2021-09-26 04:49:49 -07:00
Pragaspathi Thilagaraj
5e4b2f49ad qcacld-3.0: Fill and send connectivity logging management frame events
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.

Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
2021-09-26 04:49:44 -07:00
Nirav Shah
b7fe8299dc qcacld-3.0: Add ini configuration to limit supported HE MCS rates
Add ini configuration to limit supported TX/RX HE MCS rates.
In case of XR use-case, higher throughput is not needed but
higher reliability is expected. So, this ini provide option to
limit HE MCS rate capability to MCS0-7 to achieve higher reliability.

Change-Id: Id6343f5b28d341e5ee377d11ad8420e3b8ded6ef
CRs-Fixed: 3033342
2021-09-23 04:25:11 -07:00
Kiran Kumar Lokere
fb85fcd3b0 qcacld-3.0: Disable 6G security check if RF testmode is enabled
The 6GHz security check is enabled by default. Disable the check
if RF test mode is enabled.

Change-Id: Id6af514f6a31f6351b1b0d784c2b9f7d301496c0
CRs-Fixed: 3040621
2021-09-22 03:15:48 -07:00
Pragaspathi Thilagaraj
db383df8c9 qcacld-3.0: Add support to parse roam frame info TLV
Add support to parse roam frame info TLV.
Add changes to send the BTM request logging event.

Change-Id: I24fab5fc0ec204fce74cf822742b5a44b0e7774f
CRs-Fixed: 3013489
2021-09-22 03:15:32 -07:00
Pragaspathi Thilagaraj
c575e2a228 qcacld-3.0: Enhance the dequeue logic to limit logs per second
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.

Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554
2021-09-17 13:47:52 -07:00
Pragaspathi Thilagaraj
612fe2eca2 qcacld-3.0: Add infrastructure for connect/roam logging
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.

Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
2021-09-17 13:47:47 -07:00
sheenam monga
c339ab4ddf qcacld-3.0: Check Fw capability to support p2p + p2p concurrency
Check fw capability to support p2p + p2p concurrency from
soc_fw_ext_caps and based on fw capability, set policy
mgr concurrency for p2p + p2p.

Change-Id: Ia32f81f37174e9d722911b1fae6d4897d0af9816
CRs-Fixed: 2991300
2021-09-17 01:18:20 -07:00
Liangwei Dong
39e516f7d2 qcacld-3.0: Fix HT IE missing in Beacons when WPA/WPA2 Mixed mode
According to 11n CERT case - 4.2.44 AP WAP/WPA2 mixed security mode
test, AP works in HT mode, but driver disallow the 11n when TKIP
cipher present and switch to "A" mode, then no HT IE in Beacon.
Fix by check TKIP only cipher and other ciphter present(CCM)
to disable allow 11n.

Change-Id: Ia915c9aa45bef93a22b5f43004e533cc87978752
CRs-Fixed: 3033301
2021-09-14 16:51:56 -07:00
abhinav kumar
04389c608d qcacld-3.0: Allow roaming between same OWE profile AP's
Currently, firmware can roam between owe security SSID's
even though open SSID is different for both of the AP's.
This commit adds support to restrict roaming between the
same OWE profile AP's which means if the device needs to
roam then target AP's open SSID and owe SSID should match
with current AP.

Change-Id: Ib59127a90cab9ee6626b018d581edbf76ad89856
CRs-Fixed: 3025667
2021-09-10 22:28:38 -07:00
abhinav kumar
3173789d99 qcacld-3.0: Add new BT Coex roam trigger reason
Send additional roam trigger TLV for BTC in
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
command, to support a new roaming trigger
"WMI_ROAM_TRIGGER_REASON_BTC".

Change-Id: Ib767bd6bcf005c187b0fb58986ad287fe8753c1b
CRs-Fixed: 3009788
2021-09-10 20:09:34 -07:00
abhinav kumar
939ba8556a qcacld-3.0: Add BTC as a new roam trigger reason in host
To support BTC roaming, add a definition of BTC roam trigger
reason in ini roam_triggers. It goes to fw via roam_enable
trigger command (WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID)

Change-Id: I231a72ed98a74fb1b5ced12da7c3932af12d485d
CRs-Fixed: 3009787
2021-09-10 20:09:28 -07:00
Amruta Kulkarni
b64278b0a5 qcacld-3.0: Limit range of JOIN and ASSOC timeout
In cfg file limit the range of join failure and assoc failure timeout.

Change-Id: I615cc371d3a8fa7fa977c0eab88f4b14df7fbcc6
CRs-Fixed: 3028740
2021-09-08 20:22:01 -07:00
Pragaspathi Thilagaraj
100c310363 qcacld-3.0: Set PS config per vdev
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.

To avoid this, set the PS config per vdev.

Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
2021-09-01 14:02:27 -07:00
Kiran Kumar Lokere
cde70adc46 qcacld-3.0: Config support to use BSSID in probe request RA
User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.

Change-Id: Ie0b7620428e1bfbd51e7430b6b7ad23ebede9e67
CRs-Fixed: 3021525
2021-08-27 01:05:14 -07:00
Utkarsh Bhatnagar
d790174870 qcacld-3.0: Move get qos related API to LIM from CSR
Move get qos related API to LIM from CSR.

Change-Id: I44f32ea6588bebd2205bccf62d2267958884f260
CRs-Fixed: 3017623
2021-08-19 17:34:11 -07:00
Paul Zhang
fc8ccbf23a qcacld-3.0: Add ini wlm_latency_reset_on_disconnect
Currently, the WLM mode could be recovered after disconnection
or interface down/up about random MAC feature. Since some OEMs
have different mechanisms to config WLM mode on their framework
implementation and don't expect recovering the WLM mode.

So add logic to set default WLM mode when disconnection happens.
And add ini wlm_latency_reset_on_disconnect to differentiate
the implementation in driver. By default
wlm_latency_reset_on_disconnect is false.

Change-Id: Idcb3baf6ab8f0533eb01c28ff1c12513f9995946
CRs-Fixed: 3006875
2021-08-19 11:30:24 -07:00
Kiran Kumar Lokere
a70df38665 qcacld-3.0: Config support for BTWT and Rx control frame to MBSS
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.

Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
2021-08-18 23:55:00 -07:00
Balaji Pothunoori
f0521aa1ea qcacld-3.0: update ini configured rx aggregation size in addba response
Currently addba response is not updated with ini configured rx aggregation
size.
This change is to reject peer addba request if rx aggr size is 1 and
for other sizes select min value of peer and configured sizes.

Change-Id: Ia375b1e031dfecf948429e0baea19faa8fe42ffa
CRs-Fixed: 2962314
2021-08-18 18:43:22 -07:00
Bapiraju Alla
6874af8035 qcacld-3.0: Fix ac fallback issue when TSPEC id deleted
When TSPEC session is deleted, the access category of the data packets
should be downgraded to next lower AC. But this is not happening due to
acm mask is not getting updated when bss descriptor is NULL.

To fix this ssue, update acm mask from bss descriptor only when beacon
IEs are not present.
Also move qos related logic to LIM and bring missig changes which were
there before connection manager.

Change-Id: I9da80cf492b01762b4cc0a7b73271a0f5fe4b4a4
CRs-Fixed: 3011069
2021-08-18 12:07:53 -07:00
Balaji Pothunoori
1cd76edad4 Revert "qcacld-3.0: addba request reject for peer ap"
Peer addba request is rejected when reject_addba_req is set from
ini or vendor command.
Current reject_addba_req ini is replacing with gRxAggregationSize
when it is set 1 from ini.
Hence this reverts commit I80a4b78c1af77f5bfa68be3163f9e9a78cc64245.

Change-Id: I1cc57b88311da4dd8f26eade17072aaa1f0ebb59
CRs-Fixed: 3002204
2021-08-17 15:46:23 -07:00
Surya Prakash Sivaraj
bad0b3e491 qcacld-3.0: Add an INI to configure SAE auth failure timeout
Currently, the SAE authentication request retry happens
after a fixed timeout of 1 second in a STA DUT.

To make this timeout user configurable, add an INI to
configure SAE auth failure timeout.

Change-Id: I3a3944ab14564a944e0c83cc31a92847b5e8c5e0
CRs-Fixed: 3011892
2021-08-16 15:52:25 -07:00
Ashish Kumar Dhanotiya
b4f20040b1 qcacld-3.0: Add INI aliasing for idle_roam_band
Based on new requirement add aliasing for idle_roam_band.

Change-Id: I7ebc2eaf647da6b9dc3cd63a5c81e9160a14e72b
CRs-Fixed: 3007435
2021-08-12 10:45:03 -07:00
Ashish Kumar Dhanotiya
0f6fd1f8db qcacld-3.0: Add aliasing for gNeighborLookupThreshold ini
Based on new requirement, add aliasing for gNeighborLookupThreshold
ini and update the range of this ini as well.

Change-Id: I0a62e209d6a62001d6aec48849c4900062ae5bc7
CRs-Fixed: 3011060
2021-08-12 00:55:37 -07:00
Ashish Kumar Dhanotiya
d89f39b0bd qcacld-3.0: Add aliasing for INI names
Currently driver has only one name for an INI, with
this change add second name as well for few INIs based on
new requirement.

Change-Id: I6eee13935d1c5c74794027b88d94cbb572339e9e
CRs-Fixed: 3007209
2021-08-09 22:25:05 -07:00
Amruta Kulkarni
c71017d971 qcacld-3.0: Roam sync event migration
Wma to target_if migration for ROAM SYNC EVENT

Change-Id: Id2e9d5697f12f709cfdd665dabf1095863d87277
CRs-Fixed: 2990767
2021-08-07 02:58:54 -07:00
Jyoti Kumari
bf9589ac92 qcacld-3.0: Reset twt active command if ack fail
Reset twt active command if ack fails due to firmware internal
error.

Change-Id: Ic980314261ab4f6deb437b36e525ea59c286eee2
CRs-Fixed: 2997509
2021-08-05 15:13:27 -07:00
Kiran Kumar Lokere
f4ed112b3c qcacld-3.0: Add support to configure bss max idle period
Add support to configure the bss max idle period for STA.

Change-Id: Ifc56f6513a2b643ab574937c5216b53bdea1d2c5
CRs-Fixed: 2829159
2021-08-05 15:13:22 -07:00
abhinav kumar
a0e112969b qcacld-3.0: Restore dual sta config after SSR
Save dual sta configuration in hdd context and
restore it after SSR. This allows driver STA + STA
connection in MCC/SCC.

Change-Id: Ia8bb8c845f0f76e7ce41ff32ab0a3bc6d5111018
CRs-Fixed: 2998225
2021-08-04 21:13:15 -07:00
Alan Chen
1ac361a668 qcacld-3.0: Set gRemoveTimeStampSyncCmd to 1 by default
Set gRemoveTimeStampSyncCmd ini to 1 by default so that even for more
than 60 seconds, the device can stay in RTPM WoW mode.

Change-Id: I560389dd9c7d5a33d01c092ad057a7a7aa6f7c37
CRs-Fixed: 3003718
2021-07-30 18:00:49 -07:00
Srinivas Dasari
78cb3008e6 qcacld-3.0: wma to target_if migration of wmi_roam_event
Currently, wmi_roam_event_id data is extracted and processing is
also done in wma. This is not inline with component model where
target_if takes care of data extraction and handover the extracted
data to corresponding component(connection mgr in this case).
Add changes to support the same. As the legacy CSR/LIM is not
yet converged, have a wrapper from connection mgr to wma to call
these legacy APIs.

Change-Id: I0e22bbccfe21200b90771a01f9ee7454f4ecb119
CRs-Fixed: 2990355
2021-07-30 14:29:36 -07:00
Jyoti Kumari
87fb1e3c33 qcacld-3.0: Mismatch of TWT responder bit in HE caps and EXT caps
In a beacon template, there is a mismatch of twt responder bit in
HE caps and extended caps.

During start BSS, there is a kernel flag related with twt
responder. Intersect this kernel flag and service bit capability
before calling twt enable/disable api in start BSS.

Change-Id: I0725fc560904c622cc47f43958bcd490daacfa2f
CRs-Fixed: 2995538
2021-07-28 04:30:24 -07:00
Utkarsh Bhatnagar
91d6eaf0fd qcacld-3.0: Use wlan_cm_is_vdev_roaming() API in wma
Use wlan_cm_is_vdev_roaming() API in wma, instead of
wma->interfaces[vdev_id].roaming_in_progress.

Change-Id: Icb88246b2c45c052a1d42dece4983b1e534fe608
CRs-Fixed: 2993180
2021-07-23 18:01:40 -07:00
bings
5b8e66816a qcacld-3.0: register mlme mlo ext call back
register mlme mlo ext call back.
unregister mlme mlo ext call back.

Change-Id: Ifbfd474fcd01d091c65d6dbde08c9877d05e3cd5
CRs-Fixed: 2976146
2021-07-21 17:14:43 -07:00
Jyoti Kumari
f93a29459a qcacld-3.0: Add support for TWT ack event
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context

Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
   waits for this ack event, respective event with status of the
   TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
   reject the TWT command request in userspace context.

Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978
2021-07-20 11:08:57 -07:00
Arun Kumar Khandavalli
a019216f89 qcacld-3.0: Remove mac address field from the csr session
csr has a mac address field which is redundant, the same can be
retrieved from the vdev object.

Hence remove the mac address field from the csr and update the same
from the vdev object.

Change-Id: I948cf858ddb26795e236aa4099186e5d10f504a6
CRs-Fixed: 2990480
2021-07-20 08:28:18 -07:00
Li Feng
39ef2d2c6d qcacld-3.0: Add sanity check for bmiss configuration from vendor cmd
Add sanity check for bmiss configuration from vendor cmd:
the device mode shall be station mode,
the final beacon miss value can't exceed ini max setting,
vdev_id shall correspond to the interface from vendor cmd.

Change-Id: I7ecdd40f69a8317ccd5362adbcad1159b1792ab7
CRs-Fixed: 2990863
2021-07-20 05:13:41 -07:00