Commit Graph

40 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
120b2490ec qcacmn: Add support for RSNX IE
SAE key derivation requires use of a secret element, PWE. This
element is deterministically discovered by repeatedly hashing
the password with some additional information until the
resulting hash is the abscissa of a point on the elliptic curve
(for ECC) or by exponentiating the hash digest to a constant to
produce an element (for FFC). This "hunting-and-pecking" loop
method is prone to side channel attacks.

To avoid this, a direct hashing to element technique in SAE is
introduced in IEEE P802.11-REVmd/D3.0. Support new RSNX IEEE
as part of the hash to element PWE derivation. The user space
sends the RSNX IE in the connect request.

Add support for new RSNX IE with element ID 244.

Change-Id: I61a40ff14e15612735c3f3750e2c47d764feeb62
CRs-Fixed: 2569600
2019-11-26 07:10:53 -08:00
Sandeep Puligilla
aba2b0c42b qcacmn: RNR IE parsing support
Add RNR IE parsing support on scan module.

Change-Id: I7a0685f16a61a45910212b2d8fe5cbc12b5bd92e
CRs-Fixed: 2557271
2019-11-09 19:10:25 -08:00
Abhishek Singh
3c5f8ef089 qcacmn: Fill cfreq0 and cfreq1 in scan entry from HT/VHT/HE IEs
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
2019-11-08 00:11:11 -08:00
Abhishek Ambure
986f5c97b9 qcacmn: Get phymode from HE phy capability
WLAN phy mode is calculated from HE capability.

Change-Id: I217cf6609f526a761c183395fe67f67adc95c4af
CRs-Fixed: 2550362
2019-11-05 09:27:42 -08:00
Rhythm Patwa
7232cb187e qcacmn: Add support to parse 6GHz specific IEs
Add support to scan for the 6GHz band capabilities
IE and parse the IE. Added peer assoc param for updating
the minimum data rate advertised by the peer in 6GHz
Opration information.

Change-Id: Iebb4379d321832f3ed2bcd3174a54843fa2d497c
2019-10-16 21:54:30 -07:00
Pragaspathi Thilagaraj
45a8c1e41f qcacmn: Support adaptive 11R BSS in scan
Adaptive 11r is a feature by which the network supports 11r
even though the bss doesn't advertise 11r. This is done with the
help of advertising vendor specific adaptive 11r IE and MD IE
in the beacon/probe. When vendor specific adaptive 11r
IE (oui 0x00 40 96 type 0x2C) is present in the beacon/probe,
and 1st bit of the IE data is  set to 1, then the BSS supports
adaptive 11r.

The BSS advertises, non-11r akm in RSN IE and user space will
send the 11r akm in the connect start. So the scan module
shouldn't filter out the candidate adaptive 11r supported BSS
with AKM mismatch reason.

Add changes in scan module to parse the Vendor specific adaptive
11r IE and copy it to the scan_entry ie_list. Check if
negotiated akm is non-11r akm, and the filter akm sent from csr
is a 11r akm (which is received from user space), then mark the
bss as matching.

Change-Id: I65f32c67016ad634f1592a7453e77aaf0c5a327c
CRs-Fixed: 2431074
2019-05-02 08:16:11 -07:00
Srinivas Girigowda
d8a7efdb29 qcacmn: Add EDCA and QoS element ID and IE max values
Add EDCA and QoS capability element IDs and certain
IE max values.

Change-Id: I25480c1d63d20b4c56637151edcb99bf4739574c
CRs-Fixed: 2427312
2019-04-06 01:54:44 -07:00
Liangwei Dong
ca4abcf92f qcacmn: Add PMK field to pmkid cache
In roaming offload, PMK will be sent to firmware.
So,save the PMK to pmkcache when supplicant provide
from os interface.

Change-Id: Ibfd3d354b9150b40755ba2ab1dd90c2e3c6ddbc3
CRs-Fixed: 2420359
2019-04-04 08:51:38 -07:00
Pragaspathi Thilagaraj
17810df306 qcacmn: Add support for FT SAE and FT Suite-B
Previously host driver only supports initial SAE and Suite-B
authentication types and roaming to SAE AP is blocked. The
802.11 specification has introduced the Akm suite 00:0F:AC:9 for
FT-SAE and 00:0F:AC:13 for FT Suite-B akm type. Add support for
FT-SAE and FT-Suite-B.

Extend the enum wlan_auth_type to include WLAN_AUTH_TYPE_FT_SAE,
WLAN_AUTH_TYPE_FT_SUITEB_EAP_SHA384. This enum wlan_auth_type is
the new implementation for akm type in converged scan module
corresponding to the legacy eCsrAuthType enum.

