Commit Graph

180 Commits

Author SHA1 Message Date
Abhishek Singh
bcec8a775d qcacmn: Split the filter and bss score logics in different files
Split the filter and bss score logics in different files

Change-Id: Ic346ac7758ec6bbc1b62cda067f9e0bd4d0fcadc
CRs-Fixed: 2148889
2017-12-06 21:27:14 -08:00
Dustin Brown
c2fa95196d qcacmn: Abort scan cancel upon failure to get vdev ref
ucfg_scan_cancel currently grabs a vdev reference unconditionally. This
opens the possibility of operating on a destroyed vdev. Instead, try to
get a vdev reference, and abort the scan cancel operation if a reference
cannot be obtained.

Change-Id: I6380775c6cd09920ad70feed0ec67e4c85ba890d
CRs-Fixed: 2149645
2017-11-30 19:38:14 -08:00
Abhishek Singh
7b59903d41 qcacmn: Update new scoring logic with configurable user value
Adds new scoring logic with configurable user value

Change-Id: Ie8c051a3f380930d8a7951617b27aa8f8187619b
CRs-Fixed: 2144588
2017-11-24 03:21:56 -08:00
Padma, Santhosh Kumar
bc6003b78f qcacmn: Fix PMF check
Currently driver assigns WLAN_PMF_REQUIRED to AP pmf capability
even if rsn capability do not matches with RSN_CAP_MFP_REQUIRED.
Add check for rsn capability against RSN_CAP_MFP_REQUIRED to fix
this issue.

Change-Id: Iff51090c9a65fd7c0d45048b73c5383d56bb13a5
CRs-Fixed: 2146881
2017-11-23 17:19:42 -08:00
Padma, Santhosh Kumar
b5088bf0b8 qcacmn: Add OWE AKM in umac component
Add support for OWE AKM in UMAC component.

Change-Id: I37ffc36207ca128373a5e0c451e9311aa50387d2
CRs-Fixed: 2148452
2017-11-23 15:31:15 -08:00
Om Prakash Tripathi
3e166ff7e4 qcacmn: Add support for wide band scan
Add support for 40 MHz or wider channel bandwidth scan

Change-Id: I72f3cf42e6dc957ef56842d0c333c62169cb6d68
CRs-Fixed: 2139415
2017-11-10 17:41:00 -08:00
Abhishek Singh
a0f242168c qcacmn: Changes to support DPP AKM
Adds cmn changes to support and parse AKM required for DPP.

Change-Id: I8efd4075f2c62500dbe11c2a6847f2dab2f31b34
CRs-Fixed: 2138461
2017-11-08 21:57:29 -08:00
Kiran Kumar Lokere
584e6617ca qcacmn: Enable scan mac randomization if user cfg is set
Enable scan randomization only if gEnableMacAddrSpoof
configuration is enabled

Change-Id: I1b9accb7fe1049ee6c5dda2a4f5920c0908196ff
CRs-Fixed: 2104796
2017-11-01 14:39:19 -07:00
Ganesh Kondabattini
948539c1d3 qcacmn: Go for DBS scan if atleast one session is connected
In coex mode, BT throughput test cases are getting effected as
driver is selecting non-DBS scan policy for directed scan requests.
FW is going to use only one MAC for scan when performing non-DBS
scan which inturn increases the total scan duration.
This increase in total scan duration has effect on BT throughput
test cases.

Select DBS scan policy if atleast one session is in connected
state.

CRs-Fixed: 2084608
Change-Id: I6fba26accbaed4d57c6c56a782e570b534af43c4
2017-10-29 07:25:15 -07:00
Ganesh Kondabattini
ef8506f32a qcacmn: check for directed SSID and BSSID
Update dbs scan policy as HDD_SCAN_DBS_POLICY_FORCE_NONDBS if
the scan request is for directed SSID or directed BSSID.

CRs-Fixed: 2084612
Change-Id: I9d720770e2e364ca5cb01bb5fe137f7248593398
2017-10-29 07:25:13 -07:00
Kiran Kumar Lokere
c55ea47249 qcacmn: Add knobs to configure the scan paramters
Add user configuration parameters to configure the number of
probes in scan request and probe repeate time during scan

Change-Id: I65a3734d8080d8adfe3e9ffa26905e6adc196197
CRs-Fixed: 2071697
2017-10-27 13:33:00 -07:00
Frank Liu
e72a02d4e7 qcacmn: fix FT_PSK connection failure
For FT_PSK connection, we use WLAN_AKM_FT_IEEE8021X to make the
security match which causes can't find the candidate AP, the fix
is to use WLAN_AKM_FT_PSK instead.

