Add ini parameters to control the scan burst duration in STA, SAP
and GO cases.
Change-Id: Ib9f0cdae660b6d425887fefebf9e64f9ac977593
CRs-Fixed: 2398746
Refactor the below ini item to new converged cfg/ini
infrastructure:
CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME
CFG_ADAPTIVE_EXTSCAN_DWELL_MODE_NAME - move this to scm module
Change-Id: I2980b2f3f1f451c99ceb19df87fd254a0c919c9b
CRs-Fixed: 2394241
In driver there is no debug info printed in case a scan filter
fails to match the BSS even when SSID and BSSID match for the BSS.
Thus add debug info for the cases where the BSS is rejected due
to blacklist, security profile mismatch etc.
Change-Id: I8218f4fe1a64803dc4641be9b66e58301bd6b15b
CRs-Fixed: 2395356
Move all the PNO related structures and CFG items under
compile time flag "FEATURE_WLAN_SCAN_PNO"
Change-Id: I0decb3e0a7cf009ce18ef08eae05734962f6f8c7
CRs-Fixed: 2382997
Refactor the following scan related ini items to scan module:
CFG_ENABLE_MAC_ADDR_SPOOFING - ini to enable/disable scan mac
randomization
CFG_SCAN_AGING_TIME - configure scan entries aging time.
Previously these values are populated in hdd and passed to
scan module through ucfg_scan_update_user_config() function.
With new cfg infra, the scan module can directly get these
values from cfg component.
Change-Id: I0dcbd8253ae46387dd44e68c86f0622f279ba501
CRs-Fixed: 2378985
Do not call regdb core functions from other components directly.
Instead, call regdb dispatcher functions.
Also, wlan_objmgr_vdev_obj.h file is removed from reg_services.h file in
Ie43acc03a5c35200f3e43bc978b792d5047eeb77 and reg_services.h is removed
from wlan_reg_services_api.h in I891b14fac7a4eddf2697d2ecdc0ac4a82046f532.
Therefore to fix "'struct wlan_channel' declared inside parameter list"
error in wlan_dfs_utils_api.h file, I have included wlan_objmgr_vdev_obj.h
file before wlan_dfs_utils_api.h in scan, dfs and wmi component.
Change-Id: Id8816f5137c3b1f9200c59fc3f9041980631f22f
CRs-Fixed: 2349173
Acquire wakelock to handle the case where APP's send
scan to connect. If suspend is received during scan, scan will be
aborted and APP will not get scan result and will not connect.
eg if PNO is implemented in framework.
Fix is to avoid the system suspend by taking the wake-lock
during scan. Added INI wake_lock_in_user_scan to control this.
The INI is disabled by default.
Change-Id: I62fdbbcbc6f049cb4e36e774d5a417600a2dfa86
CRs-Fixed: 2381622
Refactor the prints for rx management frames. Do not print beacon,
probe resp and probe req frames in txrx module.
Also remove the beacon print from wlan_cfg80211_inform_bss_frame.
Change-Id: I1dbfcec1614b9465d97c010fa4c386f3a1612f5f
CRs-Fixed: 2381796
Currently the driver includes all the DFS channels as part of scan
in the scan list, and thus not exclude the DFS channels in the first
scan for faster scan.
Fix is to check the ini, for first DFS channel scan, and then remove
the DFS channels from the scan list if the ini is enabled.
Change-Id: I43d5c87676d4e66706da3cc0029c60559b70d179
CRs-Fixed: 2378805
Ownership of hostscan_adaptive_dwell_mode_no_conn is changed from HDD to
scan module. So scan module doesn't have to rely on HDD to obtain the
INI setting.
CRs-Fixed: 2357888
Change-Id: If3c3d93f0e1763e778eb6e3e70e23231fb01a67e
Adds support to enable/disable scan for psoc/vdev with reason,
so that multiple clients can enable/disable the scan at same time.
Scan will remain disabled till all clients enable it back.
Change-Id: I8d840b24210095accb56ac9a2697ec26e8a5eb17
CRs-Fixed: 2362093
Create ucfg apis in scan components for calling from hdd.
Move the scan apis to new file, wlan_scan_api.c
Change-Id: Iec08eddbba3066a4d781c988624d47749a75610a
CRs-Fixed: 2342892
After driver suspend some thread can still queue scan req
which will cause scan during suspend and WOW_ENABLE received
while SCAN in progress.
TO avoid this block all new scan during suspend.
Change-Id: I02ddc9b5e6ba5f1782d00e34f044ace34c54d0b0
CRs-Fixed: 2343385
Scan on STA interface is taking around 10 secs to
complete. There is a 7secs expiry time used in nl
which could result in scan results received for
the first 3secs, which are from 2G channels, to
be flushed.
Fix is to not set offchannel simultaneous feature
capability, decrease the active dwell time for 2G
channels to 40msecs and increase burst duration
to 240msecs when GO is active.
Change-Id: If014b2115048018432943d863bbe184beb498408
CRs-Fixed: 2340516
In case scan req is not serialized in some case failure callback
are not called and thus the requestor might not get this callback
and thus might not clean up its states.
Fix this by calling failure callback in case scan is not serialized.
Change-Id: Ife2f22a71fc3fcf60ef96209ec179594ab60c074
CRs-Fixed: 2343144
Last frame received in scan before the connect is
beacon with NULL ssid with non zero length and ssid
is sent as NULL to supplicant after association. This
will result in supplicant to trigger disconnect
casuing delay in reconnection.
Fix is to consider ssid with zeros or spaces as null
ssid.
Change-Id: If96776ae85926948d714e975c3e9b4011e8a20b3
CRs-Fixed: 2330485
Currently the driver calculates the nss score
based upon the max capability of the AP, and not the
hw_mde config which would be there after connection
for example, the driver calculates the score for a
2x2 11n AP, and 1x1 VHT (11ac) AP, it connects to the
11n AP in 1x1 mode, if a concurrent connection is
present, which affects throughput
Fix is to check whether the current AP channel results
in DBS or not, if yes then change the NSS to 1 instead of
2
Change-Id: I80e2af00044b760325eb1a51b09a45189d58a417
CRs-Fixed: 2271976
We are transitioning to new logging infrastructure
by using existing mtrace functionality.
Add new logging for complete scan request and response path.
Change-Id: Iac644a78ef521721d33ce7568be56b47c55fed6b
CRs-Fixed: 2308272
Drop beacon/probe frames before posting on Scan queue if the queue
already has too many beacon/probes to process.
Also add scheduler API to get the queue size given the module ID.
Change-Id: I9153c7e77e74377863774b68e8163839e992358d
CRs-Fixed: 2298584
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: I34ba6f6485f9b506264daf4e116052d2858bed40
CRs-Fixed: 2278876
Add ini item to configure active dwell time of 2.4GHz band channels,
This will help to reduce AP search failure probability & hence
connection latency in 2.4GHz band channels especially in noisy
condition by increasing active dwell time.
Change-Id: I05259a8f1fd4a5c67da42e516721a01d32fa652e
CRs-Fixed: 2283692
Repeater AP failed to associate to Root AP with
hidden ssid in DFS channel.
Normally probe request is sent in passive channels if beacon
from AP is found. With strict passive scan, probe request is
not sent in passive channels even after beacon is found in that
channel.
If AP is configured in hidden ssid, Client/STA does not get the
Probe Response and thus, no SSID information is present in the
scan table to start authentication.
To overcome this, user needs to set the desired {BSSID, SSID} pair,
Example: Desired pair = {00:03:7F:AA:BB:CC, MOON1},
so that when driver receives a beacon it compares the
BSSID and updates the SSID field to update the scan table.
In general, we already set the ssid in sta configuration
But in this case, we also need to configure BSSID of the hidden AP.
This can be configured through iwpriv cmd.
Example: iwpriv athx conf_bssid 11:03:7F:46:03:17
Change-Id: I03e1efed1168c911fc8f6358d6ad8a8c0b40ba61
CRs-Fixed: 2274105
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.
Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
Driver calculates nss score for BSS, depending upon the
current DBS status. Thus it does not give more preference
to 2x2 and considers it the same as 1x1.
But the DBS condition can change and driver
can move to single mac.
Fix to give more preference to 2x2 BSS so that
better throughput can be achieved in single mac.
Change-Id: Ib684abe423fd21a81cb13db5f741fdfbb750328d
CRs-Fixed: 2271976
Currently, when Current RSSI is better than good RSSI threshold
first driver calculates qbss percentage and set qbss score accordingly
and when current RSSI is weaker than or equal to good RSSI threshold
(-70dBm) driver directly sets 10% as qbss score. But as per requirement
Driver should calulate qbss percentage in order to set qbss score for
RSSI = -70db
Fix is to allow driver to ignore qbss percentag calculation only
when current RSSI is less than good RSSI threshold.
Change-Id: I1be2ab71016d779a60d21923a34340ae19d6c7f5
CRs-Fixed: 2261635
When driver performs vdev delete operation, it changes vdev state
to logically deleted or physically deleted only after receiving vdev
delete command's response from FW. In between (sending vdev del req
and receiving vdev del rsp) if thread gets pre-empted and other thread
start posting command (like scan command) to process then it could
lead to use after free scenario.
Notify scan component when vdev delete is intiated and let scan
component record that in to vdev's scan private object as one of the
flags.
check this flag before processing the scan command.
CRs-Fixed: 2261704
Change-Id: Id884d6c42cd8766e70835808863632e096158487
In low memory environments using GFP_KERNEL flag may cause
scheduler thread to sleep. Scheduler thread callback handlers
are expected to be atomic in nature to ensure timely execution
of different commands. Move all allocations done by scan module
in scheduler thread context to atomic allocation.
Change-Id: Iee3eafbc00a3afea0687ba67b3041ec0816094cc
CRs-Fixed: 2232553
Duplicate information is logged
while processing scan event.
Removed the duplicate log from scan
event handler API.
Change-Id: I3d58e594c683875fa82349d47103cc1de67ae18a
CRs-Fixed: 2255904
When the scan start message in scheduler message queue is
flushed in scm_scan_start_flush_callback, no scan complete
event will be sent. It will lead to vendor scan request is
not free and end up with memory leak eventually.
Change-Id: Iba748adddff6264b04a63fe82c4b0e2f0ffc2a4b
CRs-Fixed: 2243835
In some environments its found that IE's received are not
as expected and console gets flooded with pare failure prints.
Move these prints to debug level.
Change-Id: Ic25bdff65f340f47179a7ac6dd79731b80c805ff
CRs-Fixed: 2232553
Currently bool is used to check if scan node is active or not, and
if it is active the deletion can happen. Now if two thread tries to
delete the same node at same time, the first one to get the node
will delete the node and set the active bool to false. If the
delete operation leads to node being freed, the 2nd thread when gets
the lock tries to check the bool, if node is active and then return
if node is not active.
Now if before the 2nd thread check the bool, the memory is reallocate
and the byte pointing to the bool is overwritten with non-zero value
the 2nd thread will assume that node is still active and try to delete
and access an already freed node.
To fix this use cookie instead of bool to check if scan node is active.
Change-Id: Id6b9dc9d0ff8f091eef0bd648abc9d3198c3ad4b
CRs-Fixed: 2219667
For 4.9GHz, firmware converts the frequency to old regulatory channel
numbers and sends it to host. But host uses new regulatory channel numbers.
Since the received fw channel and beacon channel number is different,
host drops the received beacon and scan entry doesnot get updated.
As a temporary fix, bypass the beacon mismatch check in host.
Change-Id: Ib3e6b7b39ef2feaa1bcf0e0b16a702caccbf6744
Some times we need to scan only some pre configured
channels irrespective of channels requested in scan
start command.
Add support for pre specified list of scan channels
and scan only these channels if configured.
Change-Id: I7fa9ef9d626fd25d7855a7eb458818d8e2314fa5
CRs-Fixed: 2218494
Process scan event for 11d only if event indicates completion. Else in
case of dequeue due to failure or timeout will also cause scan event
handling for 11d which might have undefined effects.
Change-Id: I9d3599a9c60bccebea8ded9922dd3ddf995d8d61
CRs-Fixed: 2210347
Set the range of score index to 1-15 as 0 is used for the AP
which does not advertise the OCE WAN. Also if OCE WAN downlink
capability is 0 return 0 score.
Change-Id: I8c6757458c542050a6a31cb03fad0ce17d60aa16
CRs-Fixed: 2208282
Connected AP scan entry is aged out if beacon
is not recieved within scan age out time.
Update mlme information of the connected AP/BSSID
scan entry so that scan age out hanlder will not
age it out even though the last beacon recieved
time is greater than the configured scan age out value.
Change-Id: I14c68c28459080623ca62c0bad9052e38d7fb348
CRs-Fixed: 2183379