Add changes in scan module filter to support FT-SAE and
FT-Suite-B authentication suites be added to filter->auth_type.
csr_scan_get_result() will translate the legacy eCsrAuthType
to wlan_auth_type and push it to the filter->auth_type.

Change-Id: I74d7b0be74d33ced5d3e528032aec6e057a75ff3
CRs-Fixed: 2400683
2019-02-27 09:56:03 -08:00
Srinivas Dasari
2f6d368c6e qcacmn: Add OSEN AKM support for HS-2.0
OSEN is a new AKM to support HS-2.0.

Change-Id: I43efc34d754c51c9a16584495523629d32c16c5e
CRs-Fixed: 2361375
2018-12-31 21:29:36 -08:00
Disha Das
df10f65cb7 qcacmn: Move out Crypto files
Move only-win-specific crypto files from cmn_dev to
component dev

Change-Id: I55c2c44100d3a9c0799ccbafd2ce31aa242d3e71
2018-12-25 22:18:43 -08:00
Hariharan Basuthkar
738320eef9 qcacmn: Bring Up STA without dissociation when AP switches to DFS Channel
AP is configured to operate in Channel 100(HT80), and Zero Wait DFS
is enabled. Once PreCAC is complete on DFS Channels,inject radar in
Channel 100 and AP moves to another DFS channel 116 and beacons
immediately but station associated to AP still does a scan again.
When the station receives the Channel Switch Announcement from AP, it
dissociates from the AP and scans again.

Maximum Switch time Information Element can be used by the Station to
to know if the AP has done PreCAC on target channel. Maximum Switch Time
IE is part of AP's beacon and is the sum of CAC timeout on the target
channel and 1 beacon interval.

If PreCAC is done on target channel, the CAC timeout is zero and Maximum
Switch time IE is equal to 1 beacon interval. This element is sent to
Station along with Channel Switch Announcement. The Station receives the
maximum channel switch time element. If the value of maximum channel switch
time element is less then or equal to beacon interval, the station
associates with the AP seamlessly without dissociation. If the value of
the Maximum Channel Switch Time IE is greater than 1 beacon interval, then,
the Station has to dissociate from the AP since, ZeroCAC has not been done
by the AP.

Change-Id: I0301a68c1731cc268b9a6900258261034476446b
CRs-Fixed: 2330817
2018-12-05 03:57:51 -08:00
gaurank kathpalia
079ec73fbc qcacmn: Fix Supported rates max length
Currently the driver checks for the supported rates IE,
and if the length of the IE is greater than 8, the driver
rejects the IE, according to spec.
But some APs supports 12 rates hence are not scanned.

Fix is to have a supported rates IE length check of 12 instead
of 8.

Change-Id: Ib0e25c94e781ccd44b7f08ea3db6109ad8d6ad22
CRs-Fixed: 2360709
2018-12-04 22:27:53 -08:00
Liangwei Dong
df19d48862 qcacmn: Correct RSN IE length check
The minimal size of RSN ie data size is
2 (only contain version field).

The original 3 will cause driver identify
such AP beacon/probe rsp as invalid and
do not connect to it.

Change-Id: Idceaf936cbd0ca448f82d9594b35ca346c6513d4
CRs-Fixed: 2294094
2018-09-03 05:11:13 -07:00
Venkateswara Swamy Bandaru
a76abc45d7 qcacmn: Add supporting functions for extended capabilities IE
Add structures and supporting function get bit field value of extended
capabilities IE bit field.

Change-Id: Iff915320d71473310e2cbc0188508061b14a40f1
CRs-Fixed: 2296592
2018-08-23 03:54:55 -07:00
Sandeep Puligilla
54d8b648ad qcacmn: Add support MBSSID feature
Add support to parse Multiple BSSID element
from Beacon and Probe Response frames and to
update the scan database.

Change-Id: If2c58529c4dca3d3866bd7f905d4a1b6983f468a
CRs-Fixed: 2274579
2018-08-07 18:10:41 -07:00
Rathees kumar Chinannan
b8f2d083bd qcacmn: Add support to extract Extender IE in beacon
Added support to extract extender IE in beacon receive.

Change-Id: I04ee63a6c1280e2e3858eb665c549de800d672f4
CRs-Fixed: 2258771
2018-07-10 15:40:06 -07:00
Rhythm Patwa
a6ba9eefb4 qcacmn: Add support to parse MU-EDCA IE from beacons
Made changes to add support for parsing MU-EDCA IE from beacons.

