A new external acs configuration parameter acs_policy.
This parameter indicates the external ACS module whether
its mandatory or preferrable to select a channel
from the preferred channel list provided by the
driver
Change-Id: I80925109349c68c95f25ba27d87bd68964c4eb04
CRs-Fixed: 2037034
P2P-GO whenever goes offchannel, issues NOA. With this behavior, we
have issue whenever legacy STA connects to P2P-GO as legacy STA
does not understand NOA. To handle this case, changes are done in HDD
and SAP component and the revised behavior will be:
1. By default no change in NOA.
2. Whenever first legacy STA connects to GO, SAP informs HDD with
new parameter station type. HDD will communicate the same to
p2p protocol component. Once the connected station is authorized
p2p protocol component will disable NOA (i.e. P2P-GO will start
issuing Self-CTS whenever it goes off-channel).
3. Whenever last legacy STA disconnects from GO, p2p protocol
component enables NOA (i.e. P2P-GO will start issuing NOA whenever
it goes off-channel).
Change-Id: Iadab47c9a2aeb434371d4c262623d7196f3b1ab4
CRs-Fixed: 2035609
Replace the legacy regulatory apis with regulatory component
public service apis
Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.
CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3
In case of dfs offload, do not run cac timer, as cac will also be
offloaded in that case. Decide the same based of service bit info.
Change-Id: If4dd62628270ff0ba8632a9cd644a9d7ed6f31a4
CRs-Fixed: 2021357
Currently, vdev_id and session_id are assumed to be the same, but are
generated in two separate code paths. Unsurprisingly, this leads to a
whole host of desync issues. Instead, modify sme_open_session to take
a session_id, which will be populated with an objmgr vdev_id. This means
vdev_id and session_id can no longer desync, as there is only a single
source for both.
Change-Id: I104aba29beb3c19d0ef2ff23380e3d005e01ced0
CRs-Fixed: 2022136
Add changes to enabled driver to use external auto selection
logic instead of current driver based implementation.
In case external application is not present, driver will fall
back to current solution.
Change-Id: Ib7474e82bc7f5878af46c91ea09711775a7c046a
CRs-Fixed: 1110061
If channel set is coming from external application, it could be
possible that it doesn't fall into valid channel criteria.
Add APIs to validate the channel.
Change-Id: I1aa855b64c7702418471111d59c92ebaebe8be49
CRs-Fixed: 1110061
Vendor ACS requires regulatory channel info for each channel.
Add changes to collect channel information of each channel
and save it in sap config.
Change-Id: Ib96c3f7ddfc8476306e9a13127472be9dd0a9488
CRs-Fixed: 1110061
qcacld-2.0 to qcacld-3.0 propagation
wlan_hdd_cfg80211_change_iface will abort if ACS_IN_PROGRESS
is set, which causes iface type mismatch between hostapd and
driver.
When force SCC if same band is enabled, driver will not do ACS
for the second AP. So do not set ACS_IN_PROGRESS if no ACS to
be done.
Change-Id: I2c975c89dc1cf0d11980ad11c8d0d256c680594d
CRs-Fixed: 1105386
propagation from qcacld-2.0 to qcacld-3.0
DUT is SAP + STA SBSC mode, it takes very long time to recover after
SSR. There are two problems:
1. It clear STA session and create new after SSR, but just clear SAP
session. With sessionId in SAP context, it wrongly use new STA session
to close SAP when terminate hostapd. This is the reason why host wait
stop_bss_event for 10 seconds in cfg80211 stop ap. Set sessionId to
invalid if adapter is SAP mode.
2. In dual-wifi mode, it will start second WLAN if SSR and
WLAN_SVC_FW_CRASHED_IND late. Send this event more earlier.
Change-Id: I10a3f300ac5621463fcce4d0a5e18b2cf1cb8491
CRs-Fixed: 1054612
Propagate from qcacld-2.0 to qcacld-3.0
Current value of SAP TX leakage threshold is a fixed value 310,
since different product may need different threshold, add it
into ini file now.
Change-Id: I0df8ac14f5e9e812a8ec5e5127df21eff0a8502b
CRs-Fixed: 955258
qcacld-2.0 to qcacld-3.0 propagation
To shorten the SAP starting time, the OBSS scan
can be skipped if the ACS scan is performed
and the ACS scan channels cover the OBSS scan
channel list.
This change caches the ACS channel list and
skip the OBSS scan if necessary.
Change-Id: Iae54115051ae037c83b8dd2b639754f941c1d0f5
CRs-Fixed: 1073053
Fix the size of pcl_channels & pcl_weight array to be QDF_MAX_NUM_CHAN in
cds_get_nondfs_preferred_channel. Also make sure all the callers of
cds_get_channel_list uses QDF_MAX_NUM_CHAN as channel array size.
Change-Id: I256421f54180d1d8f9f6abd549d417e74d62add5
CRs-Fixed: 1082596
qcacld-2.0 to qcacld-3.0 propagation
Add iwpriv interface to get channel width when working in sap mode.
Change-Id: I9900655861032636af1b4147ec6322e5aa76e614
CRs-Fixed: 1009861
qcacld-2.0 to qcacld-3.0 propagation
Currently driver populates default supported and extended supported
rates in beacons even if hostapd.conf file wants to change
supported and extended supported rates.
Fix this by parsing beacon head and tail to get supported
and extended rates and populate them in sap config.
If Driver force acs is enabled, driver acs will get priority.
In case of driver based acs, driver should
ignore basic and extended rates from hostapd.conf and should
populate default rates.
Change-Id: I3226438b908a96f1b1bd3c2968a0c20eef81a799
CRs-Fixed: 1035768
qcacld-2.0 to qcacld-3.0 propagation
Add support for vendor command which informs the driver about the
ACS policy.
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY is used to inform driver about
ACS policies.
QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE attribute tells if DFS channel
should be enabled or disabled in ACS.
QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL attribute provides channel number to SAP
module to skip ACS and use this channel as operating channel.
Change-Id: I1ba69ed8fdf1c56a90e857054c725b830293d6bf
CRs-Fixed: 997433
qcacld-2.0 to qcacld-3.0 propagation
use the same reason code in the disassoc, which the upper
layer has passed to the driver
Change-Id: I6302a5c8318a8e3c1221b9272637455da4e7f150
CRs-Fixed: 852387
qcacld-2.0 to qcacld-3.0 propagation
During P2P functionality, Host will send GO NEG REQ and
receives ACK completion from firmware which will be queued
to indicate HDD. Meanwhile if host receives GO-NEG RESP it
will be sent directly to HDD via function callback. In HDD as
we got GO NEG RESP before ACK completion for GO-NEG REQ, HDD
will generate pkt completion for GO NEG Request.
Now GO NEG CONFORMATION frame will be sent and driver will be
expecting completion for this. The GO NEG REQ ACK completion
which got buffered in PE will be delivered to Supplicant and
Supplicant assumes that this is the ACK for GO NEG CONF frame.
This causes early termination of remain on channel due to which
firmware may drop the GO NEG CONF frame and may not retry as ROC
is terminated.
Fix this by making ACK Completion indication to HDD via function
callback.
Git-commit: 32ddf4196f423b8eaea7ec6c0816e2961aa7fc45
Change-Id: I0dd3acb236b270839649d2becfdc007e7aae9fdd
CRs-Fixed: 1012547
(cherry picked from commit a3996d421de7f55d5a6f7da19d7ff4b568ce7c50)
(cherry picked from commit 42405db3bd3f4b10800cde8cdcd14f521461a5a7)
Add support for pre CAC on SAP for the user requested channel.
The reason for the requirement is to have SAP operations without
interruptions due to CAC. After starting SAP on the 2.4GHz
channel, the driver will start a pre CAC on the 5GHz DFS channel
requested. If no radar is detected, SAP is expected to switch
from the 2.4GHz channel to the DFS channel mentioned in the pre
CAC request. If radar is detected SAP will continue to operate on
the 2.4GHz channel. To provide the pre CAC channel to the driver,
vendor commands/attributes are used .
Change-Id: I4cf4bb5a861eea05f37fafb3bf35d327f5377aab
CRs-Fixed: 1045242
Ensure that the SAP context is validated before access in
its callback. The global SAP context is now an array of
contexts rather than a single global context to help
validate the session. Increasing the SAP open session
timeout helps to configure all the commands to the FW and
helps to further avoid any crashes.
Change-Id: I6f722dcc4ab671fef010c816a7c7d38fc1bdebe4
CRs-Fixed: 1031855
Correct the channel parameters that are calculated and used to indicate
the channel switch notification sent to user space. The channel bonding
values should not be used to get the channel width information since
they can be used only in STA mode to enable or disable the channel
bonding. Fix the same by getting the updated channel switch information
from the session entries.
Change-Id: Ia51779cddb2b9c3108b211822f104c45f88e53fd
CRs-Fixed: 1021380
Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver
Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.
Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
qcacld-2.0 to qcacld-3.0 propagation
The sap Context related phyMode should be used
instead of the phyMode in hal. Otherwise, the incorrect
channel width will be reported to supplicant.
Change-Id: Ic0ce7861a786de5aef8b43c6aa0fde9f600b08b2
CRs-Fixed: 909668
Change regulatory data structures and APIs to linux style.
Change the references to the data structures accordingly.
Leave data structures that would be deleted in subsequent
iterations as is.
Change-Id: I68dcd3485d3fb3d98f648b5844508356c3f3c29d
CRs-Fixed: 856727
WLAN_FEATURE_MBSSID flag is originally added to support MBSSID,
specifically for the MOBILE ROUTER build, and is now enabled for all
builds, there is no longer needed to have a separate feature flag,
so that removing it.
This commit cleans up the following modules - cds/mac/sap/sme.
Change-Id: I79ad9767b7945af0c567b6294ac07e7697898e9e
CRs-fixed: 958154
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.
Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.
Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
qcacld-2.0 to qcacld-3.0 propagation.
If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.
Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.
To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.
Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
qcacld-2.0 to qcacld-3.0 propagation.
Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
is received by,
i) Adding CSA & ESCA IE in beacon template and updating
FW to send it out
ii) Notifying supplicant of channel change for P2P GO.
This change include UMAC changes.
CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.
Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507