Change-Id: Ic11fa8e47ccee04621e3bb9491f138c425c91cee
CRs-Fixed: 2131598
2017-10-26 23:48:07 -07:00
Abhishek Singh
358312c3da qcacmn: Update Scan_ctrl_flags_ext flag on passive scan
For passive scan host expects dpp public action frames which
are broadcast. So set 3rd bit of scan_ctrl_flags_ext to 1, so
that firmware sends these frames to host upon passive scan.

Change-Id: I7ab70ef92d9226fc265e99f3d1196c5ebae6acb4
CRs-Fixed: 2124683
2017-10-23 08:06:26 -07:00
Abhishek Singh
65c4be7ef3 qcacmn: Add support to enable/disable scans
Adds support to enable/disable scans for the psoc.
Also adds API to set and get the scan enable/disable status.

Change-Id: I2ebb6f9c7fffabef90e9f8c461bdf735e95f0db3
CRs-Fixed: 2124783
2017-10-23 03:42:51 -07:00
Sathyanarayanan
0a00062f58 qcacmn: Fix MIPS regression
Change-Id: I34d30e097cfedef9b805d3e97cd256da232b1e28
CRs-Fixed: 2123844
2017-10-12 14:22:39 -07:00
Himanshu Agarwal
99881a9668 qcacmn: WMI changes to send BSS scoring params from INI to firmware
Add support to send BSS scoring params from INI to firmware.
Firmware will use these params to select best candidate during
roaming.

Change-Id: Iad0e71c770ac4f4c31ce3b19552f09fd27dc37bf
CRs-Fixed: 2121739
2017-10-12 14:22:36 -07:00
Om Prakash Tripathi
cc9b3a4856 qcacmn: Drop scan events if scan req not in active queue
Host driver forece fully frees scan requests in below cases:
1. vdev being deleted
2. command timed out
In above cases scan request is freed and scan module
posts scan cancelled event internally to registered handlers.
Drop any event received after scan is cancelled.

Change-Id: Id66b6cc6a400916af9bfaf0c09dbb92d7f27db4e
CRs-Fixed: 2123090
2017-10-12 14:22:16 -07:00
Manjeet Singh
c73cd7db11 qcacmn: Follow spec for NL80211_CMD_START_SCHED_SCAN
qcacld-2.0 to qca-wifi-host-cmn propagation

If no SSID are passed to NL80211_CMD_START_SCHED_SCAN cmd,
interface spec requires that an active scan is not needed.
Therefore a passive scan is now requested by cfg80211_sched_scan_request
for this case.

Change-Id: I1b1b9232ffb9d8d5c0bc9a1d75145d39c9fe9e6b
CRs-Fixed: 902092
2017-10-12 14:22:11 -07:00
Jeff Johnson
878533e29b qcacmn: umac: Replace instances of unadorned %p
Replace instances of unadorned %p in umac.

Change-Id: I7ae33c51405b31df24670dee3c98b6b4f1da9ab4
CRs-Fixed: 2111274
2017-10-03 16:02:30 -07:00
Abhishek Singh
b80af7e971 qcacmn: Select best candidate at first connection
Best candidate at first connection is a mechanism
to select best possible candidate for making Wi-Fi
connection based on the scan results provided.
Driver use Scan results to calculate score for each
BSS and select the best candidate to connect.

This enhances the user experience by connection
to better AP, based on certain parameters.

Change-Id: Iebb4ce009b23cae8ad7cbff83628e01633bbf3fe
CRs-Fixed: 2018585
2017-10-03 05:36:13 -07:00
Edayilliam Jayadev
4366deab01 qcacmn: Enable chan stat event by default for WIN
CRs-Fixed: 2114541
Change-Id: I38f022f7af1ac4dfb6c87f3a9b056495bfc16e83
2017-09-28 04:48:02 -07:00
Varun Reddy Yeturu
f56e59833c qcacmn: Configure MAWC NLO parameters from host to firmware
Get the MAWC based NLO parameters from HDD/UMAC and pass them to
firmware via target/if

Change-Id: I76d7c8677ee73f9a3c54b7af4943b74a6b23323d
CRs-Fixed: 2064837
2017-09-18 19:38:22 -07:00
Om Prakash Tripathi
1d1525db36 qcacmn: Add API to check if scan entry is from hidden AP
Add API to check if scan entry is for a hidden AP.

Change-Id: I51115eb1601754d3d920029687ab6211b351c48a
CRs-Fixed: 2106447
2017-09-18 03:31:37 -07:00
Sreelakshmi Konamki
77dd1efb64 qcacmn: Add support for PNO scan in connected state
qcacld-2.0 to qcacmn propagation

Add changes to support PNO scan in connected state to find better Ap's
based on rssi threshold, band and rssi preference.

