Commit Graph

79 Commits

Author SHA1 Message Date
Srinivas Dasari
f8921a74b9 qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is
   received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
2022-02-18 23:21:21 -08:00
Srinivas Girigowda
9630b58469 qcacmn: connection_mgr: Add API ucfg_cm_get_connected_band()
Implement an API to get connected band information.

Change-Id: I682a749d293afd06a4fe12acf985cc5d44d11db8
CRs-Fixed: 3104394
2022-02-08 18:25:29 -08:00
chunquan
be297ae0ae qcacmn: Replace blacklist/whitelist with denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist

Change-Id: Ic10f0bb187f44c00f07752cd859a08342a945628
CRs-Fixed: 3087605
2022-01-14 03:50:13 -08:00
Bing Sun
722d2e18cb qcacmn: Refine bandwidth score with static puncturing
EHT operation IE contains disabled subchannel bitmap, which providing
a list of subchannels that are punctured within the BSS bandwidth.
Throughput is affected if subchannels are punctured, refer to system
document to get new bandwidth score for different puncture pattern.

Change-Id: I91b9a7ec4331e78373440d4c97eb9f1ba6c45b4c
CRs-Fixed: 3098009
2022-01-06 19:12:54 -08:00
Huashan Qu
0ff3ae8b94 qcacmn: Give SAE-PK AP more score to pass SAE-5.7.3 certification
When do SAE-5.7.3 certification test case, STA will choose non SAE-PK
AP to connect which is wrong expected result, non SAE-PK AP beacon
will carry with QBSS IE that contributes more score than SAE-PK AP
score config.

Fix is to give SAE-PK AP more score to pass SAE-5.7.3 certification
case.

Change-Id: Ib3e516ccfa673e19f9bf0869aeffe4f5b1862a71
CRs-Fixed: 3101317
2021-12-29 22:32:19 -08:00
Lincoln Tran
3bb859e795 qcacmn: Retain link disconnect source if northbound
If the MLO module is sending link disconnect from the north, retain its
disconnect source. If it is a southbound disconnect, update the source
to be from MLO manager. This is needed so some legacy modules handle the
disconnect properly and send vdev stop when appropriate. Also make sure
that the SB disconnect will be processed if the link is in connecting
state.

Change-Id: I6644751934697496147b9177ee7beab4d7355e10
CRs-fixed: 3086012
2021-12-07 22:39:25 -08:00
Lincoln Tran
92f93cb246 qcacmn: Add MLO as disconnect source
When processing a peer or southbound disconnect on the non assoc link,
there is a vdev stop issue due to the correct state not being set. For
this link, set the disconnect source as MLO instead of passing it down
from the caller.

Change-Id: I8db444e7c80659a1a1026a53326e99c96ef631f0
CRs-fixed: 3040658
2021-09-29 15:05:32 -07:00
Surya Prakash Sivaraj
7d2ec40194 qcacmn: Send SSID in join req for OWE transition mode
STA connection with OWE transition mode SSID fails due to join
failure timeout. Since, it is OWE transition mode, STA needs probe
response for join success.

The scan table entry of the candidate BSSID is sent in the join request.
This entry is used to create session and to send probe request to AP.
In case of OWE transition mode, the beacon carries wildcard SSID.
Therefore, the scan table entry also has wildcard ssid. Also,
during the candidate selection, scm_ignore_ssid_check_for_owe check
allows even entries with wildcard SSIDs to be selected as candiates
for OWE transition mode.

The join request with Wildcard SSID in the scan entry is used by LIM
to create session, as well as to send probe request.Therefore,
the AP doesn't respond to the probe request with wildcard ssid
leading to join failure timeout.

This change adds ssid from connect request to the cm_vdev_join_req,
which can be used by LIM to create session and to send probe request
whenever the SSID in scan entry is wildcard.

Change-Id: If43d7e8a65bc3e37d67e22609932cf18f804f0ab
CRs-Fixed: 3041142
2021-09-24 02:14:38 -07:00
Bing Sun
7fcc2ebd13 qcacmn: Fix issue when getting rnr
When getting rnr IE information, instead of getting rnr pointer through
input parameter,  we can just return rnr pointer.

Change-Id: I57f683eb86bb813018a38fa3a6286e9b6e40037f
CRs-Fixed: 3025194
2021-08-31 12:23:26 -07:00
Will Huang
69f69de187 qcacmn: Enable check_6ghz_security by default
It is mandatory request to check security mode in 6Ghz band,
so enable check_6ghz_security by default. Keep default disable
for WIN as requested.

