on_ring_buffer_data_callback callback is invoked on getting the
corresponding driver/firmware ringbuffer logs. This callback further
stores the ringbuffer data locally in cur_buffer. While the data is
getting updated through this callback, writeRingbufferFilesInternal
can get triggered from a different context which accesses the same buffer
-cur_buffer.
Synchronization is missing between these two contexts while accessing the
buffer and this commit attempts the same.
Bug: 153970986
Test: Manual - collect the bugreport and check the ring buffer logs.
Change-Id: Id99a517f4d72872b84b48c3df75dd29743f3e9b2
NAN operations are currently done on the STA interface.This resulted
in the NAN sessions getting terminated in all the instances where the
STA interface is restarted (IFF DOWN/UP), due to connected MAC
randomization.
Hence, remove the dependency of NAN over STA interface. This change
expects the driver to create a dedicated interface for the
NAN operations. The iface name needs to be set in "wifi.aware.interface"
property.
Bug: 1636219
Test: HAL unit tests
Test: Device boots up and connects to wifi network.
Change-Id: I1b6d64eb94334172a8cd621d0b15ed8c8dc87f91
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.
Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.
Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
VTS should use the highest supported preamble.
If preamble is not support by device, LOWI will return unknow error.
Bug: 152440187
Test: atest VtsHalWifiApV1_4TargetTest
Change-Id: I972377a526c5d62a733878df5fd80d4af17e37ff
In current code, VTS tests checks on null pointer using EXPECT_NE
then proceed with using the variable. This causes a null pointer
exception when the test fails.
This commit replaces the EXPECT_NE with ASSERT_NE to exit the test
on failure.
Bug: 152576797
Test: atest VtsHalWifiV1_0TargetTest
Change-Id: I5e54634020216f91144a234caf2b990de5706d8c
Supplicant FILS operation is independent from driver key management
driver support, i.e. even FILS is not supported in driver,
these APIs still could be used. These APIs are controlled by supplicant
CONFIG_FILS directly. To avoid inconsistent capability check, omit FILS
vts tests if any of driver and supplicant does not support it.
Bug: 149042449
Test: atest VtsHalWifiSupplicantV1_3TargetTest
Change-Id: Ia0cdaac282f9ec6e9450d72795ed6461433bdf3b
count shoule be initialize to 0 before test.
Bug: 149709834
Test: atest VtsHalWifiApV1_4TargetTest
Change-Id: I47c43571bc3ff91f389a4c9f41e050cc13c104a2
This commit adds the needed enum and methods to handle the mapping
of DSCP into wifi access categories.
Bug: 141500691
Bug: 141550272
Test: Builds successfully
Change-Id: I3a85c211057907c2363f7f349d0075e6b4a1b152
This commit adds missing VTS tests for the support of 80211ax and its
impact to RTT.
Bug: 139354972
Test: atest VtsHalWifiApV1_4TargetTest
Change-Id: Ib13b65b5b76d1d940ac784a4a3b4899af88e541a
Instantiation script is missing from the
wifi/1.4/vts/functional/wifi_nan_iface_hidl_test.cpp
wifi/1.4/vts/functional/wifi_chip_hidl_test.cpp
Bug: 149709807
Test: atest VtsHalWifiApV1_4TargetTest
Change-Id: Ifd4ac0adbdffa77381a60f48f830ebccb6535dfe
Added changes as per ANAPIC review to improve
documentation of few hidl APIs.
Bug: 148617258
Test: Not tested as there is no code change.
Change-Id: I3f91c6b8aad3f34807534a3fbc3cf5a3c3233cd7
Since some of the APIs are overridden by an upgraded API in newer HAL,
Check the return value of such deprecated APIs and if it's
FAILURE_UNKNOWN, don't proceed and consider it as pass.
Bug: 147821406
Bug: 146991831
Bug: 149045565
Test: atest VtsHalWifiSupplicantV1_0TargetTest
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Test: atest VtsHalWifiSupplicantV1_2TargetTest
Change-Id: I28c4431bfeaaa7a628be71f41f8299a85fed7eed
We should only run the vts which claim is supported.
Bug: 140172237
Test: atest VtsHalWifiHostapdV1_2TargetTest
Change-Id: If0b1d9f0a73bd171621299dab7828a9caf928a7a
This commit does following:
create/delete softap interface at runtime, if needed.
create/delete station interface at runtime, if needed.
Bug: 146539882
Bug: 121156971
Test: Manual - Basic wifi sanity test.
Change-Id: I6ab9c9e134d2f09e27283c9e60df885392834de4
Signed-off-by: Vinay Gannevaram <quic_vganneva@quicinc.com>
This commit adds documentation for MacAddress type definition.
Bug: 148617829
Test: Build successful
Change-Id: I535b78ac6826a478e8bbe10c2eced30e64f05724
Check the return value of deprecated APIs and if it's
FAILURE_UNKNOWN, don't proceed and consider it as pass.
Bug: 147434122
Test: atest VtsHalWifiSupplicantV1_2TargetTest
Change-Id: Ib6cfb70c514f10faa54ca11011657528374175e6
This commit improves some of the comments for the Wifi Hidl APIs.
Bug: 148236141
Test: No test is done
Change-Id: Iff6b191c8b258615ddaacad570b81f0ada968ed4
This fixes a deadlock between WifiNative and HalDeviceManager
because it removes about 30 times callbacks of
IWifiEventCallback#onFailure() or onStop(). Such excessive callbacks
within a short period tend to make high probabilities of the deadlock.
Note: This is a side effect of how the framework is registering multiple
callbacks. But, unfortunately there is no HAL API to unregister
callback. So, this is somewhat of a workaround fix.
Bug: 144137870
Test: Verified that the HAL no longer accumulates callbacks from
framework.
Test: Device boots up and connects to wifi networks.
Change-Id: I441e2f815a0a49c3936615f06a65a6ed5366a628
Merged-In: I441e2f815a0a49c3936615f06a65a6ed5366a628
This fixes a deadlock between WifiNative and HalDeviceManager
because it removes about 30 times callbacks of
IWifiEventCallback#onFailure() or onStop(). Such excessive callbacks
within a short period tend to make high probabilities of the deadlock.
Note: This is a side effect of how the framework is registering multiple
callbacks. But, unfortunately there is no HAL API to unregister
callback. So, this is somewhat of a workaround fix.
Bug: 144137870
Test: Verified that the HAL no longer accumulates callbacks from
framework.
Test: Device boots up and connects to wifi networks.
Change-Id: I441e2f815a0a49c3936615f06a65a6ed5366a628
Use global handle instead of interface handle as thermal
mitigation is not interface specific.
Bug: 112471991
Test: atest FrameworksWifiTests
Change-Id: Ia8aadec7794bd2dbd5954ec0225caa349b31070c
Add channel bandwidth, max number of Rx spatial streams, max number of
Tx spatial streams to connectionCapabilitie() which is derived from
association request and response frames after a new association.
bug: 147390882
Test: VTS test
Test: manual test with various phones and APs.
Change-Id: Iaeb5e0419887b766ec1a4cb13843494539aa3ddd
Add support to configure FILS key_mgmt types while adding
configurations for FILS enabled APs. FILS defines two different
AKM suites, one based on SHA256 and the other based on SHA384.
Also add API to enable ERP keys generation while connecting FILS
enabled APs. Once generated, the ERP keys can be used to make faster
connections to the FILS enabled APs which are within the same realm
as that of the AP with which the ERP keys are generated.
FILS also provides provision to exchange Higher Layer Packets(HLPs)
along with association request and association response frames. Add
API to configure HLP packets that can be sent with Association
request while connecting to FILS enabled APs. Also add API to flush the
HLP packets that were already configured during previous connection
requests.
Bug: 143259898
Test: WiFi basic sanity test
Test: VTS test
Change-Id: If5cb0c112d46fa8695b4517f42cb7c6706970751
Create new callback to deliver eap error code
from supplicant to framework
Bug: 139880103
Test: atest VtsHalWifiSupplicantV1_3TargetTest
Change-Id: I6604356672899d7a0933af6fb20879bb91871efd
This commit adds a new parameter to the channel parameters for IHostapd
Hidl interface to handle a list of channel freq in MHz to be used in
ACS. This is needed as part of support of Wifi 6GHz band since 6GHz band
channels use same channel numbers as 2.4/5GHz bands.
Bug: 146186687
Bug: 139354972
Test: Manual
Test: VTS test
Change-Id: I8692f3cd28cfaae1d3b870c9f8dbcdd2ff350ee4
In current code base, The SetUp() method in wifi VTS tests does not
reset Wifi state. Hence the first Wifi test runs with unspecified state.
Following test cases are not impacted due to that TearDown() takes care
of resetting the Wifi state.
This commit adds the stopWifi() method to the SetUp() so all test cases
start from the same Wifi state.
Bug: 145312303
Test: Run all wifi VTS tests
Test: atest <VTS test module name>
Change-Id: I63d7c0d27f4ceb713dda3804786a199dc2274be5
Add support to add SAE Authentication algorithm in the
framework (public API), and in the Supplicant HAL.
Bug: 147253259
Test: Manual connection to SAE, PSK, OWE and Open APs
Test: atest WifiConfigurationTest
Change-Id: I853e816be1ba618d61ac0fcb4b116879baba4be2
This commit adds the 802.11ax parameters for SoftAp.
Bug: 141831296
Test: atest VtsHalWifiHostapdV1_2TargetTest
Change-Id: I7258c10c5dda040e6e05c1a8ec595072017e3ace
This commit fixes VTS tests in VtsHalWifiHostapdV1_1TargetTest
resulting from upgrading APIs and stopping support for old APIs.
Bug: 147006566
Test: atest VtsHalWifiHostapdV1_1TargetTest
Change-Id: Ia6be7f08c160ef3b0478630193fb6a39e774e109
This commit fixes VTS tests in VtsHalWifiNanV1_2TargetTest resulting
from upgrading APIs and stopping support for old APIs.
Bug: 146989939
Test: atest VtsHalWifiNanV1_2TargetTest
Change-Id: Ibc71cdb3ead7fb346ac62ebfd132f82ee3d81eeb
This commit fixes VTS tests resulting from upgrading APIs and stopping
support for old APIs.
Bug: 144926452
Test: atest VtsHalWifiV1_0TargetTest
Test: atest VtsHalWifiV1_3TargetTest
Change-Id: I73140be1dfb969da24c802e658e97d4040837243
VTS test for WifiChipHidlTest#registerEventCallback_1_2 was failing
on the default implementation of the 1.4 HAL. This is because
registerEventCallback_1_2() is no longer supported due to the upgrade
to registerEventCallback_1_4().
This commit fixes this VTS test error by allowing ERROR_NOT_SUPPORTED
as a valid test output.
Bug: 146020950
Test: atest VtsHalWifiV1_2TargetTest
Change-Id: Ia58b0dad5ed753c22d620b0fad6904d634e01e72
Added hidl call back function to notify framework about
bss transition request frame handling status.
Also fixed few code style issues by running hidl-gen -Lformat.
Bug: 139474288
Test: Manual
Test: VTS test
Change-Id: I00760f14d81a59e63042b1a5be9f9e3f74ff3a83
Update VTS test for supplicant 1.2 to skip the DPP tests
if the underyling HAL is 1.3. The reason is because 1.3
HAL uses different callbacks.
Bug: 139381558
Test: atest VtsHalWifiSupplicantV1_2Host
Change-Id: Ie9cd93e33bda3ca22ee2b5593d185f1918be847e
Added necessary types and enhanced the callbacks for DPP R2.
Added VTS tests for DPP R2 using HAL 1.3.
Bug: 139381558
Test: atest VtsHalWifiSupplicantV1_3Host
Change-Id: I18a58d6bd0e0b8260946f2186abda5bac93729c7
P2P vts tests should be omitted if p2p
is not supported.
Bug: 145315660
Test: atest VtsHalWifiSupplicantP2pV1_0TargetTest
Change-Id: Ia4cda22a2fce22335f8f230dbd7fd3418b1b3890
This commit adds changes needed to support the 6GHz band to
SoftAP.
Bug: 139354972
Test: Manual
Test: VTS test
Change-Id: Ib4e14facc7cbb54ba89ecf07e75df8dceacb361f
It was decided to perform the check on the device support of 6GHz
through overlay configs instead of through HAL.
This commit removes the Hidl API changes that were used for that
check.
Bug: 145936758
Bug: 139354972
Test: Manual
Test: VTS test
Test: Unit test: hardware/interfaces/wifi/1.4/default/tests/runtests.sh
Change-Id: I81fdf603a668a71e3e875211367111fffee20e54
add NAN 6Ghz support in 1.4, size of bandSpecificConfig should be 3.
Bug: 146062988
Test: unit test
Test: acts AttachTest DiscoveryTest DataPathTest
Change-Id: I3bd0a4f32d804eae848bc15d9813d5ccb3e5fc62
This commit includes the format changes when running the command:
hidl-gen -Lformat android.hardware.wifi@1.4 -randroid.hardware:hardware/interfaces
Bug: 145961722
Test: Build successful
Change-Id: I59b3c4e3f12389ff2660a563b6eb0454a637c35e
This change includes two parts:
* Define WAPI proto, key management, and cipher constants.
* Expose WAPI HAL API for setting the certificate suite.
Bug: 139257562
Test: atest VtsHalWifiSupplicantV1_3TargetTest
Change-Id: Id7a58b242776d641a091b9ede3f147b7d42003d1
This commit adds 6GHz band to NAN related structures and methods.
Bug: 139354972
Test: Manual
Test: VTS test
Test: Unit test:
Test: ./hardware/interfaces/wifi/1.4/default/tests/runtests.sh
Change-Id: I33f63fde67d5a839678076fdb7c76d5eb8645131
This commit adds 6GHz band to WifiBand and update the impacted
structures and methods in Wifi HAL.
Note that Background scar related HAL API will not be using the
new band, and will continue with the legacy set of bands.
Bug: 139354972
Test: Manual
Test: VTS test
Test: Unit test: ./hardware/interfaces/wifi/1.4/default/tests/runtests.sh
Change-Id: I54662251034806338ad64d4622ade259ca260a79
This avoid the framework from setting the HAL daemon's log severity when
verbose logging is enabled by the user.
Bug: 144695435
Test: Manually verified log level change
Change-Id: I71777bb5f7cb8216bc0ecee27fbaa410c39a6a16
Attempts to fix a VTS test failure reported by OEM's on devices
supporting concurrent AP iface.
Bug: 143096362
Test: make vts && vts-tradefed run commandAndExit vts --module VtsHalWifiV1_0Host
Test: Will need to ask OEM to verify the fix.
Change-Id: I0958d720411258761f4ac5bcccc823b06a55d518
Merged-In: I0958d720411258761f4ac5bcccc823b06a55d518
Attempts to fix a VTS test failure reported by OEM's on devices
supporting concurrent AP iface.
Bug: 143096362
Test: make vts && vts-tradefed run commandAndExit vts --module VtsHalWifiV1_0Host
Test: Will need to ask OEM to verify the fix.
Change-Id: I0958d720411258761f4ac5bcccc823b06a55d518
This commit adds the HAL APIs and implementation to support checking
whether device supports 6GHz band or not.
VTS test has been added for the new api.
Bug: 139354972
Test: Manual: Make sure capability is read correctly.
Test: VTS test.
Change-Id: I03b0c6017666ffd3663d5979d6e6a2bd93043c48
1. Added hidl API to return MBO and OCE feature capability.
2. Added hidl API to update the cellular data status.
Bug: 139474288
Test: Manual
Test: VTS test
Change-Id: I4fe1c2ff054f5cc7288e9ed234d29a8ffcca7456
If driver doesn't support the hotspot ACS feature.
It will cause ACS relate vts testcase failure.
Temp disable the vts test case and file b/140172237 to fix in R.
Bug: 135975451
Test: build - make vts
Test: atest VtsHalWifiHostapdV1_1Target / atest VtsHalWifiHostapdV1_0Target
Test: vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_0Target -l INFO
vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_1Target -l INFO
Change-Id: I489d5f5c54f37f3603128e127a6c8b1ee62390d3
This CL makes modidfication to support Wifi 802.11ax to RTT procedures.
Bug: 139354972
Test: vts test
Change-Id: I79fba504e7c7380a254a0b8c175a13e8b993fc8e
From the log and case logic,when assertTrue isSupplicantRunning is not the real wpa_supplicant status.
So occasionally there will be a timeout when waiting for a callback in the waitForHidlService method.
Because this is a low memory version and it is gsi image, we can't modify the image, so we can solve it by extending the time.
Bug:[142585026]
Test:run vts of the VtsHalWifiSupplicantV1_2Host.
Change-Id: Ideef032d310165d956c3ca0967b26bc3e3f44c3b
The HAL shim (default implementation) expects all vendor hal functions
to return valid wifi_error values. In case the vendor hal returning a
value outside this range of values, the HAL service crashes.
This commit is to handle this type of error by defaulting to
WIFI_ERROR_UNKNOWN.
Bug: 143317834
Test: Manual
Test: Pass an invalid error code, and make sure it is properly handled
Change-Id: Ifaba8a7e4e866a2be154c9dcaeb521cd758010ee
This commit adds the API for getConnectionCapabilities() in
ISupplicantStaIface HAL. This is used to return the Wifi support
for the connection on this STA interface.
Bug: 138634524
Bug: 140168755
Test: Manual
Test: VTS test
Change-Id: I24ff3c16434067e41491298e41041bdfdf06452a
Randomization will be handled by framework code instead. This also means
WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION is replaced with a
framework config option (config_wifi_ap_mac_randomization_supported),
which can be set from device overlays.
Bug: 142387520
Test: atest android.hardware.wifi@1.0-service-tests; adb shell LD_LIBRARY_PATH=:/system/lib64/vndk-R /data/local/tmp/android.hardware.wifi@1.0-service-tests/x86_64/android.hardware.wifi@1.0-service-tests
Test: vts-tradefed run vts --primary-abi-only --skip-device-info -l DEBUG --include-filter VtsHalWifiApV1_4Target
Test: lunch hawk-userdebug; m (uses DISABLE_AP_MAC_RANDOMIZATION)
Change-Id: I2dbf1158368ce3c39980501f892c6de1ffb3f748
C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Change-Id: If22be04df7d2d0aae9ed50fada53d0ccd4edc9d1
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Previously, VTS would run VtsHalWifiV1_0HostTest, a python script on the
host that tries identify whether SoftAP and NAN should be supported by
the device. This is complex, prevents migration to pure gtests without
custom runners, and duplicates logic that has become available in VTS.
This switches to equivalent methods natively available in VTS:
- NAN: We can use "precondition-feature" to check for the
"android.hardware.wifi.aware" feature.
- SoftAP: We can use "precondition-lshal" to check whether the
"android.hardware.wifi.hostapd" HAL is declared in the device manifest
(should have the same semantics as the previous python check).
This splits out NAN- and SoftAP-dependent parts of IWifiChip tests so
that they can use this method, so some tests moved between these targets:
- VtsHalWifiV1_0TargetTest
- VtsHalWifiApV1_0TargetTest
- VtsHalWifiNanV1_0TargetTest
Bug: 142304083
Test: vts-tradefed run vts --primary-abi-only --skip-device-info -l DEBUG --include-filter VtsHalWifiV1_0Target --include-filter VtsHalWifiApV1_0Target --include-filter VtsHalWifiNanV1_0Target --include-filter VtsHalWifiV1_1Target --include-filter VtsHalWifiV1_2Target --include-filter VtsHalWifiV1_3Target --include-filter VtsHalWifiApV1_4Target
Change-Id: Ica0b58811a0aa152c1a6c3c9a35d577d6ae70160
Mirrors the methods and tests introduced in IWifiStaIface@1.2 and @1.3.
Android.bp generated with
$ hidl-gen -o . -Landroidbp -randroid.hardware:hardware/interfaces android.hardware.wifi@1.4
Bug: 132705022
Test: make vts && vts-tradefed run vts-host --skip-preconditions --primary-abi-only --module VtsHalWifiV1_4Host
Change-Id: Iddacd2770c59522001673d10daafd3bbed3844f6
It's valid for individual bytes in a MAC address to be zero as long as
they're not all zero.
Bug: 132705022
Bug: 141916952
Test: m -j32 vts && vts-tradefed run vts-hal --skip-preconditions --module VtsHalWifiV1_3Target
Change-Id: Ic33a3b80cce90eb4b031aca33aa66bf2a375dc16
Current codebase has the LOCAL_VINTF_FRAGMENTS defined in the static
library definition in Android.mk. This line is skipped and does not take
effect, and hence the Wifi hal service does not start.
Moving the definition to the executable definitions, so it takes effect.
Bug: 141447327
Test: Verify that wifi starts at boot
Change-Id: I9e01483eec4017444689509ea90f761305ae471b
Move Wifi HAL from 1.3 to 1.4
This commit also include adding the VINTF fragment definition for IWifi
hal.
Bug: 138243400
Test: Builds and wifi works
Change-Id: I5ec9b21f8d6b7e1b5b5e47e26681dd4ed3ffcc2d
libcrypto is unused, which causes problems when boringssl hash
injection is turned on as the code is all stripped and there is
nothing left to inject the hash into.
See http://r.android.com/1117291 for the AOSP change to related
modules.
Bug: 137267623
Test: croot hardware/interfaces/wifi && mma
Change-Id: I9d002c0b723cf9a04ee64641b5281e65912595c8
libcrypto is unused, which causes problems when boringssl hash
injection is turned on as the code is all stripped and there is
nothing left to inject the hash into.
Bug: 137267623
Test: Ran the following together with the changes from
http://r.android.com/q/topic:bug137267623_bsslselftest
m VtsHalDrmV1_{0,1,2}TargetTest \
VtsHalWifiHostapdV1_{0,1}TargetTest{,Util} \
VtsHalWifiSupplicantV1_{0,1,2}TargetTest{,Util} \
VtsHalWifiSupplicantP2pV1_{0,2}TargetTest
(croot hardware/interfaces/confirmationui ; mma)
(croot hardware/interfaces/drm ; mma)
(croot hardware/interfaces/keymaster ; mma)
Change-Id: Ib0607671ef71d99becb483774f810aad9762f4f1
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
If driver doesn't support the hotspot ACS feature.
It will cause ACS relate vts testcase failure.
Temp disable the vts test case and file b/140172237 to fix in R.
Bug: 135975451
Test: build - make vts
Test: atest VtsHalWifiHostapdV1_1Target / atest VtsHalWifiHostapdV1_0Target
Test: vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_0Target -l INFO
vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_1Target -l INFO
Change-Id: I489d5f5c54f37f3603128e127a6c8b1ee62390d3