Commit graph

110 commits

Author SHA1 Message Date
TreeHugger Robot
62b35058a3 Merge "[AWARE] Developer documentation on HAL usage" into pi-dev 2018-05-21 20:43:04 +00:00
Roshan Pius
1701b7a842 wifi(implementation) Modify OWNERS
Bug: 73403966
Change-Id: I3cedb25e43a9adaabcf7bc629f9ac985f06cdb8b
2018-05-19 01:09:04 +00:00
Etan Cohen
a67fdff49b [AWARE] Developer documentation on HAL usage
Add documentation specifying which HAL APIs are used by the
framework.

Bug: 79431608
Test: N/A
Change-Id: Ie5b1da7b9a613d17df61351b067819a4d765a762
2018-05-18 10:42:19 -07:00
Nick
c52e808774 Add feature flag to disable wifi AP on the watch.
Bug: 74074075
Change-Id: I6bd823e63f5cc5292571be4d74ca65bca72709e0
2018-05-11 15:14:50 -07:00
Roshan Pius
d3536bf9ed wifi(implementation): Use stub for |read_packet_filter|
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
2018-04-20 15:47:46 -07:00
Pankaj Kanwar
ecc6269f3a Merge "persist ringbuffer to flash when vendor hal stops" into pi-dev 2018-04-19 00:40:05 +00:00
xshu
37126c9cdb persist ringbuffer to flash when vendor hal stops
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
2018-04-16 17:25:07 -07:00
Bernie Innocenti
ac10280ea5 VTS tests for IWifiStaIface@1.2.
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
2018-04-16 11:55:47 +09:00
Etan Cohen
1ffc5349b0 [AWARE][VTS] Add VTS tests for the Wi-Fi 1.2 Aware HAL
Add VTS tests for the Wi-Fi 1.2 Aware HAL APIs.

Bug: 71581915
Test: VtsHalWifiNanV1_2TargetTest
Change-Id: I8dffc694193bb1122ae8e2e8110678b24b5c5899
2018-04-10 12:47:29 -07:00
Etan Cohen
44a8bf9806 [AWARE] Support a mix of 1.0 and 1.2 Callback registration
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
2018-04-10 12:46:53 -07:00
Jong Wook Kim
b9f0ff9fa6 SetMacAddress in Vendor HAL
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
2018-03-27 15:37:30 -07:00
Bernie Innocenti
7e6f71ad92 Wire readApfPacketFilterData() to the legacy hal
Bug: 73804303
Bug: 36221302
Change-Id: If5d9d3afd40758aea98832e4b350216f496fc3bd
Test: built and flashed, verified boot
(cherry picked from commit efbb9c3f59)
2018-03-26 14:07:26 +09:00
Tom Cherry
a8617fa6c5 Merge "Add capabilities to wifi HAL service" into pi-dev 2018-03-23 19:59:47 +00:00
Tom Cherry
a46c622822 Add capabilities to wifi HAL service
Bug: 74554159
Test: wifi works on walleye
Change-Id: Ia6784e78a7faec914cbbecbe84800c4fbe46c00b
2018-03-23 19:46:51 +00:00
Etan Cohen
b6df5fe23f Merge "[RTT][AWARE] Support new legacy error codes for Aware RTT" into pi-dev 2018-03-09 16:10:02 +00:00
Etan Cohen
69c8922f63 [RTT][AWARE] Support new legacy error codes for Aware RTT
Translate to basic failure. TODO on adding/mapping-to new HIDL
error codes.