Change-Id: I0744297cc5269f0fe37613247c911102e293d8e9
CRs-Fixed: 2000342
2017-09-08 15:46:55 -07:00
Shashikala Prabhu
76192e12a9 qcacmn: Register a DFS callback function to get AP CAC status
In Repeater AP scenario, when STA vap starts scan, it calls this
registered DFS callback function to get the AP CAC status. If the
AP vap is performing CAC, STA vap does not start SCAN.

Change-Id: Ifa3ad0298f1b04f3fffc915f20ff81ec0cc731bf
CRs-Fixed: 2096259
2017-09-02 00:17:42 -07:00
Sathish Kumar
7f9408bacc qcacmn: Add timestamp param and enable foreign channel exit in scan event
Add timestamp parameter in scan event received from FW to aid
in calculating dwell time and overall channel switch time in
off-channel operations.

Enable foreign channel exit event inorder to be notified
by FW through the scan event.

Change-Id: I4ba028756ee7db35f6528c0554b09c73087184a7
CRs-Fixed: 2056330
2017-08-31 00:20:20 -07:00
Abhishek Singh
7d30bf7ecb qcacmn: Use min rest time same as max rest time in SAP+STA case
In SAP+STA case the min rest time is 50 and thus during scan
possibility increases that the device is not present in base channel
during the time of beacon transmission and thus beacons are not
transmitted.

Thus if SAP is present the min rest time should be 100ms
max rest time), so that during scan device can come to base channel
and transmit beacons.

Change-Id: I6fa2ee57771d093fce7d63089797528f8f4bc409
CRs-Fixed: 2079803
2017-08-30 22:47:59 -07:00
Vishwajith Upendra
e098ebd3e0 qcacmn: FILS changes for scan path
Add changes to match FILS realm info present in FILS indication IE
with the connection info.

Change-Id: I1ed6081f3320ecee8f86f7d87597b343230923b3
CRs-Fixed: 2093637
2017-08-29 20:54:08 -07:00
Om Prakash Tripathi
6af738bb71 qcacmn: Init average rssi with frames rssi on receipt
Initialize average rssi with instantaneous rssi in
util_scan_unpack_beacon_frame intead of marking it as
DUMMY.

Change-Id: Ie2fd577feeb46d61915c6974d8c627acb31e8b81
CRs-Fixed: 2096979
2017-08-25 23:27:37 -07:00
Varun Reddy Yeturu
34a374603c qcacmn: Configure MAWC NLO parameters to the firmware
Get the MAWC based NLO parameters from HDD/WMA and pass them
to firmware

Change-Id: I16ce12d36df7f3ccab4db32b4d7f72a0f9762795
CRs-Fixed: 2064837
2017-08-25 18:46:30 -07:00
Gyanranjan Hazarika
b5d426d683 qcacmn: D1.3 support - Code changes for Ie-Id, Length and IE-Id Ext
D1.3 defines the IE Id, Length and IE ID Extension for HE CAP and HE OP.
Host changes to accommodate them.

Change-Id: Idc3848b5486d05807cdc2ca3fb45ac493243558e
CRs-fixed: 2095550
2017-08-25 16:46:27 -07:00
Tushnim Bhattacharyya
3441a08f56 qcacmn: Expand the use of gDualMacFeatureDisable INI
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.

Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
2017-08-22 08:40:53 -07:00
Rajeev Kumar Sirasanagandla
a3f4a29130 qcacmn: Add support to include selective scan IEs only
qcacld-2.0 to qcacmn propagation

Add support to include only selective IEs in probe requests in
order to improve user's privacy.

Change-Id: I59cf4181f60f5b4cd87a32fbcf29160d87ca59c8
CRs-Fixed: 1105495
2017-08-19 01:27:07 -07:00
Mukul Sharma
a17d5ecbf4 qcacmn: Add support of GCMP (128/256) support
Add support of GCMP (128/256) security ciper support.

Change-Id: I3c9cb3dc72cce0a2cae3e468d3c1f3c004e11adf
CRs-fixed: 2071087
2017-08-18 18:27:37 -07:00
Rajeev Kumar Sirasanagandla
d8d18f187a qcacmn: Add support to randomize probe req SA and Seq number
qcacld-2.0 to qcacmn propagation

Randomize probe request's source address and sequence number to
improve user's privacy.

Change-Id: I265f15476f1a23a268f159a44b6a3e4243fb9068
CRs-Fixed: 1105081
2017-08-14 20:07:22 -07:00
Om Prakash Tripathi
c3fcb680f1 qcacmn: Add support to update mlme info in scan db
Add missing support to update mlme related info in scan db