Change-Id: Idcc4cb9add98ad4bda8e4357e83460ca25221692
CRs-Fixed: 3006930
2021-08-12 00:55:56 -07:00
Ashish Kumar Dhanotiya
518f0daeb1 qcacmn: 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: I67bd50652c3be7912c516b81d40f6a1ea7a7b90a
CRs-Fixed: 3007172
2021-08-10 15:39:24 -07:00
bings
fe21212247 qcacmn: API to get rnr IE according to cm id
API to get rnr IE according to cm id

Change-Id: I6666a86a2402323a64472c79dc876077b622512a
CRs-Fixed: 3004089
2021-08-03 06:55:27 -07:00
Himanshu Batra
73f871654f qcacmn: CM changes for ML connection
CM changes for ML connection

Change-Id: I7718734b0f08c8e73702b2c1c7c297bf71b6b5e3
2021-07-20 08:28:42 -07:00
Bapiraju Alla
700ff4bdc8 qcacmn: Add INI configuration for MLO scoring params
Add INI parameters to configure MLO scoring parameters

Change-Id: Idbdb6194dcf5230a1e6cefbbaab472bb986fa6a4
CRs-Fixed: 2958676
2021-07-06 17:33:41 -07:00
Abhishek Singh
04a8eb2045 qcacmn: Code cleanup for connection manager Macro
Code cleanup for connection manager Macro.

Change-Id: I1526187e5efc6f4e38265d617c0342b4c1ea1228
CRs-Fixed: 2978727
2021-06-29 01:33:15 -07:00
Abhishek Singh
ce5d191d80 qcacmn: Refactor CM command timeouts and flush req list before deinit
Refactor connection manager command timeouts to handled unexpected
timeouts in VDEV/PEER SM.

Also flush the req list before deinit to avoid memleaks due to these
timout, if SM is not handled properly.

Change-Id: I6cd1857464691838c75b1ceda32f94ad4cda46a2
CRs-Fixed: 2971466
2021-06-18 17:06:18 -07:00
Lincoln Tran
0722a9b4cb qcacmn: Add MLO specific function definitions
Define the following functions for MLO operation:
Peer create and delete
STA/SAP up and down
VDEV create and delete
Is MLD AP or STA

Change-Id: I5c9b3276b8dbb4b2a3f055480cab4a865b8af946
CRs-fixed: 2935769
2021-06-17 07:19:31 -07:00
Huashan Qu
3493643d20 qcacmn: Add host roam preauth handling code for connection manager
Add host roam preauth handling code for connection manager

Change-Id: Ie2ee72bb33fe5706349d1eb13208a0cfcd15aacf
CRs-Fixed: 2954506
2021-05-28 01:47:08 -07:00
Huashan Qu
36af7eda02 qcacmn: Add self reassoc and Hw mode change logic for LFR2
Add self reassoc and Hw mode change logic for LFR2.

Change-Id: I366bd6ba3650343a2f829359a2a42695f089d121
CRs-Fixed: 2941760
2021-05-10 14:48:06 -07:00
Himanshu Batra
add02fc7c9 qcacmn: Add public API for ext cm pointer
Add public API for ext cm pointer

Change-Id: I4208efd33e4fb09dfd3601c0ac5ca086d8ae3475
2021-03-25 09:44:06 -07:00
Amruta Kulkarni
5c1ca03ebe qcacmn: Support roam sync ind in CM
Add support for roam sync indication in
connection manager.

Change-Id: I750403aa0dfa6c615f9bca832898c63af608d28d
CRs-Fixed: 2901863
2021-03-24 09:48:18 -07:00
Amruta Kulkarni
f4891e164c qcacmn: Fix declaration of wlan_cm_set_candidate_advance_filter_cb
Fix wlan_cm_set_candidate_advance_filter_cb declaration.

Change-Id: I33582e5219552f90fc0c2a858dc3f5c6560762ee
CRs-Fixed: 2905202
2021-03-24 02:12:22 -07:00
Himanshu Batra
9fbf9e7de2 qcacmn: Support custom scan filter and candidate list sort
Add APIs to support customer scan filter and candidate list
sorting based on user perference

Change-Id: I9b5d46c7851a0afd4513f50c50c43baf26c29d0c
CRs-Fixed: 2896741
2021-03-17 11:06:36 -07:00
Ashish Kumar Dhanotiya
ad9b0c99d0 qcacmn: Replace wlan_cm_roam_resp struct with wlan_cm_connect_resp
Structure wlan_cm_roam_resp and wlan_cm_connect_resp are identical
structures and in current code these structures are used for connect
and reassoc functionalities with different functions as these are
identical structures and only one structure can be used to reduce
the duplication of the code.

To address this code duplication issue replace wlan_cm_roam_resp
structure with wlan_cm_connect_resp.