Bug: 73176307
Test: RangeAwareTest with known failures
Change-Id: I90e44c3f5aae3f6e565df3a63a36bd84d15c4755
2018-03-08 13:41:47 -08:00
Ahmed ElArabawy
c101815ac1 WiFi: Wait for driver to be ready before operation
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>
2018-03-06 19:48:34 +00:00
Bernie Innocenti
f0be7ca778 Merge "Add a wifi hal interface to read-back the APF memory." 2018-03-05 02:37:12 +00:00
Bernie Innocenti
bd94b43bc9 Add a wifi hal interface to read-back the APF memory.
Test: builds, boots on marlin.
Change-Id: I860ee093b585bedd800830ea05516ad054a8dc3a
2018-03-03 08:28:10 +09:00
TreeHugger Robot
6271c5e63f Merge "wifi(implementation): Remove support for STA + STA in chip combination" 2018-03-02 18:58:28 +00:00
Roshan Pius
aceecb069e wifi(implementation): Remove support for STA + STA in chip combination
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
2018-03-02 09:21:02 -08:00
Ahmed ElArabawy
cc064455da WiFi: Add VTS for Wifi HAL V1.2
This commit adds VTS tests for WiFi HAL V1.2

Bug: 71581915
Test: `adb shell /data/VtsHalWifiV1_2TargetTest`

Change-Id: I0deab4625e6929507b132f2b65947b862b46aa2d
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
2018-03-01 14:03:14 -08:00
Etan Cohen
b1b7a82c3f [AWARE] Fix type of channel width to use enumeration
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
2018-02-07 14:45:41 -08:00
Oscar Shu
b8d6acac7e Merge "Followup CL for ringbuffer in wifi_hal" 2018-02-05 23:51:27 +00:00
Ahmed ElArabawy
6a1accf8ba Wifi: Add Support for Body Proximity for SAR
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>
2018-01-26 16:34:10 -08:00
Roshan Pius
7cf1df7ce1 wifi(implementation): Check if wifi_chip is null in debug()
|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
2018-01-24 19:13:09 -08:00
xshu
4cb3316da4 Followup CL for ringbuffer in wifi_hal
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
2018-01-24 17:43:48 -08:00
Roshan Pius
85c6441fba wifi(implementation): Invoke radio mode change callbacks
Bug: 68349158
Test: Compiles
Change-Id: I319ef33775069bf10abe449670e8f0d50de746e3
2018-01-23 19:50:05 -08:00
Roshan Pius
1a7b1db2e8 wifi(implementation): Conversion functions for radio mode change
Bug: 68349158
Test: Unit tests
Change-Id: I608c42971d023637db20e78b0626164884950d70
2018-01-23 19:50:05 -08:00
Roshan Pius
01f08770d2 wifi(implementation): WifiLegacyHal interface for radio mode change
Bug: 68349158
Test: Compiles
Change-Id: I46da8902021ad1e63511eabe25027ee47a52ee03
2018-01-23 19:50:05 -08:00
Roshan Pius
1ce92cfb0f wifi(interface): Add callbacks for indicating radio mode changes
Bug: 68349158
Test: Compiles
Change-Id: Id9dc5118e7595651cadf24676b66d4c0875396ba
2018-01-23 19:49:59 -08:00
TreeHugger Robot
84a51275b5 Merge "move ringbuffer interactions to wifi hal" 2018-01-24 03:36:38 +00:00
xshu
5899e8e9a1 move ringbuffer interactions to wifi hal
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
2018-01-23 13:54:19 -08:00
Etan Cohen
4f5bc6cc53 [AWARE] Add global NAN RTT enable/disable flag
Add a HAL flag to globally enable or disable NAN RTT negotiations.

Bug: 70218295
Test: integration tests
Change-Id: I1460dd94ba12991e8324cabc88cd3a6ddcf8ed55
2018-01-18 19:51:22 +00:00
Etan Cohen
c7bd0f718c [AWARE] Add NDP channel info to HAL 1.2
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
2018-01-18 19:33:14 +00:00
Etan Cohen
9e7a405733 [AWARE] Add power confriguration parameters to HAL 1.2
Add configuration parameters (power optimization) to NAN HAL 1.2.

