Grafico dei commit

249 Commit

Autore SHA1 Messaggio Data
Paul Zhang
ca6152167b qcacmn: Support 11d for non-offload platform
Support 11d for non-offload platform by maintaining
count of beacons encountered for each country code
and choosing country code with max votes as device's
country code.

Change-Id: I83b66e980854eded17e254386561fa32b1f8c4ac
CRs-Fixed: 2154048
2018-02-08 21:37:37 -08:00
Om Prakash Tripathi
7dd49fec17 qcacmn: scan all channels in A/G if 0 channels provided
When wide band scan is enabled, host configures all possible
channels with all possible phy modes. In his case if a scan
is invoked with 0 channels, target will end up scanning each
channel with all possible phy modes which increases scan time
exponentially.
If wide band scan is enabled and scan is issues with 0 channels,
configure target to scan all available channels only in 11A/11G mode.

Change-Id: I7c678ccf43c3238aacbfc59cc7e7bd19763453cc
CRs-Fixed: 2165025
2018-02-07 03:07:47 -08:00
Abhishek Singh
c05285da8a qcacmn: Fix RSSI for the beacon received in adjacent channnel
Due to Rx sensitivity issue, sometime beacons are seen on adjacent
channel so workaround in software is needed. If DS params or HT
info are present driver can get proper channel info from these IEs
and set channel_mismatch so that the older RSSI values are used in
new entry.

For the cases where DS params and HT info is not present, driver
needs to check below conditions to get proper channel and set
channel_mismatch so that the older RSSI values are used in
new entry:
   -- The old entry channel and new entry channel are not same
   -- RSSI is less than -80, this indicate that the signal has
       leaked in adjacent channel

Change-Id: Ie9dc26f938b58b0c5d071ce4f2ba02b8e7fd4f60
CRs-Fixed: 2180012
2018-01-31 02:05:55 -08:00
Om Prakash Tripathi
3653ab5bee qcacmn: Pass back scan start request in scan events
Pass back scan start request in scan events so that
handlers can know parameters used to start underlying scan.

Change-Id: I8ca3d55edb266677cc636228919656baa12b43d9
CRs-Fixed: 2159700
2018-01-24 12:29:42 -08:00
Abhishek Singh
ca6ca82087 qcacmn: Use default RSN IE fields if optional fields are not present
Adds logic to use default RSN IE fields if optional fields are not
present in IE. So if RSN IE doesn't contain AKM, group and unicast
cipher, use the default AKM(AKM_IEEE8021X) and cipher (CCMP).

Change-Id: Icabfb8b88b294e935908b249462a61124aa76268
CRs-Fixed: 2164531
2018-01-16 00:24:41 -08:00
gaurank kathpalia
7c6b803c4f qcacmn: Add variable to enable scoring result filter on scan results
Add bss_scoring_required in scan filter to enable/disable
scan results filtering based on scoring

Change-Id: I6c2c08a1cd959f1586e3e5bb7b63665f04c3a856
CRs-Fixed: 2165465
2018-01-08 18:28:42 -08:00
Sandeep Puligilla
c6764593d5 qcacmn: Extend beacon parse util functionality
Beacon parse util API currently returns only one
scan cache entry to the caller.

Extended the beacon parse api to return list of
scan cache entries in scenarios like mbssid

Change-Id: Ia362cda4fdbc9955966696484869fee6ac2d0a22
CRs-Fixed: 2154753
2017-12-22 09:26:16 -08:00
Yeshwanth Sriram Guntuka
b9e2f66377 qcacmn: Set passive dwell time
Set passive dwell time to 28msecs for active
scan when bt a2dp is enabled and hw is not dbs
capable and when sta is connected on 2G band.

Change-Id: I44f2e3d98f2d7ddc52e4902ba989131c256da4ef
CRs-Fixed: 2160963
2017-12-21 05:26:49 -08:00
Paul Zhang
8b7ea68fc0 qcacmn: Do sanity check of requester ID
If the requester id is 0 or other invalid values,
the function scm_scan_get_requester_event_handler
will get unexpected handler.

Change-Id: I505e2e1a1bdc9cec57aaa0c28abadf28d228ba5b
CRs-Fixed: 2147555
2017-12-16 14:08:10 -08:00
Om Prakash Tripathi
8509483038 qcacmn: Add option to wait for target scan cancel
Current scan cancel API frees scan request and notifies internal
scan complete event to registered scan event handlers.
Add option to wait for target scan cancel event before freeing
scan request.

Change-Id: I9ccd753595b3467f6b4e668e9cac876a1105bba0
CRs-Fixed: 2145484
2017-12-15 21:25:19 -08:00
Abhishek Singh
3f11bd6b0a qcacmn: Add logic to logically delete the scan cache node
When a beacon/probe resp is received the scan cache delete the
old node (N1) and adds a new node(N2) at the end of the list, If any
other process is using old node (N1), for some amount of time driver
will have 2 entry for the same AP. Now if driver again receive a
beacon/probe resp during this time, it end up deleting the older node
(N1) Again and thus making its ref count 0 and freeing it, even when
the process using old node (N1) hasnt freed it.

To fix this add a active state to the scan node, and mark it inactive
or logically delete the node as soon its deleted from ageout, entry update
or flush logic. Also do not use the inactive or logically deleted node
for any new operation. For this add a logic to return only active nodes in
scm_get_next_node.

CRs-Fixed: 2155538
Change-Id: I186d3a0b0540f0b572735e1d95239ddcd8c9bdc9
2017-12-13 05:40:22 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Abhishek Singh
f95b9e4248 qcacmn: Add wait for cancel scan on pdev and vdev
Add cancel scan sync api which will wait for scan to be aborted on
pdev or vdev.