Change-Id: I6e9b76c82f9048858df3fe0c259182b5df070f30
CRs-fixed: 2247879
2018-06-01 14:54:05 -07:00
Jeff Johnson
3a1832e598 qcacmn: Fix typo "capabilites"
Replace typo "capabilites" with correct spelling "capabilities"

Change-Id: I8efa1d974ecabb1466bdf27ec305fd9960da0616
CRs-Fixed: 2238309
2018-05-17 00:46:46 -07:00
Himanshu Agarwal
80a3da4f57 qcacmn: Add macros for GCMP header and MIC length
CCMP and GCMP both have different lengths of their MIC part. MIC
length for CCMP is 8 bytes whereas it is 16 bytes for GCMP. When
encryption type is GCMP/GCMP-256, sending packets with CCMP MIC
length causes fw to drop the GCMP encrypted management packets
leading to connection issues.

Add macros for GCMP header and MIC length

Change-Id: Ib768319d38dca90d92ff99ad3318a70f5a6ae474
CRs-Fixed: 2226978
2018-04-26 21:39:07 -07:00
gaurank kathpalia
1e6e00f350 qcacmn: Remove 11ax IE length checks
With IE length sanity check, that involved by Change-Id I9a091486,
11ax AP cant be found due to the addition of +1 byte in HE-operation
IE in latest spec of 11ax (D2.2).

Remove all 11ax extended capability IE length checks for now due to
11ax being under development.

Change-Id: I45d676325c72c8e0020ca52d094fb1652f8fcaf2
CRs-Fixed: 2197252
2018-03-05 23:33:35 -08:00
Disha Das
19fa32351f qcacmn: Set mpdu data ptr correctly
Handle mpdu data pointer for PMF frames based on EXT IV bit

Change-Id: I7c1b585a538402ae784985852c873537c0e4eb86
2018-02-27 00:29:33 -08:00
gaurank kathpalia
7d65c1b32d qcacmn: Add individual length checks to Beacon Information element
Currently there is no individual length check to each IE, which
could probably result in buffer overead. Minimum length should
be checked for each varibale IE for avoid the same. Also some fixed
IEs should have a length check of not greater than the size of
their respective structures to avoid corrupting other IE data.

Fix is to add a length check to each individual IE to avoid
corrupting other IEs and also to prevent reception of any IE
of invalid length IE.

Change-Id: I9a0914861d7ff2871ac72ad7357ebbb7ef10eeb3
CRs-Fixed: 2183014
2018-02-13 05:47:44 -08:00
Liangwei Dong
bc685e88f1 qcacmn: Add 80211W support to P2P component
Newly designed P2P component doesn't contain
80211W PMF related information which is one
of the mandatory requirement to make PMF work
for P2P.

Provide PMF support to P2P component by adding
necessary callbacks to protocol stack to get
11W related information.

Change-Id: I399f0d296f9461239ac9d720905b196e87983f29
CRs-Fixed: 2175898
2018-02-09 00:42:25 -08:00
Padma, Santhosh Kumar
6f3e4a828d qcacmn: Add SAE AKM in umac component
Add support for SAE AKM in UMAC component.

Change-Id: I7b84c408b819e3fac614289bf8a161d2fc2c259a
CRs-Fixed: 2115701
2018-01-17 11:36:24 -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
Padma, Santhosh Kumar
f379e37f94 qcacmn: Add support for SuiteB AKM suites
Add support for Suite B AKM suites 000FAC 11/12

Change-Id: I4893241ad138d7598d15228cedb29b656afbe32e
CRs-Fixed: 2164932
2018-01-11 15:39:46 -08:00
Paul Zhang
d1e56f9082 qcacmn: Correct the structure of rsn_mdie
The function util_mdie_match() will get the value of
mobility_domain. Since the structure is not right, it
will get the ie ID and length instead of the right
value.

Change-Id: I1d3d831ebf39fedc17c0f88a88d82114df9e6979
CRs-Fixed: 2147555
2017-12-16 14:08:08 -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
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
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
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
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
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
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
Bharat Bhushan Chakravarty
145d393444 qcacmn: SON convergence
1) Defined modularized public api for cdp module
to track inactivity and over load detection.
2) Initialization calls are added to attach and
detach SON specific api.
3) operating system specific calls are replaced with qdf calls.

Change-Id: I130d1e99208d6454f5d9888774534cc6d619ad83
2017-05-09 17:29:11 -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
Wu Gao
dfc571c521 qcacmn: mgmt frame txrx
Modify P2P IE and tx mgmt frame. Handles tx confirm and rx frame
events.

Change-Id: I0c0ada2e12ee5ebdd3e8d7b7a6f2bd2af4357548
CRs-Fixed: 2015297
2017-03-22 18:42:14 -07: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
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