* 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
FCM Version uses a different set of numbers than the SDK level.
This is to decouple the connection between them; it is not required
to have one FCM Version per SDK level.
Test: build test
Test: boots
Bug: 69636193
Change-Id: I62a29b702271d8a7ca8ae80e545a6d2e3b46fdcf
legacy/26/27.xml ("old matrices") should not be changed once
published.
The requirements / HAL usage information are now encompassed in
multiple matrices (instead of a single compatibility_matrix.V.xml).
For example, the usage of HALs on Shipping FCM Version 26 is:
* Required HALs in 26.xml
* Using all required + optional HALs in 26.xml/27.xml/...
In particular,
* Starting at 26.xml (diff legacy 26), gatekeeper is required.
* Starting at 27.xml (diff 26 27),
- broadcastradio@1.0 => 1.0-1
- introduce cas@1.0
- introduce oemlock@1.0
- power@1.0 => 1.0-1
- radio@1.0 => 1.0-1
- introduce tetheroffload.config@1.0
- introduce tetheroffload.control@1.0
- thermal@1.0 => 1.0-1
- usb@1.0 => 1.0-1
- vibrator@1.0 => 1.0-1
- wifi@1.0 => 1.0-1
- introduce weaver@1.0
- introduce wifi.offload@1.0
health@2.0 and configstore@1.1 is not specified
in legacy/26/27.xml, but framework can still use them, since they
are introduced in current.xml.
Test: boot test
Bug: 69861676
Change-Id: I897df6952245a8ce33e1c63264c3970b0483c2f7
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
Broken builds: aosp_x86, docs, full, sdk_phone_armv7.
I cannot reproduce the break locally, so making my best guess on the fix.
Test: it still builds
Change-Id: Icf86c3502fede66dba815458b66f2ebdf33afe91
Hidl doesn't guarantee the server side method goes out of scope
before the client side returns. Even when client calls on the
same thread, the next method could overlap the previous call.
Next call can come in as soon as the hidl callback is called.
In case of openSession and release, there is a rare chance that
release call comes in before previous openSession is returned.
If this happens, the cas plugin object destructor is delayed to
the point when openSession goes out of scope (thus let go its
strong ref to the plugin). This violates our contract that the
plugin object and all associated sessions are released by the
time release() returns.
Manually clean up the strong ref before calling hidl callback
in openSession would fix this.
bug: 70544685
Change-Id: Id89a00591a354c8a46def3cc691dd8e28b4c971b
The interface lib has been in VNDK-SP because
android.hardware.graphics.mapper@1.0 was using it. However, since the
dependency has gone [1], there is no need keep it in VNDK-SP. The
VNDK-SP set should be kept as small as possible because libs in VNDK-SP
are subject to double-loading.
Unmark the 'support_system_process' property to exclude the lib from
VNDK-SP.
This commit re-lands I8722c1ac15ddf56a627a12a0c649b4d734e5e5cd because
it was reverted during O-MR1 push to AOSP-master.
Bug: 69480083
Test: walleye boots to the UI
Change-Id: I0af8115dceb9711c6c451ffaeedda6c823ec2905
Merged-In: I8722c1ac15ddf56a627a12a0c649b4d734e5e5cd
(cherry picked from commit ec44d18dbe)
Move android.hardware.health@2.0-impl to hardware/interfaces
from system/core/healthd.
Bug: 70533363 63702641
Test: make -j32
Change-Id: I0e4468f2183a273b4f73606b04faff88dd7afb72
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