Bug: 67745737
Test: integration tests
Change-Id: I65524c05c6861d7b54e441572b3be918bc6bb5ab
2018-01-18 19:29:59 +00:00
Roshan Pius
876220fe51 wifi(implementation): Fix IWifiChip.getCapabilities()
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
2017-12-28 16:19:06 -08:00
Etan Cohen
9649e54d6c [WIFI][TREBLE] Uprev IWifiChip to 1.2
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
2017-12-21 08:41:34 -08:00
Etan Cohen
e262f8cecd Merge "[AWARE] Update cm HIDL to use mm HAL" 2017-12-15 16:53:50 +00:00
Roshan Pius
220d98c193 Merge changes I017d3528,Ie5444041,Iff873784,I1049176a,I8575df02, ...
* 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
2017-12-15 04:02:13 +00:00
Etan Cohen
7b8c5d78c8 [AWARE] Update cm HIDL to use mm HAL
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
2017-12-14 18:12:04 -08:00
Etan Cohen
d4020eaa27 Merge "[AWARE] Add legacy code wrapper for NDP channel indication" 2017-12-13 18:38:05 +00:00
Roshan Pius
8fc6d17071 wifi(implementation): Load wifi driver on IWifi.start()
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
2017-12-13 10:35:50 -08:00
Roshan Pius
8e3c7ef134 wifi(implementation): Different names for concurrent ifaces
Allocate different iface names (wlan0, wlan1) for concurrent ifaces.

Bug: 65671875
Test: ./hardware/interfaces/wifi/1.2/default/tests/runtests.sh
Change-Id: Ie544404183dbb616a20f88f4fb3ce71795cf89af
2017-12-13 10:35:50 -08:00
Roshan Pius
cc338202ef wifi(implementation): Add iface combo for 2018
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
2017-12-13 10:35:50 -08:00
Roshan Pius
3312801aa5 wifi(implementation): Unit tests for V1 & V2 iface combos
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
2017-12-13 10:35:37 -08:00
Etan Cohen
1bf15f1c57 [AWARE] Add legacy code wrapper for NDP channel indication
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
2017-12-12 16:15:16 -08:00
Roshan Pius
200a17db77 wifi(implementation): Add unit test framework
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
2017-12-12 15:01:15 -08:00
Roshan Pius
675609baa6 wifi(implementation): Support multiple ifaces of same type
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
2017-12-12 15:01:15 -08:00
Roshan Pius
ba38d9ce76 wifi(implementation): Allow chip reconfiguration
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
2017-12-11 23:47:43 +00:00
Roshan Pius
abcf78fe90 wifi(implementation): Fix formatting
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
2017-12-04 08:14:11 -08:00
Roshan Pius
acededbcd1 wifi(implementation): Dual interface support
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
2017-12-04 08:14:11 -08:00
Roshan Pius
9377a0d285 wifi(implementation): Use real iface names
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
2017-12-04 08:14:11 -08:00
TreeHugger Robot
91d263d6a9 Merge "Fix library loading order in .mk files." 2017-11-13 20:40:38 +00:00
Martijn Coenen
b6fa3ae638 Fix library loading order in .mk files.
Test: angler boots again
Bug: 69180318
Change-Id: Id71e2348eabf5101d1fd286bbc0076154703d159
2017-11-13 19:59:54 +01:00
Steven Moreland
8db261bc99 Updating makefiles for hidl_interface.
Bug: 64487114
Test: manual
Merged-In: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
Change-Id: Ie13d9e014cf2b81c18c67f551b4644fb9f0ba812
2017-11-13 10:00:18 -08:00
Steven Moreland
f390f03aa4 Update for Soong-only makefiles.
Test: pass
Bug: 33420795
Change-Id: Ibec6d1e38939b9e7566a96381439be2aac3bf8ca
2017-10-11 18:30:28 +00:00
Roshan Pius
aac0f48dbe Merge "wifi(implementation): Increase stop timeout" into oc-mr1-dev am: 558d53cc61
am: b537ec5d6f

Change-Id: I6e9a1f36d85b9e9f421873e79e5df9214bf053a0
2017-10-04 00:02:03 +00:00
Steven Moreland
3788a7321f Update makefiles for hidl-adapter (2/2).
Bug: 37518178
Test: none
Change-Id: I77fe67964f89da8b66aeb8df6d424de0f8689f8d
2017-09-27 08:55:47 -07:00
Etan Cohen
6ce5090854 [WIFI][TREBLE] Uprev Wi-Fi HAL 1.2
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
2017-09-14 13:00:39 -07:00