Change max AP score limit from 100 to 200 and thus change
BEST_CANDIDATE_MAX_WEIGHT to 200 from 100.
Also remove duplicate sanity check, which is already done while
getting values from INI.
Change-Id: I4f87a00e90b7d5d829007d89cbf7cfd9b70fa4dc
CRs-Fixed: 2673980
The roam sequence in LFR-3.0 is roam scan start notification
from firmware followed by roam start indication and then
roam synch,roam synch frame events. Roam start is sent
after candidate selection and host driver will disable
queues when roam start is received.
But for emergency roam trigger, firmware sends roam start
indication directly without notifying roam scan start to disable
data path queues immediately after deauth received from the AP.
So roam start is received before roam scan is started at firmware
and before candidate selection is done.
After roam start notification, host sends scan abort for all scan
on vdev by setting scan command request type to
WMI_SCN_STOP_VAP_ALL. This results in roam scan getting aborted at
firmare in emergency deauth roaming case and roaming fails.
Introduce new vdev id value based on which the scan module will
abort only host triggered scans setting the flag
WMI_SCN_STOP_HOST_VAP_ALL in the scan request.
Change-Id: I3a162c55d4a008ff986fd957bed395b39c060bb5
CRs-Fixed: 2636410
Change 6ghz channel sorting logic to descending order
and add the chan_freq to chan_info struct
Change-Id: I243768942823c6fd5a5146627e875ff37847d92b
CRs-Fixed: 2650698
The driver doesn't ageout connected BSS from rrm scan
result after the scan default ageout time. This results
in connected AP information sent in beacon report request
in table mode always.
Introduce scan api to get the scan age out time configured
from scan module. This value will be used as the threshold
in rrm scan filter.
Change-Id: Ib3981538faf179cff53936770f705d41922dca66
CRs-Fixed: 2650914
In struct weight_config, "oce_ap_tx_pwr_weightage" added newly.
Station uses "oce_ap_tx_pwr_weightage" as one of the parameter for
selecting AP candidate during initial connection. Host sends
"oce_ap_tx_pwr_weightage" ini value to firmware over WMI command
WMI_ROAM_AP_PROFILE.
Add oce_ap_tx_pwr_weightage in scan object scoring param to calculate
weightage based on AP tx power and select candidate accordingly.
Change-Id: I7f717e9cc398e8b9307f2f464f972b095c06364b
CRs-Fixed: 2647116
Currently QDF_MAX_NUM_CHAN and NUM_CHANNELS aren't aligned, this unalignment
may cause many potential OOB access. So replace QDF_MAX_NUM_CHAN with
NUM_CHANNELS to keep unified.
Change-Id: I7bf7829d776f7caf5b2afbd2c9fd0c20d608e630
CRs-Fixed: 2644073
Enhance logs for PNO scan to remove duplicate
or unwanted prints and keep only useful logs to debug.
Change-Id: Ibe24714e925a00933911c801685528849e160480
CRs-Fixed: 2636641
The default value provided for the INI item
gScanProbeRepeatTime for WIN is 50 which is
beyond the specified INI range 0 and 30.
Changing the max value to 50 to accommodate
the default value used by the INI and avoid
warning while parsing INI values.
CRs-Fixed: 2633733
Change-Id: I442d07de55813c930b77e7dfffcdebf5372c5c0e
Populate RNR info during scan req instead of beacon
add/delete to avoid loop while holding scan db spin lock.
With loop spin lock can take more than 5ms, which can results
in asserts.
Change-Id: I4ba346b8dcbaf7da844f97195dbdd3003bdb234b
CRs-Fixed: 2640889
Fix the case where RNR list can be used uninitialized and
fixed the OOB memory write access in 6Ghz BSSID and SSID hints
in scan req.
Change-Id: Ifc6a5f65876cd3ace744031bf59a3640409b63da
CRs-Fixed: 2637039
"WPA3-SAE Single PMK" is a feature by which STA can
complete SAE roaming to specific group of AP(s) using
single PMK. This is done with the help of advertising
vendor specific SAE single PMK IE in the beacon/probe.
When vendor specific sae single pmk IE (oui 0x00 40 96,
type 0x03) is present in the beacon/probe of AP then the
BSS supports WPA3-SAE roaming using Single PMK.
Add changes in scan module to parse the Vendor specific
SAE single PMK IE and copy it to the scan_entry ie_list.
Change-Id: I5b7096d1360c624ce1c47e56e8cad37adbdda1e3
CRs-Fixed: 2616099
Currently the conversion APIs used doesn't take into account
the overloading of channel numbers between 6GHz, 5GHz and 2.4GHz
bands.
Add support to obtain the correct channel number (and auxiliary
information like band and frequency) through the new APIs that
support all three bands.
Change-Id: Ic2c8dfa4cc845d701dfd07df61c9ae1ee3d8bdef
CRs-Fixed: 2610378
Currently there is no support to dynamically set dwell time
for 2g channels.
Add support in existing command SETDWELLTIME to dynamically
configure dwell time for 2g channels.
Along with set, add support to get dwell time for 2g channels
with the existing driver command GETDWELLTIME.
Change-Id: I8a71e39338e7a81690140f50bc3c5ac7b0bd63eb
CRs-Fixed: 2620370
Currently on the STA interface if the scan
comes the driver puts it to NON-DBS scan if the
high accuracy request comes, but if the NDP
peers are active this causes a throughput loss
as scan takes much time to complete.
Fix is to do a DBS scan if the NDP peers are
attached to a NDI interface.
Change-Id: I798fd388f2bf010304ba1f6777680cf4d1f3ccfb
CRs-Fixed: 2615541
Use qdf_scnprintf instead of snprintf to log channels to store
the freq list and print.
Change-Id: I4e2f4a93f3de9b9937af3699bde00bb2d1066ca5
CRs-Fixed: 2615319
Failed to read RNR entries from the RNR list
while issuing the scan.
Arguments passed to access the next node from RNR list
is not initalized due to which RNR entry accessing failed.
Change-Id: If5d1f4cace8e393e93b82ac3881b9627bde5f9e1
CRs-Fixed: 2605732
Scan can cause issues in video streaming when miracast session
is active.
Reduce the scan time by removing the DFS channels
from scan list during the active miracast session.
Change-Id: I14666ebccabaf373a67f396fb7f85c2f7ee34449
CRs-Fixed: 2603528
In scm_add_rnr_channel_db, if pointer channel is NULL, it should return.
Allocate rnr_node buffer whenever it is used, otherwise memory leak
happens if the BSS channel is not 6Ghz.
Change-Id: Iecba2453c2e9cdf9301826e0e11f740190616110
CRs-Fixed: 2601014
1. Modified logging level for RNR DB
2. Modified add RNR DB entry API to
avoid null pointer dereference.
Change-Id: Ic5d91c05dd3e37e5e9099979e37fcbe9f42feb14
CRs-Fixed: 2599539
Fix RNR IE processing by correctly adjusting offsets.
neighbour ap info field processing is present only at
beginning of IE skip it only once.
Change-Id: I05923e4ff9efa00aeed141b0cff8b62913622cf6
CRs-Fixed: 2592014
PNO scan is failing to start because it is coming with 97 channels
but the current max number of channels in PNO scan is 60. To allow
for a larger number of channels, increase SCAN_PNO_MAX_NETW_CHANNELS_EX
to 100.
Change-Id: I3ac08f83f9f500899656caf48c112c33580cef70
CRs-Fixed: 2585685
RSSI in the scan entry is a negative value. It was converted to positive
value and if the converted value is greater than WLAN_RSSI_DUMMY_MARKER
(has positive value 295), util_scan_entry_rssi() was returning 0 to the
caller.
util_scan_entry_rssi() is used for printing RSSI value. Since RSSI is saved
as a negative value and caller expects it as a negative value, return a
negative RSSI value from util_scan_entry_rssi().
Change-Id: Ifdeb88dfa42a6927ff29670429d846ff071e9c59
CRs-Fixed: 2576129
In case of channel mismatch, RSSI and channel etc are updated from
previous frame. Also in hidden SSID case the SSID is updated from
prev frame for beacons.
So print the beacon after updating these params from previous frame.
Change-Id: Ia4dc4769f7bccf4698074a3bcedefd1909fd2e7b
CRs-Fixed: 2587067
A value of 0 in TBTT Information Count subfield indicates
one TBTT Information field is present.Test expression in
for loop should consider 0 as a valid value to avoid infinite
loop.
Change-Id: I0dc0f694147b6c4f91a8be0bfbd7c6d4bb95e1f1
CRs-Fixed: 2582936
Depending on the requirement, a bigger size or a smaller size for
the frequency variable can be chosen. The advantages of each size
are described below:-
Advantage of a bigger size:
When two technologies (e.g. 802.11AX and 802.11AD ) are controlled
by the same driver software, the frequency range may be very large
and a bigger size (e.g. 32bit integer) is more appropriate.
Advantage of a smaller size: When the frequency range is not very
large, a smaller size(e.g. 16bit integer) can be used. It saves a
large amount of space especially when many large arrays containing
elements of this type/size are defined in the driver.
Also, change the size of the IEEE channel variables to unsigned
8-bit integer.
Change-Id: Ie503623ec6e4473abe8ee95c19dc4470853326dd
CRs-Fixed: 2586177
In 6Ghz the HT and VHT IE are not present and channel info is
present in HE OPs 6 Ghz params.
So fill channel from HE OPs for 6Ghz AP.
Change-Id: I2dbe6ecedb8949b7d9d3b26b43fbe4b6d3ef0a42
CRs-Fixed: 2585788
With this change, in concurrent mode
(SAP on 2.4ghz and peer connected + STA Scan ongoing),
active dwell time is kept unchanged.
Change-Id: I465873dec79906d078f5ec00c49641f66867c6a7
CRs-Fixed: 2581121
With this change, in concurrent mode
(SAP on 5ghz or 6ghz and peer connected + STA Scan ongoing),
active dwell time for 2ghz is not reset to 0.
Change-Id: I27bcd64579727e279095cf5386638dbd49567b3d
CRs-Fixed: 2575762
Initialize channel_map to "us" at regulatory init.
Use NUM_6GHZ_CHANNELS to get 6Ghz channel numbers
instead of MAX_6GHZ_CHANNEL.
Change-Id: Ifed996c1a528c8a3c0a29d3959f17dff6d298193
CRs-Fixed: 2949971
Ini item 'scan_mode_6ghz' updates the scan channel list based
on the user configuration value that includes the ACS scan on
SAP mode.
This change restricts the ini item configuration for ACS scan request.
Change-Id: I0871fed8a8d1e551656e8a1ba06b504755074ca1
CRs-Fixed: 2574811
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:
csr_update_scan_entry_associnfo
Change-Id: Id289c2bd2e2cdf3f6a5e16028bbafb3df4049dac
CRs-Fixed: 2563874
qdf_do_div is not helping for modulo operation and always returns 0 in
32 bit image resulting in same base BSSID is always returned for all
the VAP's.With 64 bit image no issues are seen.
Change-Id: I50e500f57713ce080447b9a5cb1e615018222adb
CRs-Fixed: 2565183
To support 6G, replace chan id with frequency.
Replace channel_list and pcl_channel_list with
chan_freq_list and pcl_freq_list in struct scan_filter.
Change API scm_get_pcl_weight_of_channel to use freq.
Change-Id: I6e880986fb2dcb1fa7aa4f40d2e3f849e7e3af64
CRs-Fixed: 2561234
There is ini to enable the feature: Set highest priority to BSS
for connection which comes as bssid_hint from wpa supplicant,
but it is broken.
Change-Id: I795341bd13f59caafaaadf7086f5efc3d47f913c
CRs-Fixed: 2565161
In function scm_update_6ghz_channel_list, while calling function
wlan_reg_get_band_channel_list change the second argument to BIT of enum,
instead of the enum itself.
Change-Id: I61dc0bf1e52e458cd26bcb278d88f687f92130e9
CRs-Fixed: 2559519
Add support for 6Ghz short ssid and bssid hint mechanism
as part of scan command.
Change-Id: I53a787d2a1406ffd658dc0765bae1e632b870b36
CRs-Fixed: 2559877
Secondary channels cfreq0 and cfreq1 are not filled in scan entry,
So fill secondary cfreq0 and cfreq1 in scan entry from HT/VHT/HE IEs.
Change-Id: I09ee15a27debe554d8ddbac8e8b3c0315aec2c1a
CRs-Fixed: 2560273
A single channel scan request is not validated for NOL and scan start
request is sent directly. This leads to scan violation.
Reject the single channel scan request, if the channel is in NOL by
proceeding to validate the channel before sending scan start.
Change-Id: I128b1bea8de534f08e9d93cb154c2ba5adeba452
CRs-Fixed: 2546693
Fix memory leak in 6GHz channel list update for scan manager.
In scm_update_6ghz_channel_list function dynamic memory allocation
for local variable was not freed. This was cusing memory leak during
module unload.
CRs-Fixed: 2558436
Change-Id: I9535a3621e0fc5916cdf39934fec7c51c1b8e32b