Change-Id: I90949c25f46acd2fa78cebb70c9a04f0718b90c4
CRs-Fixed: 2875232
2021-03-04 06:37:09 -08:00
Amruta Kulkarni
d5cc294f49 qcacmn: Support roam invoke request in connection manager
Add support for roam invoke request in connection manager.

CRs-Fixed: 2869259
Change-Id: I618add058d39e9452530b1950cff57bfe6100448
2021-02-18 03:12:24 -08:00
Abdul Muqtadeer Ahmed
f44435fb3c qcacmn: Change default value of ini is_bssid_hint_priority
The default value of ini is_bssid_hint_priority change 1 for AP
and 0 for non AP in documentation.

Change-Id: I4181ba5b72a5d6f013be74adaa579fb23370e25c
CRs-Fixed: 2869604
2021-02-08 15:01:19 -08:00
Santosh Anbu
2f71a62bab qcacmn: Add change to support logging request to conn_mgr
Support logging history of the requests being sent to connection
manager.

Change-Id: Ifcc3a460e7694f6b6feb1b35121e6fc8e3333935
CRs-Fixed: 2860578
2021-02-02 11:04:01 -08:00
gaurank kathpalia
4cd10d00e3 qcacmn: Add is_wps is_osen in connect req
Add is_wps and is_osen in connect req to avoid parsing assoc ie
multiple time to get the info.

Change-Id: Iae0130e946d02cdacfec986770ef25b3d6b57aa4
CRs-Fixed: 2859665
2021-02-02 01:03:58 -08:00
gaurank kathpalia
bd8eeecda6 qcacmn: Add missing params for the fils connection
Add missing params for the fils connection.

Change-Id: I7442670c30d7ddee201c2bc328372513302f971d
CRs-Fixed: 2857905
2021-01-21 17:04:45 -08:00
Santosh Anbu
6cc0d45bfd qcacmn: Fix connect resp struct params
Fix connect resp params.
-- Fix length of the assoc req and assoc resp
-- Remove unused params from connect resp

Change-Id: I992b1bf1037bb4a09ecd37501420168c29de8187
CRs-Fixed: 2857372
2021-01-21 03:43:40 -08:00
Himanshu Batra
6e59547918 Revert "qcacmn: Fix connect resp struct params"
Revert "qcacmn: Fix connect resp struct params"

Change-Id: Ib2149f33c9faddd4194644033b61144a3043d21c
2021-01-18 23:52:12 -08:00
gaurank kathpalia
9b7a248d36 qcacmn: Fix connect resp struct params
Fix connect resp params.
-- Fix length of the assoc req and assoc resp
-- Remove unused params from connect resp

Change-Id: I9ae7f4f155e16cd45dad2c99cc471773c9f12b84
CRs-Fixed: 2852445
2021-01-15 01:58:51 -08:00
Santosh Anbu
45a300ce7b qcacmn: Support roaming request to connection manager
Add change to support roaming request to connection manager.

Change-Id: I7f580e042522a245fc6a263d0e8f8b32b2f693f7
CRs-Fixed: 2845076
2021-01-11 01:52:47 -08:00
Abhishek Singh
a945925ad3 qcacmn: Add APIs to check roam substate state in connection manager
Add APIs to check roam substate state in connection manager.

Change-Id: I1c91e4e0bcb971d66bdf5d44af96d4049f991dfd
CRs-Fixed: 2847369
2021-01-05 22:34:30 -08:00
Ashish Kumar Dhanotiya
35998406e0 qcacmn: Allow 6GHz AP for WPS
With current implementation host does not allow
6GHz AP for WPS security, add a change to allow 6GHz AP for WPS.

Change-Id: I9e330f2984a716bb56e47313b65eedb4a1a0e216
CRs-Fixed: 2814259
2020-12-21 20:55:23 -08:00
Himanshu Batra
70fc6c603c qcacmn: Support connect/disconnect request due to cfg change
Add enum to indicate the connect or disconnect request initiated
due to a config change.

Change-Id: I68e058f37f00b548076874c97903dc78d4f4cb25
CRs-Fixed: 2826533
2020-12-11 03:35:43 -08:00
Vivek
c528ee61e6 qcacmn: Add API for max connect timeout
Add API for max connect timeout

CRs-Fixed: 2835411
Change-Id: I08e488963df9fae591ab0d8f36283b05cb2d5e08
2020-12-10 23:34:58 -08:00
Vivek
711c3d47cc qcacmn: Add new CM APIs
Add the following new API for the connection manager
to get the active request type, active connect request,
active disconnect request

wlan_cm_get_active_req_type
wlan_cm_get_active_connect_req
wlan_cm_get_active_disconnect_req