Change-Id: Ie02eb981154856cda38ef70f42fdfcf82bb88961
CRs-Fixed: 2038092
2017-05-11 02:13:25 -07:00
Krishna Kumaar Natarajan
7726378826 qcacmn: Update roaming candidate selection logic
Update roaming candidate selection logic to add weightage to 11ax
AP.

Change-Id: I7ae6702095d6da8e302e35577f5e4697b5e06d3a
CRs-Fixed: 2037840
2017-05-01 09:20:23 -07:00
Venkateswara Swamy Bandaru
851184b0e4 qcacmn: Add support to extract SRP IE in beacon
Added support to extract spatial reuse parameter IE in beacon receive.

Change-Id: Ia7ce2a58ae8b65cddd9b3f8d969bd95b459aab3e
CRs-Fixed: 2033106
2017-04-25 15:00:34 -07:00
Abhishek Singh
6e7489e3e8 qcacmn: Move user configured params from scan filter to scan params
Some user configured params are passed in filter during scan request.
Added them in scan defaults params and update them from user config.
Also use these params from scan def params instead of filters.

Change-Id: Ice2817c2f135289d7a3dbfa94c9c06263473ce2d
CRs-Fixed: 1095299
2017-04-25 13:02:22 -07:00
Om Prakash Tripathi
0078b78f06 qcacmn: add set/get APIs for max active scans
Add set/get API for max parallel active scans supported.
Max active scans allowed is set from ext service ready event
handler(8 as of now). Once FW announces this capability, FW
announce value must be used instead of hardcoded value 8.

Change-Id: I2af3a34c9f55f92c47aebbd12838a8d8fc6e3ba7
CRs-Fixed: 1095299
2017-04-25 13:02:21 -07:00
Om Prakash Tripathi
cdcbb39764 qcacmn: update average rssi in scan entry
If elapsed time since last rssi update for a particular
scan entry is smaller than a thresold, calculate a
running average of the RSSI values. Otherwise last RSSI
is more representive of the signal strength.

Change-Id: I4cbecc8b6bfbb73c272544114b063b25c26e14fe
CRs-Fixed: 1095299
2017-04-25 11:01:06 -07:00
Kapil Gupta
a6e44ca3bd qcacmn: Initialize scan_f_chan_stat_evnt from configuration
Currently driver is not initialize scan_f_chan_stat_evnt from
the configuration file which causes WMI_SCAN_CHAN_STAT_EVENT
to be always not included in the scan flag.

Add changes to initialize scan_f_chan_stat_evnt based on
ini configuration.

Change-Id: If6ea1d5c4efcc6d934daf00b537f25f0727ee55b
CRs-Fixed: 2031301
2017-04-11 11:46:29 -07:00
Abhishek Singh
8c6e82d763 qcacmn: Add PNO changes for converged scan
Adds PNO related changes for converged scan

Change-Id: Ia18e48645d511134698777b334348d68daf2dbee
CRs-Fixed: 1095299
2017-04-11 11:04:33 -07:00
Om Prakash Tripathi
d088a8a19e qcacmn: change scan API to pass pdev insted of vdev
Few components don't have vdev object but still they want to
receive scan envents on underlying pdev.
Change ucfg_scan_register_event_handler and
ucfg_scan_unregister_event_handler to accept pdev instead of vdev.

Change-Id: I5a7ea78b1470b89637d418de6b984e5d20007c9c
CRs-Fixed: 1095299
2017-04-11 11:04:18 -07:00
Abhishek Singh
2f1324678d qcacmn: Add support to update user defined scan params
Add support to update the user defined scan params values.

Change-Id: I8a971b0fa0d119f58e3143ca6be9c5ea4ee47f52
CRs-Fixed: 1095299
2017-03-15 04:26:41 -07:00
Abhishek Singh
f9297e523b qcacmn: Add changes in scan req to support P2P search scan
Add changes to support P2P search using new scan module.
To support p2p search added vdev id and Broadcast mac address
in scan req also enable flags depending on scan req type.

Change-Id: I597f9f353da1b8b129f0ee16cd8eb7b7bbad2625
CRs-Fixed: 1095299
2017-03-10 04:27:24 -08:00
Abhishek Singh
f94beaad36 qcacmn: scan convergence - add target if changes
Add target if related changes for scan module.

Change-Id: Icaf6a30790106fec30ba9dccc9036be079a8bc0d
CRs-Fixed: 1095299
2017-03-08 14:27:26 -08:00
Abhishek Singh
e5f3f0f10e qcacmn: Add 11ax related elements to common scan code
Add 11ax related elements, HECAP and HEOPS IE to common scan code.

Change-Id: Ic4413430e8183a1e41b53999746609f047caa374
CRs-Fixed: 1095299
2017-03-08 14:27:25 -08:00
Abhishek Singh
4caf1a9af4 qcacmn: Add scan database init and deinit changes
Add changes to initialize and de-initialize the scan database.
Also registers callback to TXRX module to handle
beacon and probe resp and convert it to scan entry.

Change-Id: Ic55e4fc6dc1b23bdf50165aea219e112dcad676d
CRs-Fixed: 1095299
2017-02-28 12:05:43 -08:00
Om Prakash Tripathi
22f95dcc59 qcacmn: scan convergence - interface definition
Add north interface, south interface and offload interface
API definitions

Change-Id: Iccae20d266e7248088241416730d9ea317c3f77b
CRs-Fixed: 1095299
2017-02-28 12:00:50 -08:00
Om Prakash Tripathi
7e3f45da3c qcacmn: scan convergence - initial set of files
Add initial set of scan files, structure definitions
and API proto type.

Change-Id: Ibfaef8bb09d51e12bde773fcea69e273eff3bb41
CRs-Fixed: 1095299
2017-02-20 01:03:21 -08:00