Change-Id: Ib69a07012536b9b423992f5f4199925febabcb91
CRs-Fixed: 2086351
2017-08-11 06:40:07 -07:00
Tushnim Bhattacharyya
b566893775 qcacmn: Add scan_ctrl_flags_ext to scan command
This change adds scan_ctrl_flags_ext to scan command
to support DBS Scan selection policy, adding policy
manager logic conditionally.

Change-Id: I424e107aac67fa5bac8ff72b023a5fe8c7e89bbc
CRs-Fixed: 2061031
2017-08-08 12:06:09 -07:00
Om Prakash Tripathi
51052df409 qcacmn: Fix average RSSI calculation of scan entries
Average RSSI calculation was incorrect as previous average was
not considered. Consider previous average along with new frames
raw RSSI while calculating average RSSI.

Change-Id: I529802baaf296fc1378a1e89fc0ac00dcc8336da
CRs-Fixed: 2087711
2017-08-06 19:45:59 -07:00
Ganesh Kondabattini
db183ccb8c qcacmn: Add scan_ctrl_flags_ext to scan command
This change adds scan_ctrl_flags_ext to scan command
to support DBS Scan selection policy.

Change-Id: I71727259c0b5984cfc8fd6157ed0066d3cd9b193
CRs-Fixed: 2061031
2017-08-06 14:48:06 -07:00
Kapil Gupta
de02d4f62b qcacmn: FILS indication IE changes
Add changes to add FILS indication info element in scan result.

Change-Id: I341c30fe23ac8bfe518752d783d23094cbc2ac98
CRs-Fixed: 2068436
2017-07-18 23:35:06 -07:00
Varun Reddy Yeturu
3c38ca8bcf qcacmn: Increase scan ageing init value for emulation
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the initializer
SCAN_CACHE_AGING_TIME

Change-Id: I0131ab601de9c86b89449bddd721ac857862a5b5
CRs-Fixed: 2072461
2017-07-08 23:41:12 -07:00
Vivek
b02a649f89 qcacmn: Remove vdev/peer locks for trivial APIs
Remove vdev/peer locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5
CRs-Fixed: 2060880
2017-06-26 23:32:22 -07:00
Vivek
5ec0bd3636 qcacmn: Remove psoc/pdev locks for trivial APIs
Remove psoc/pdev locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.

Change-Id: Ib5769c2234c8d57f485c0eef5a4e3c61fa170508
CRs-Fixed: 2060880
2017-06-26 23:32:19 -07:00
Om Prakash Tripathi
4fa65d80b7 qcacmn: increase scan cache size to 1024 for WIN
Change-Id: I3798c5927ea557cb51c569aa41452b37acf1bc53
CRs-Fixed: 2065195
2017-06-23 07:42:01 -07:00
Abhishek Singh
af7e092d9a qcacmn: Fix connection failure with WEP AP
If AP was configured in WEP mode the scan module is not able to filter
the AP and thus connection fails.

Fix the logic due to which the AP was not filtered.

Change-Id: I03ee702875e867986e4bae635269a844914c8043
CRs-Fixed: 2057585
2017-06-19 00:45:55 -07:00
Nitesh Shah
b256bb0e81 qcacmn: Add support to send DBS Scan command to firmware
This change adds support to send the DBS Scan command to
the firmware.

Change-Id: I147855690f09af03a43f85f2e57626d7f73998de
CRs-Fixed: 2029402
2017-06-14 08:23:51 -07:00
Om Prakash Tripathi
62d0380257 qcacmn: Add flush callback for scan module
Components are required to provide flush callback to scheduler which
gets invoked for all pending commands in scheduler queue when scheduler
thread is going down.
Added flush callback for scan so that command cleanup can be done.

Change-Id: I990a5e14db1498e13a2eeeaa605b44593b8442f1
CRs-Fixed: 2056542
2017-06-10 23:00:27 -07:00
Dustin Brown
f3351d97d7 qcacmn: Expose scan_backoff_multiplier for NLO/PNO
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.

Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
2017-06-09 21:36:26 -07:00
Sandeep Puligilla
d9ac9a2abe qcacmn: Increase scan cancel sync time
Scan command timeout value is 30secs and scan
cancel sync waiting time is 5sec due to this
in failure scenario scan timeout callback is
getting triggered very late and causing crash
in HDD.

Increase scan cancel sync timeout value equal to
scan command timeout value.

Change-Id: I7b98d26ac5d97039714a431030e47c463d3a670e
CRs-Fixed: 2048167
2017-06-06 10:26:18 -07:00
Abhishek Singh
9f6058d24d qcacmn: Add support for PMO suspend and resume scan API
Register PMO suspend and resume scan API. In suspend API, abort
all pending scans.

Change-Id: Iec03383a958f1bf93d77a86c351532270c7fdcb8
CRs-Fixed: 2038163
2017-05-19 13:51:42 -07:00