CRs-Fixed: 2821225
Change-Id: I8b2a2edfafe09c5642c376f45d4b2ae349145dbf
2020-12-10 03:45:03 -08:00
gaurank kathpalia
80cf078dab qcacmn: Overide blacklist and connect to AP
Currently the connection manager queries the
blacklist manager about the action to be taken
and if all the candidates of a certain SSID are
blacklisted then the connection would be rejected.
There are various types of blacklisting, some
can be overridden and some have to be strictly
followed.

Fix is to overide the blacklist candidate and
connect to it if no other candidates are suitable
for connection.

Change-Id: I84358df5f94d4c82989bf81412355f312320dc0b
Crs-Fixed: 2825519
2020-12-09 21:56:13 -08:00
Himanshu Batra
27378433c5 qcacmn: Add public API to print CM state history
Add public API to print CM state history

Change-Id: Iab079eeb1e4f4a2a256e8e0721db415e539523eb
2020-12-07 09:05:36 -08:00
gaurank kathpalia
7a2fd984a7 qcacmn: Fix unused params in 6Ghz security check APIs
Remove few unused params in 6Ghz security check APIs.

Change-Id: I2b88b72d18145d7b537520c30e499ba40c86f5f3
CRs-Fixed: 2820363
2020-11-18 03:38:13 -08:00
Abhishek Singh
1853c161d2 qcacmn: Add logic to ignore 6Ghz AP if security is not valid
Add logic to
- Check if connect req freq is 6Ghz and security
  is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
  for 6Ghz

Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.

Add added user config check_6Ghz_security to enable
security checks as per spec.

Change-Id: I37518731faa4de67a49853e5ac544efa3b3ce1d6
CRs-Fixed: 2813013
2020-11-12 03:28:37 -08:00
Santosh Anbu
a958936486 qcacmn: Set bssid hint config in INI/CFG
Add change to enable bssid hint scoring for candidate selection in
connection manager.

Change-Id: I40a120781c93bf8fb09ec9591a94ee1484bb1a0c
CRs-Fixed: 2801397
2020-11-08 22:53:17 -08:00
Ashish Kumar Dhanotiya
3faf318e8c qcacmn: Add a check for vdev with bssid mac
There is a possibility that driver already has a vdev
with the mac address same as bssid, in this case sta
should not connect to this AP as it may lead to undefined
behavior.

To address above issue add a check to compare bssid with
already existing vdevs before connect start.

Along with above changes add few renaming changes also.

Change-Id: Ia12be0b392a01bf935b5261e505290064de68805
CRs-Fixed: 2809147
2020-11-04 17:02:00 -08:00
Jianmin Zhu
66fcfe0178 qcacmn: Select candidate by ETP when connect
If ini vendor_roam_score_algorithm=1, for initial connect, select
candidate by estimated throughput(ETP). Calculate ETP of all
bssid of ssid selected by high layer, and try to connect AP by
order of ETP, legacy algorithm with following Parameters/Weightage
becomes useless. ETP should be [1Mbps, 20000Mbps],matches score
range: [1, 20000].
Add 11ax support besides 11ac/11abgn.

Change-Id: I3f55d2ae37801128b8a66f6d5c2ac55cb11a56d0
CRs-Fixed: 2704154
2020-11-03 08:35:29 -08:00
gaurank kathpalia
b8b58d8d12 qcacmn: Move disconnect wait logic from osif to connection mgr
Move disconnect wait logic from osif to connection mgr, so that
MLO/IF manager can use the wait logic for disconnect
during vdev delete.

Change-Id: Ied2bbcfd6a532209f8008499424f94acc41efc0e
CRs-Fixed: 2800990
2020-10-29 17:51:00 -07:00
gaurank kathpalia
abb7d72f97 qcacmn: Fix params passed in vdev connect req
Fix params passed in vdev connect req and fix compilation issues.

Change-Id: I8d19c92f6768d1b2c0cdfd7997ba509a8ab87794
CRs-Fixed: 2806867
2020-10-29 15:41:51 -07:00
gaurank kathpalia
341f2d3643 qcacmn: Fix compilation issues in connection manager
Fix compilation issues in connection manager.

Change-Id: I5cde57a97fedca06c5f953e550ccbce7890d61f1
CRs-Fixed: 2801018
2020-10-20 08:55:57 -07:00
Abhishek Singh
2e046c6e96 qcacmn: Add params in connect req to pass non converged params
Add connect params in osif connect request to pass scan IE and other
params from legacy to be used in connect request.

Change-Id: I83721023362ff2405727316f090671468200b362
CRs-Fixed: 2793280
2020-10-14 01:17:12 -07:00
gaurank kathpalia
e2ec5b2d46 qcacmn: Update vdev crypto params from connect request
Update vdev crypto params from the connect request.

Change-Id: I007547196ecf24992bc4cca51fce9f3e85f8099c
CRs-Fixed: 2787324
2020-10-07 12:49:03 -07:00