Use the stub to take care of vendors who don't implement the new HAL
functionality.
Note: This is just an internal cleanup to be consistent with other
functions.
Bug: 73804303
Test: Compiles
Change-Id: I393194772f35a3620c5acd4d5c3b5a6d072cd507
Need to write ringbuffer to flash or else the data become lost.
Also added logic to make sure ringbuffer files over the max limit
get deleted.
Bug: 78025947
Test: compile
Manual test:
flash to device
connect to wifi network
toggle wifi off and observe that ringbuffer files are persisted
keep toggling until the number of files get over the max allowed amount
and verified that old files got deleted
Change-Id: I7d6cff81cf5400a79d1c93a1e12e72fd1a766dad
Note that the new test is currently disabled because we have no
meaningful way to test wifi interfaces that require the interface to be
in connected state. For the full story, read the TODOs above the test.
Change-Id: Iad7abd1f04a9ac6ca60e675222fbd2a893cb4072
Bug: 71581915
Bug: 73804303
Test: as follows:
m VtsHalWifiV1_2TargetTest
adb sync data
adb shell /data/nativetest64/VtsHalWifiV1_2TargetTest/VtsHalWifiV1_2TargetTest
Allow clients to register both 1.0 and 1.2 callback objects. Only
execute the new callbacks for 1.2 callback objects.
Purpose: allow 1.0 VTS tests to run as-is.
Bug: 71581915
Test: atest VtsHalWifiNanV1_0TargetTest
Test: act.py -c <path>/wifi_aware.json -tc ThroughputTest:test_iperf_single_ndp_aware_only_ib
Change-Id: I1e049498a0eaa176a6074c552b1a3c6f23d18fd0
Add a Wifi HAL interface to set MAC address.
The default implementation is to bring the interface down, change the
MAC address, and then bring the interface back up.
Bug: 74347653
Test: vts, manual testing
Change-Id: Ic740d94ec2fcb37e6743d0f3e967f3f4b6afb57d
Translate to basic failure. TODO on adding/mapping-to new HIDL
error codes.
Bug: 73176307
Test: RangeAwareTest with known failures
Change-Id: I90e44c3f5aae3f6e565df3a63a36bd84d15c4755
This commit calls a vendor hal function to wait for the driver to be
ready before it resumes operation. This ensures the driver is ready
and interfaces are created before framework tries to use them.
Bug: 73482286
Test: Manual test (reboot and make sure wifi comes up consistently)
Test: The reboot test has been performed more than 10 times in a row
Test: Also, tested toggling wifi off/on then rebooted, wifi starts fine
Change-Id: I868dac6dbaa0a5248ae6e35d4ba915bc0c4de6eb
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
Not planning to support STA + STA in Pixel 2018, so remove support for
it from the chip combination.
Also, fixed an error in existing unit tests (Need to mock
WifiLegacyHal.registerRadioModeChangeCallbackHandler)
Bug: 74079118
Test: Tested STA connection & AP bringup on taimen.
Test: ./hardware/interfaces/wifi/1.2/default/tests/runtests.sh
Change-Id: I996e63ecdda4d6a5a07a40d5f7ed1072ada37597
The Aware channel width was using an int - whereas an Enum already
exists and is the approriate type.
Bug: 37007030
Test: builds, verified by manual inspection of logs
Change-Id: If93a4cddf0e3304658d7b638de1588de1cd04d34
This commit extends the SAR support to include scenarios for near
head/body and voice calls
These features are only applicale for a certain device capability
(defined in capability mask)
Bug: 3489513
Test: Manual
Change-Id: Ie99978df3c19e04fdd3d7862240f6d3c62eac539
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
|chip_| could be null if wifi is not turned on.
Bug: 72470346
Test: Ensure that the device does not crash when bugreport is collected
with wifi off.
Change-Id: Iface5ecf0511ad88996ebad85ba3c037c3a8c5ee
Bug: 72462185
Test: compile, unit tests
Test: manual
flash device
In a terminal create the archive:
adb shell
su
cd bugreports
lshal debug android.hardware.wifi@1.2::IWifi >> archive.cpio
In another termial pull and extract the archive:
adb pull bugreports/archive.cpio
cpio -iv < archive.cpio
Verify extracted files are the same as files generated in device under
/data/vendor/tombstones/wifi
Change-Id: Ia2e89dd08edce1f0ec6c0c6e2c26231a0a9d4cc4
Shallow copy of ringbuffer is stored inside the hal.
The maximum ringbuffer size is configured by the
framework.
overrides IBase::debug to:
1. write ringbuffers in memory to flash (wifi tombstones)
2. write wifi tombstones to lshal debug fd in archived format
Bug: 70171481
Test: compile, run on device
Test: run "lshal debug android.hardware.wifi@1.2::IWifi >>
archive.cpio" and compared archived files with originals using diff command
Change-Id: I33c30e37f245cfa36e005ba8cdc46e91f6de9237
Add a HAL flag to globally enable or disable NAN RTT negotiations.
Bug: 70218295
Test: integration tests
Change-Id: I1460dd94ba12991e8324cabc88cd3a6ddcf8ed55
Enhance HAL 1.2 to include NDP channel info:
- NDP confirmation message update
- New event (indication) on NDP channel change
Results in a new event callback registration API.
Bug: 37007030
Test: integration tests
Change-Id: If9dee4eca9d6774b03fc295ad239a6a4e7397cba
Some non-pixel devices don't support the logger API's, bypass the error
check for these devices. This is already done for
IWifiStaIface.getCapabilities(), but was missing in
IWifiChip.getCapabilities().
Bug: 69094019
Test: Compiles
Change-Id: I1c5be66b9f22461a957321a83332152ec2cd0c6d
The IWifiChip HAL was uprev'ed to 1.2 but the C++ code did not reflect
it.
Bug: 65647646
Test: builds/runs
Change-Id: I2b4524e8a1fcbfd162919c183367959fbaf68f09
* changes:
wifi(implementation): Load wifi driver on IWifi.start()
wifi(implementation): Different names for concurrent ifaces
wifi(implementation): Add iface combo for 2018
wifi(implementation): Unit tests for V1 & V2 iface combos
wifi(implementation): Add unit test framework
wifi(implementation): Support multiple ifaces of same type
Legacy HAL updated to use mm. The current HIDL is (still at) cm.
Add conversions.
Bug: 69428593
Test: integration tests passing (but ranging is still pending fw)
Change-Id: Ia431fcebedf5a1c66847c2f1627923b5704fece0
The current implementation loads the wifi driver only when the chip is
configured, but the HAL is initialized on IWifi.start(). This seems to
be wrong semantically. The driver needs to be loaded before the HAL is
initialized.
This may have worked previously because the driver was loaded in
init.rc, but may stop working when we move to proper DLKM model in 2018.
Bug: 65671875
Test: Device boots up and connects to wifi networks.
Change-Id: I017d3528bf0b42a6a59af43203ecc9d0d027f60d
Changes in the CL:
a) Added iface combo for 2018 using a new feature flag.
b) Added a generic algorithm to determine if an iface can be created or
not based on the iface combos supported. This is needed because we now
have to support 3 different combos (2016, 2017, 2018) in the HAL.
The current iface creation logic is hard to adapt to these 3 varying combos.
Bug: 65671875
Bug: 69863101
Test: ./hardware/interfaces/wifi/1.2/default/tests/runtests.sh
Change-Id: Iff8737843abee3d03567930e9faba775eaa82e07
Unit tests for all the iface combos supported in V1 (2016 devices) & V2
(2017 devices).
Bug: 68775880
Test: ./hardware/interfaces/wifi/1.2/default/tests/runtests.sh
Change-Id: I1049176aabdf936d442d022b5915129010ce7387
Integrate legacy HAL code mods to add an NDP channel indication.
Note: This CL is just the integration - not the HIDL usage of the
new API.
Bug: 37007030
Test: builds + integration tests passing
Change-Id: I59da1fb7e225a5038e436b793bc66b892786c238
We're going to add some non-trivial logic in wifi chip to handle
multiple chip configurations (to support devices with different
capabilities). So, adding a unit test framework in preparation
for testing those changes.
The mocks only mock legacy HAL methods which are in use during chip
configuration & interface creation/deletion.
Bug: 68775880
Test: Compiles
Change-Id: I8575df02f54656f77077d14ac9535ccc974bdff3
Making all of the iface object fields in WifiChip to vectors to support
multiple ifaces of the same type.
Bug: 65671875
Test: Device boots up and connects to wifi networks.
Change-Id: I4c0c927c0269e54210cc1f81203c1797d72e969c
This was previously disallowed because WifiLegacyHal.stop() was non blocking.
WifiLegacyHal.stop() was made blocking using ag/2715673, so reconfiguration
should be supportable now.
Note: This is a partial revert of ag/2125543.
Bug: 65671875
Bug: 70411703
Test: Will send for regression tests.
Test: Reverted the VTS CL: ag/2139830 and ensured that the test works
now. Can't check-in that revert because it would not be backward
compatible.
Change-Id: Ia5f9ccaf5403d171b0def7740d2adece7eb3c157
Use the top level clang-format setup by the HIDL team to format the
entire implementation.
clang-format -i --style file wifi/1.2/default/*
Bug: 32287573
Test: Compiles
Change-Id: I336c21fd9bfdc560117aa7212f92ab5f01df4b8e
Add support for concurrent interfaces in the WifiLegacyHal class:
a) Removed the hardcoded "wlan0" interface handle in WifiLegacyHal.
b) Modified all the interface specific functions to accept the |iface_name|
argument on which the operation needs to be performed.
Each IWifiIface object will hold the name of the underlying network
interface (wlan0, wlan1 or p2p0) which it is representing.
All IWifiChip operations which needs an iface name will continue to use
the default "wlan0".
Bug: 65671875
Test: Device boots up and connects to wifi networks.
Test: Will send for regression tests.
Change-Id: I9bd9c2a9ba33ac1ea5677fc5d7c261d8eac08e1d
Currently the HAL shim uses fake names to ensure that each type of
IWifiIface has a unique name. This is not a true reflection of the
network interfaces exposed by the wifi driver. So, change the HIDL shim
to use the corresponding interfaces names.
IWifiStaIface, IWifiApIface & IWifiNanIface all use the same "wlan0"
network interface.
IWifiP2pIface uses the "p2p0" network interface.
In the future, we'll be extending this to create a second IWifiStaIface
or IWifiApIface using "wlan1" network interface.
IWifiRttController does not need to be associated with an iface object.
So, it will just default to using "wlan0" always.
TODO(b/34702983): Need to deprecate the bound iface from the HIDL interface.
Bug: 65671875
Test: Device boots up and connects to wifi networks.
Test: Will send for regression tests.
Change-Id: I33fef1332f2fe2da3f48ee87ef06660844699253
In preparation for new feature development - uprev the Wi-Fi Treble HAL
revision from 1.1 to 1.2.
This CL does not contain any functional changes to the HAL itself. Only
updating the revision.
Bug: 65647646
Test: builds and Wi-Fi runs
Change-Id: I8e80e866562a508bf481104a3dbcf2bd8f8015b4