Commit graph

231 commits

Author SHA1 Message Date
Roshan Pius
eabd11bf14 wpa_supplicant(interface): Add bssid to WNM callbacs
Also,
Renamed the other HS2.0 callback param to |bssid|.

Bug: 35444886
Test: Compiles
Change-Id: Ic1b3f7c92fe2a9d25651c682534270e527506d88
2017-02-16 18:21:45 -08:00
Etan Cohen
2eff5c85fe Merge "[AWARE] Update comments on transmit followup status codes" 2017-02-17 01:58:07 +00:00
Treehugger Robot
c00fc1ff6b Merge "wifi(implementation): Initialize flags before conversion" 2017-02-17 00:59:29 +00:00
Roshan Pius
88c3272d0e wifi(implementation): Initialize flags before conversion
There are a few flags which were not being reset before conversion in
hidl_struct_util.cpp. Fix those.

Bug: 35432118
Test: Compiles & tested with calling code changes.
Change-Id: If652ceed856cacf412f4dbf8eedbc351d04b6b89
2017-02-16 12:50:08 -08:00
Roshan Pius
72b5eb0f29 supplicant(interface): Add new EAP phase 2 type and NFC methods
These new EAP methods were recently added in b/34835771. Add HIDL
support for them.

Bug: 35270422
Bug: 35311730
Test: Compiles
Change-Id: I3488f5e49ff72fe1717a16c27ffbe45ac2a8ebf4
2017-02-16 19:48:27 +00:00
Etan Cohen
d5d6e37d6e [AWARE] Update comments on transmit followup status codes
Fix documentation of transmit followup status codes.

Bug: 34888409
Test: builds (only comment changes)
Change-Id: I8c55c627a0ecac625cb574988b2b860070254527
2017-02-16 08:29:35 -08:00
Roshan Pius
d37341f1e5 wifi(implementation): Callback death handler
Add a new utility to handle callback death notifications. The new class
HidlCallbackHandler will be used by all the HIDL interface objects to
manage callbacks. Any dead clients will automatically removed from the
cb list by the utility class.

Bug: 34840719
Test: Compiles
Test: Verified that the cbs are deleted on crashing the framework
manually
Change-Id: I0f7ba8b3ed717c2e8e8fbf744a2501d0ad2d48c8
2017-02-15 18:31:03 -08:00
mukesh agrawal
90f321722c wifi(vts): simplify HIDL calls
Presently, the core of the Wifi test logic is
obscured by the boilerplate required to create
a callback.

This CL provides some utilities to simplify
the creation of a HIDL result callback, and
migrates existing Wifi code to use the new
utilities.

Along the way: add a .clang-format file, so
that I don't misformat code with 2-space
indents (the Google default).

Bug: 34817351
Test: vts-tradefed run commandAndExit vts --module=HalWifiHidlTargetTest
Change-Id: Id2c728f96c3369c74adc8dfce7228b0a15a0781e
2017-02-15 12:47:02 -08:00
Etan Cohen
751dc694a4 Merge "[AWARE] Correct comment on Discovery Window usage" 2017-02-15 14:52:54 +00:00
Treehugger Robot
8cd0125d2e Merge "Remove --coverage in Android.bp" 2017-02-15 05:08:19 +00:00
Etan Cohen
06cd8de39e [AWARE] Correct comment on Discovery Window usage
Clarify that DW period specification on discovery session
does not override the overall system DW period specification
(if one is provided).

Bug: 35040192
Test: none - comment fix
Change-Id: Ia7c495f1cd50a4bce0ffbaf242e52bc4f110eef2
2017-02-14 13:51:11 -08:00
Steven Moreland
46c0b94992 Move hidl shims to the vendor partition.
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.

Bug: 34135607
Test: marlin persist.hal.binderization on/off

Merged-In: I3f86c77c147514fe470f08088a66de312ae32d4e
Change-Id: I3f86c77c147514fe470f08088a66de312ae32d4e
2017-02-13 23:14:38 +00:00
Roshan Pius
3646298ab6 Merge changes Ieee26013,I275bba11,I7e7258e7,I88111181
* changes:
  supplicant(interface): Remove redundant callbacks
  wifi(implementation): Copy the user complete callback by value
  wifi(implementation): Add status check for all cb invocation
  wifi(implementation): Add global lock
2017-02-13 21:25:39 +00:00
Roshan Pius
2ca2a529b9 supplicant(interface): Remove redundant callbacks
The information broadcast via these callbacks are already available via
other callbacks.

1. All of the onProvisionDiscovery* callback data can be retrieved via the
|onProvisionDiscoveryCompleted| callback.
2. OnAssociated & onConnected callbacks data can retrieved via the
onStateChanges callback.

Bug: 34221586
Test: ./hardware/interfaces/update-makefiles.sh

Change-Id: Ieee26013dfda7a9be41a80e98ff1537da16b3466
2017-02-13 13:25:16 -08:00
Roshan Pius
742bb97769 wifi(implementation): Copy the user complete callback by value
The callback object may go out of scope by the time it's invoked. So,
make a copy of it. We're doing the same for the other user callbacks
received in this class.

Bug: 34930275
Test: Compiles
Change-Id: I275bba11ae8735a21514d871e8aa473f92f0fd7d
2017-02-13 13:25:15 -08:00
Zhuoyao Zhang
65c99d7f08 Update vts files on aosp.
* Based on the latest hidl-gen and .hal files.

Test: mma
      make vts.

Change-Id: I4765450d985afd552fe720d91b9ab3422f5b7a47
2017-02-12 13:51:06 -08:00
Roshan Pius
bc662205c6 wifi(implementation): Add status check for all cb invocation
Bug: 34820508
Test: Compiles
Change-Id: I7e7258e782142bae7373fa0543e6c17184b043a9
2017-02-10 22:03:40 -08:00
Roshan Pius
091e1c1f3a wifi(implementation): Add global lock
Add a global lock to address synchronization issues between the main
HIDL method servicing thread and the legacy HAL's event loop thread.

Also, added some documentation for the threading model used.

Bug: 34261034
Test: Compiles
Change-Id: I881111814ff5ebd601d6a4c85cf284b30ae47ed3
2017-02-10 22:03:40 -08:00
Etan Cohen
96518722ee Merge "[WIFI] Update VTS generated file" 2017-02-11 04:38:06 +00:00
Etan Cohen
ff7aac5a5a [WIFI] Update VTS generated file
Large churn in files - seems to be mostly driven
by changes in generated code as opposed to HAL
changes.

Bug: 33459306
Test: build + vts-tradefed run commandAndExit vts --module=HalWifiHidlTargetTest
Change-Id: I1762a24108f9119dbc9c6807d6a2870f016a26d9
2017-02-10 18:14:02 -08:00
Etan Cohen
10569b1bb4 Merge "[AWARE] Update capabilties" 2017-02-11 00:58:36 +00:00
Etan Cohen
11cea0d4a3 Merge "[AWARE] Add support for Subscribe Service ID List Attribute" 2017-02-10 23:12:14 +00:00
Etan Cohen
97c3540042 Merge "[AWARE] Add support for SDEA.ServiceInfo field" 2017-02-10 23:11:55 +00:00
Etan Cohen
66dcae0656 Merge "[AWARE] Update HIDL to match spec and add comments" 2017-02-10 23:11:37 +00:00
Etan Cohen
4daf983274 [AWARE] Update capabilties
Update capability configuration to reflect added/remove fields:
- Added extendedServiceSpecificInfo
- Remove vendor-specific attribute (VSA)

Bug: 35193423
Bug: 35193235
Test: unit tests and integration (sl4a) tests
Change-Id: I0dad08ff9d16ea54f5db7303cc5f90e942f48037
2017-02-10 12:45:55 -08:00
Etan Cohen
b9b71cee37 [AWARE] Add support for Subscribe Service ID List Attribute
Add HAL definition to support Subscribe Service ID List Attribute
inclusion in beacons. Until support is added in legacy HAL will not
be functional.

Rationale: enhances likelihood of being able to find the right service.

Bug: 35195516
Bug: 35040192
Test: unit tests & integration (sl4a) tests
Change-Id: I343266e3277c7351f29f6851cb1a9c1746cda6e8
2017-02-10 12:45:55 -08:00
Etan Cohen
2373fe2a88 [AWARE] Add support for SDEA.ServiceInfo field
Add support for SDEA.ServiceInfo as extended service
specific information field in all SDF-related APIs:
discovery (configure & match), message sending and
receiving.

Rationale: SDEA.ServiceInfo will form the basis for
upper layer discovery protocols on NAN (e.g. mDNS).
Even if not exposed to user-facing API will need to
have handle to be able to create adaptation layers.

Bug: 35193423
Bug: 35040192
Test: unit test and integration (sl4a) tests.
Change-Id: I3fc225952e93a134d5e58795281238829ed4b1ea
2017-02-10 12:45:55 -08:00
Etan Cohen
44983aeea9 [AWARE] Update HIDL to match spec and add comments
Update some HIDL names to match more closely the spec
naming convention. Add comments - whenever possible
provide reference to NAN spec.

Bug: 34985658
Bug: 35040192
Test: unit tests and integration (sl4a) tests
Change-Id: I957fb8a9814b3acaf8b710d397fe18b39f6a8c77
2017-02-10 12:45:11 -08:00
Dan Willemsen
84107a0630 Remove --coverage in Android.bp
It's no longer allowed now that Soong supports code coverage.

Bug: 32749731
Test: None
Change-Id: I09ef27983e0744543c3a6e1c0c73d69217dd582c
2017-02-10 09:29:36 -08:00
Etan Cohen
ff14eb32cd Merge "[AWARE] Modify the discovery session handle to uint8_t" 2017-02-10 02:48:43 +00:00
Tri Vo
06da29ffae Use filegroup as genrule srcs.
Test: mmma hardware/interfaces -j64
Change-Id: If282ed5f4a87045d169fcea7ad648b046a5f1cfb
2017-02-10 02:18:07 +00:00
Andreas Huber
0574bacb2a Updated makefiles
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.

Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
2017-02-09 16:56:56 -08:00
Etan Cohen
073bb9943a [AWARE] Modify the discovery session handle to uint8_t
Match the NAN protocol.

Bug: 35040192
Test: unit tests + integration (sl4a) tests
Change-Id: I9b39d184708c6e000bd4d84f97659f20d7ec75fd
2017-02-09 12:30:23 -08:00
Etan Cohen
ccb1562771 [AWARE] Remove support for vendor-specific attributes
Vendor-specific attribute support API is not fully functional or
thought out. The Tx portion is working but the Rx portion requires
additional configuration to prevent spamming the framework with all
vendor-specific attributes.

Remove until full solution is designed.

Bug: 35193235
Test: unit tests and integration (sl4a) tests.
Change-Id: I31a601af3b2c1f9f736130ce00abf73c55ac086a
2017-02-09 12:30:18 -08:00
Tri Vo
ac9f1c02f3 Remove vts driver/profiler build rules.
Generate filegroups for .hal files so that driver/profiler build rules
can migrate to another project.

Bug: 34893894
Test: mmma hardware/interfaces -j32
Change-Id: Iefc98a6df16706fbb798bc32405fe8ff0c3de450
2017-02-06 13:54:41 -08:00
Keun Soo Yim
5d6712c7e1 move VTS stub files and non-functional tests (aosp)
Test: mma
Bug: 34976004
Merged-In: Id9c88a9778fba49f0841a474aa067d271f14e207
Change-Id: Id9c88a9778fba49f0841a474aa067d271f14e207
2017-02-04 02:52:31 +00:00
Zhuoyao Zhang
a0ff9aca7a Merge "Support driver/profiler for all hals." 2017-02-03 00:43:03 +00:00
Zhuoyao Zhang
bd752892b3 Support driver/profiler for all hals.
* Update the make file to generate driver/profiler for hals.

Test: mma
Change-Id: I2a91d913b05beb8e1ecf28a205852f848ef1f5ee
2017-02-01 20:53:21 -08:00
Roshan Pius
795bb81596 wifi: Add scanning mac oui setter
Bug: 34886995
Test: Compiles
Change-Id: I55d4cf55d1832f27de975f97c2e739012ddacc28
2017-02-01 21:57:40 +00:00
Etan Cohen
4bbc209282 Wi-Fi/NAN HAL/service fixups
Fixes related to debugging during integration with
framework. Changes are due to errors in original
definition.

Bug: 32315992
Test: integration (sl4a) tests
Change-Id: I5c427e4d0f8677a611eb6d9abfa641a7f8406e31
2017-01-31 14:39:57 -08:00
Roshan Pius
32fc12ea4f wifi: Fixing Nits
Changes in the CL to fix bugs found while integrating
with framework:
1. Added IWifiApIface.setCountryCode()
Bug: 34682168
2. Fixed documentation nits in .hal files.
Bug: 34468218
3. Changed roaming state enum values.
Bug: 34715231
4. Added log for EBUSY in legacyErrorToString()
Bug: 34715469
5. Remove "-Wno-unused parameter" from Android.mk
Bug: 34611289
6. Remove the erroneous |onFailure| callback invocation in wifi.cpp.
7. Add null terminations to strings passed to legacy HAL API's
8. Remove unused |IWifiStaIface.stopDebugPacketFateMonitoring|.

Test: Compiles
Change-Id: If3a3e2f360a378c59dc56b8bbe3a0c6d400b3bd8
2017-01-30 15:12:31 -08:00
Roshan Pius
dbd09c6bb8 supplicant(interface): Add the new radio work methods
These radio work methods can be used by external programs (wificond in
our case) to request wpa_supplicant to stop doing any offchannel
operations.

Also,
1. Add the setUpdateIdentifier method in ISupplicantStaNetwork.
2. Add the setProactiveKeyCaching method in ISupplicantStaNetwork.
3. Add sendNetworkEapSimGsmAuthFailure &
sendNetworkEapSimUmtsAuthResponse in ISupplicantStaNetwork.
4. Add the setWpsDeviceType() method in ISupplicantIface.

Bug: 34454675
Bug: 32581374
Test: /hardware/interfaces/update_makefiles.sh
Change-Id: I83fe577f6bd39d2daef2cb203ad9a8a93657c988
2017-01-24 14:46:08 -08:00
Keun Soo Yim
69a910f802 Add host-side code for wifi HAL test
Test: make vts -j30 BUILD_GOOGLE_VTS=true TARGET_PRODUCT=aosp_arm64 &&
vts-tradefed run commandAndExit vts --skip-all-system-status-check
--primary-abi-only --skip-preconditions --module HalWifiHidlTargetTest
-l INFO

Bug: 34179464
Change-Id: I70c9495a5f2cb0c726373969ada5e33a00cc4c18
2017-01-23 12:34:49 -08:00
Chris Phoenix
133aa77f8a Merge "wifi HAL uses "default" service name" 2017-01-20 23:10:13 +00:00
Chris Phoenix
fa3cb1766e Merge "wpa_supplicant HAL uses "default" service name" 2017-01-20 23:10:05 +00:00
Treehugger Robot
77b36c33b7 Merge "Don't memset &ptr" 2017-01-20 20:14:59 +00:00
Roshan Pius
639bb13553 Merge changes from topics 'id_str_supplicant_hidl', 'p2p_wps_supplicant_hidl'
* changes:
  wifi(vts): Generate the .vts files
  wifi(interface): Use the "bitfield" type for masks
  supplicant(interface): Add sta network idstr & ft key mgmt
  supplicant(interface): Add missing STA callbacks
  supplicant(interface): Add various WPS device params
  supplicant(interface): Add P2P iface methods/cbs
2017-01-19 22:51:22 +00:00
Chris Phoenix
b64f563bc2 wpa_supplicant HAL uses "default" service name
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: builds; verify HAL still works

In support of b/33844934

Change-Id: Ib80edecf53adf442e935a2535b8cc6e2e5aefd1e
2017-01-19 13:38:21 -08:00
George Burgess IV
ccd12b1ac1 Don't memset &ptr
Bug caught by running clang-FORTIFY on Android.

Bug: None
Test: Builds
Change-Id: I23ed01cf23bdba74fb141d0b0d61c0da4c750a42
2017-01-19 13:22:33 -08:00
Chris Phoenix
ab8166fa4e wifi HAL uses "default" service name
The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: builds; verify HAL still works

In support of b/33844934

Change-Id: Ia086509b3433976524bc4a0ac4b24385840ce565
2017-01-18 17:47:07 -08:00
Roshan Pius
522e62d54b supplicant(vts): Add gtest framework
Bug: 33457575
Test: adb push
out/target/product/angler/data/nativetest/supplicant_hidl_test/supplicant_hidl_test
/data/ &&  adb shell /data/supplicant_hidl_test
Change-Id: I8b560483166822a33b8d81433178fdbc6077ec11
2017-01-18 12:02:13 -08:00
Roshan Pius
720f4bdbc9 wifi(vts): Generate the .vts files
Generates the .vts files for all wifi HIDL interfaces.

hidl-gen -o hardware/interfaces/wifi/1.0/vts/ -L vts -r
android.hardware:hardware/interfaces -r
android.hidl:system/libhidl/transport android.hardware.wifi@1.0
hidl-gen -o hardware/interfaces/wifi/supplicant/1.0/vts/ -L vts -r
android.hardware:hardware/interfaces -r
android.hidl:system/libhidl/transport
android.hardware.wifi.supplicant@1.0

Bug: 32022435
Test: Compiles
Change-Id: Idb037dafb72e645e5f6618bc909ba02ae7232e77
2017-01-18 11:02:08 -08:00
Roshan Pius
5c3a0d9666 wifi(interface): Use the "bitfield" type for masks
Change all the variables representing masks to the new bitfield type
in all the Wifi HIDL interfaces.
The generated code will still produce the underlying type of enum as
param. So, no changes are needed in the implementation.

Bug: 33358724
Test: Compiles
Change-Id: Id2e5dee2ce1f1ec8e744aa1c81d3cb9c66e7fc39
2017-01-18 09:49:17 -08:00
Roshan Pius
2d50db95b4 supplicant(interface): Add sta network idstr & ft key mgmt
Bug: 34284015
Bug: 32571829
Test: Compiles
Change-Id: Id4d08657a4ed5a76f727e89c19991a65ce7f91e5
2017-01-18 09:06:33 -08:00
Roshan Pius
6eb05a2fc7 supplicant(interface): Add missing STA callbacks
Add a few missing callbacks in ISupplicantStaIfaceCallbacks &
ISupplicantCallbacks.

Bug: 34274091
Test: Compiles
Change-Id: I5d7819f9708f6caa4da80ed481408e376a5636f8
2017-01-18 09:06:33 -08:00
Roshan Pius
4984f9ab80 supplicant(interface): Add various WPS device params
Add setters for the various params used for WPS operations.

While there,
Add missing error code in IWifiStaIface method docstrings.

Bug: 34198758
Test: Compiles
Change-Id: I3b4709083975320210c9ed2dff59852372778483
2017-01-18 09:06:33 -08:00
Roshan Pius
09f2ce3b3e supplicant(interface): Add P2P iface methods/cbs
Add the missing P2P iface methods and callbacks.

Bug: 34221586
Test: Compiles
Change-Id: I9bace8ac5304dd65d81bb255dac023657c9460cc
2017-01-18 09:06:33 -08:00
Roshan Pius
ab16b319f4 Merge "wifi: Add capabilitiy flag for ND offload" 2017-01-18 15:33:47 +00:00
Roshan Pius
656f82054a wifi: Add capabilitiy flag for ND offload
Bug: 34224734
Test: Compiles
Change-Id: If4e6303fdff792a9dd576551fd84a741d8183798
2017-01-17 12:59:55 -08:00
Roshan Pius
08e6bbacf2 supplicant(interface): Add interface for WPS
Add the methods/callbacks required for WPS functionality through
wpa_supplicant.

Bug: 34198758
Test: Compiles
Change-Id: Iff1450621a4b039307ad6098f98326c35e53d4c6
2017-01-17 08:28:46 -08:00
Treehugger Robot
147abafc18 Merge "supplicant(interface): Fix a typo in documentation" 2017-01-13 19:05:01 +00:00
Roshan Pius
5f1f3557aa Merge changes Ia9b1d24c,I86980cd2
* changes:
  wifi: Add keep alive packet sending functionality
  wifi: Add nd offload functionality
2017-01-13 16:46:15 +00:00
Roshan Pius
43a4e12d9a supplicant(interface): Fix a typo in documentation
Bug: 33470645
Test: Compiles
Change-Id: I79789f64610ab7196b32794f4a7c264a2d9d7a8b
2017-01-12 12:51:26 -08:00
Roshan Pius
9a9869a759 wifi: Add keep alive packet sending functionality
Bug: 34233272
Test: Compiles
Change-Id: Ia9b1d24cccf3ec6a09bbb6b6e9d1f4bc13623767
2017-01-11 17:04:31 -08:00
Roshan Pius
af727c0cc8 wifi: Add nd offload functionality
Bug: 34224734
Test: Compiles
Change-Id: I86980cd27ea97216c9431878bb9a922c8942b361
2017-01-11 16:43:38 -08:00
Yifan Hong
10ac9b44f5 Bp/n/sFoo -> Bp/n/sHwFoo
Bug: 33554989
Test: hidl_test
Change-Id: I748181e9eaf5b78318054b9fd99ac1a43d00498a
2017-01-10 16:01:46 -08:00
Etan Cohen
f01bcaa9a3 [AWARE] Update HIDL interface and link to legacy HAL
HAL: Refine first cut implementation of HIDL interfaces and bring
up-to-date with changes to HAL.

Server: connect to legacy HAL, convert all structures.

Bug: 32207606
Test: builds
Change-Id: Ice1ba44014aa98cc948c0d0202b4fd18bf875502
2017-01-10 11:53:34 -08:00
Steven Moreland
c67a682e3a Return<*> getStatus().isOk() -> isOk()
Bug: 31348667
Test: compiles
Merged-In: If8d5a23f80dbc04127635b49f1ef77398fc9f8a1

Change-Id: If8d5a23f80dbc04127635b49f1ef77398fc9f8a1
2017-01-04 20:20:23 -08:00
Martijn Coenen
4faa7f5b27 Fix wifi/bluetooth threadpool usage.
Bug: 31226656
Test: mma, hidl_test
Change-Id: I3f30f32392714ed653498828172165e511f847e7
2016-12-30 11:24:18 +01:00
Roshan Pius
1ae4cbbb82 wifi(vts): Add framework for gtests
These tests don't do much currently other than assert that we can
configure the chip in the required modes and create all the iface
objects.
The |wifi_hidl_test_utils| contains all helper functions that will be
shared across the different test fixtures.

Bug: 33459306
Test: adb root && adb remount && adb push
out/target/product/angler/data/nativetest/wifi_hidl_test/wifi_hidl_test
/data/ && adb shell /data/wifi_hidl_test

Change-Id: Iaea8e264ab1ef9113f375d7f56acab851aff21aa
2016-12-16 18:06:39 -08:00
Roshan Pius
e663f83a91 supplicant(interface): Remove unused params
Theese params in flushService & configureExtListen are unused.

Bug: 33705000
Test: Compiles
Change-Id: I38ff75af32951274100d1d60a5fdfa6aa101cb50
2016-12-16 16:03:09 -08:00
Roshan Pius
a2d369dd03 wifi: Add remaining capability flags from legacy HAL
While there,
1. Remove the _SUPPORTED flag from all the capabailities to make it
consistent.
2. Correct the docstring for |create*Iface|.

Bug: 33673826
Test: Compiles
Change-Id: I26f6de3d681dec133b51ba5dd7f21a29c92ea238
2016-12-16 14:08:30 -08:00
Roshan Pius
48185b2a2d wifi: Debug ring buffer data collection
Implementation of the debug ring buffer data collection mechanism.
Changed the interface to pass the raw bytes sent by the driver. This
will be captured as is into the bugreport.

Note: Please see the associated bug on why this data is not being parsed.

Also,
Fixed a bug in the legacy HAL API for retrieving ring buffer status.

Bug: 33638159
Test: Compiles
Change-Id: I9d8f400142b1be4fbf8c85679e8a52d6af17b09e
2016-12-16 14:08:00 -08:00
Roshan Pius
2c06a3f8c8 wifi: Add chip level callbacks
The following new notifications are added:
1. onChipReconfigureFailre - Invoked if there is an error during
configuration.
2. onIfaceAdded - Invoked on addition of an iface.
3. onIfaceRemoved - Invoked on removal of an iface.

Bug: 33679304
Bug: 33038823
Test: Gtests
Change-Id: Id3fa19420d1e1e8d209ec88a1fbd36a64afb5252
2016-12-16 13:06:39 -08:00
Roshan Pius
adc87cbab9 WifiLegacyHal: Add missing ring buffer callback dereg
Still figuring out how to send this data over the HIDL callback. Adding
this missing wrapper in legacy hal for now.

Bug:33638159
Test: Compiles
Change-Id: Ifce06a796d54e10c582b9896425899a45162a45f
2016-12-16 13:06:39 -08:00
Roshan Pius
203cb031df wifi: Add support for alert handler
This is a debug mechanism provided for vendors to inform the framework
about the occurence of any fatal events.

Bug: 33620898
Test: Compiles
Change-Id: Ib6ac322131796792f66f87237a62eb8f5a013433
2016-12-16 13:06:34 -08:00
Roshan Pius
26801cb4ce wifi: Port over O features to HIDL
Porting over the 3 new features added to legacy HAL for O to HIDL
interface:
1. Firmware roaming control.
2. Scan randomizations support.
3. Probe IE whitelisting for privacy enhancements.

Bug:32638647
Test: Compiles
Change-Id: Ia4666e3824186bbcfb8599b337eee7c81f256503
2016-12-15 21:49:30 -08:00
Roshan Pius
3f050c1a0f supplicant(interface): Add support for DRIVER commands
These were legacy commands added to wpa_supplicant specifically for
android when the vendor HAL did not exist. These string commands are
passed as passthough to the driver by wpa_supplicant. Instead of adding
a single method to pass through these strings. Add separate methods for
each "DRIVER xxx" command that we currently used in Android framework.

Bug: 32699292
Test: Compiles
Change-Id: I8b62b3250496fa996bb97b4af0ba570a3d345cc3
2016-12-16 05:36:35 +00:00
Treehugger Robot
698b6a9614 Merge "Update makefiles for Java package path." 2016-12-14 03:43:58 +00:00
Yifan Hong
b85d8763c7 Update makefiles for Java package path.
use V1_0 instead of 1.0.

Bug: 33554192

Test: hidl_test_java
Change-Id: Ic2d95265df10914a60a5bb743d75e839948838c3
2016-12-13 18:06:24 -08:00
Roshan Pius
118598a8db supplicant(interface): Add network param getters
These getters are needed for migration of network configs from
wpa_supplicant to the new config store.

Bug: 31497348
Test: Compiles
Change-Id: I970ea3ca070a3bb7344bc51664159ce0e95a18db
2016-12-13 16:41:57 -08:00
Roshan Pius
d11fc7eace supplicant(interface): Add 2 sta iface callbacks
Add callbacks for:
1. Disconnection from the currently connected network.
2. Association rejection from the AP.

Bug: 33416261
Test: Compiles
Change-Id: Ifde45bf7db353f399bd7dc291af0d069f8387e3b
2016-12-13 16:02:47 -08:00
Roshan Pius
e73a506912 wifi: Add legacy HAL stubs
This is a port of all the existing stub functions from HalTool. Will
deprecate and remove HalTool once framework switches over to HIDL.
These stubs are important because the vendor implementations don't fill
a function pointer in the table (when |init_wifi_vendor_hal_func_table| is
invoked) if they don't implement that feature.

Bug: 33540636
Test: Gtests
Change-Id: Ia41c4faa30b517731a162f3999d64a3f2c34e058
2016-12-13 14:34:38 -08:00
Roshan Pius
8b55e6f475 wifi: Add support for removing iface
This is needed to support dynamically switching between ifaces
within the same mode.

While there, correct couple of nits:
1. Pass std::string to the |get*IfaceInternal| methods. This makes the
name comparison easier.
2. Update the docstring of |get*Iface| in IWifiChip.hal to indicate that
we'll return ERROR_INVALID_ARGS if the iface name is wrong.

Bug: 33040049
Test: Compiles
Change-Id: I53584013283a10bf109f1c2ffb6136c44f11ed29
2016-12-13 14:34:33 -08:00
Roshan Pius
11f930321b wifi: Fixes in WifiLegacyHal
Changes:
1. Add |is_started_| flag in WifiLegacyHal to ignore stop/start
requests when they're already in the same state.
2. Detach the event loop thread and remove the class member storing
the thread handle.

While there,
1. Cleanup some logs to better help debug issues.
2. Also fixed the wrong method name used in WifiModeController.

Bug: 33480898
Test: Gtests run successfully.
Change-Id: I913f656206a2ca7a79fb316501c256fcdc32aed9
2016-12-13 13:40:29 -08:00
Roshan Pius
073d5b9fdc wifi: Disallow iface creation based on mode
Based on the mode configured, limit the iface creation.

Note: Support for iface removal will be added in a follow up CL which
should help us use P2P or NAN iface dynamically.

Bug: 31997422
Test: Compiles
Change-Id: Idde2f3b749264d542d5d6608b0b2c5aa8103ade6
2016-12-09 17:10:23 -08:00
Roshan Pius
e3f25f1d0f supplicant(interface): Correct ANQP enum value/type
Correct the HS20 subtype & Anqp Info ID enum value/type to match
what is used in wpa_supplicant core.

Bug: 33493298
Test: Compiles
Change-Id: I5b25d334271c39d977e2990c643f4a2b01872f1a
2016-12-09 16:11:42 -08:00
Roshan Pius
282a0b35b8 supplicant(interface): Minor fixes in P2P iface
Fixing couple of issues found in the interface during implementation.
1. WpsProvisionMethod::KEYPAD is not used in wpa_supplicant core. It is
only used inside Android framework. So, remove them.
2. Added |setDisallowedFrequencies| method.
3. Changed the pin type to string from vector of bytes because that is
used by Android framework and wpa_supplicant.

Bug: 31497295
Test: Compiles
Change-Id: I69db530e23c2d3af907c3a5c824cf8291cf12c35
2016-12-09 16:09:51 -08:00
Roshan Pius
7a41d9d59f wifi: Reset internal callback pointers on failure
If these are not reset, any subsequent calls will not be processed
because the callback pointers are set.

Bug: 33379596
Test: Compiles
Change-Id: Ia44385fc185b7cf262366af7b0e0e62c32a0d9a0
2016-12-08 17:58:50 -08:00
Roshan Pius
d476754bc0 wifi: Add support for RSSI monitoring
Bug: 31991459
Test: Compiles
Change-Id: I8794cea12a0d1c727bd0e37123152c8da11eeabf
2016-12-08 17:58:50 -08:00
Roshan Pius
e3f72ff344 wifi: Add method implementations in IWifiRttController
Hookup the legacy HAL functions to the corresponding HIDL methods in
WifiRttController and perform the necessary struct conversions.

Bug: 31991232
Test: Compiles
Change-Id: I7bd8bd7e7af2230699c079f1ad8e0a8b1e496026
2016-12-08 17:58:50 -08:00
Roshan Pius
970f031170 wifi: Add method implementations in IWifiStaIface
Hookup the legacy HAL functions to the corresponding HIDL methods in
WifiStaIface and perform the necessary struct conversions.

Bug: 31991459
Test: Compiles
Change-Id: I8c0b9be2e375dd7147408e41a88de3f1c6f98d08
2016-12-08 17:58:50 -08:00
Roshan Pius
e2d0ab52ea wifi: Add logger method implementations in IWifiChip
Hookup the legacy HAL functions to the corresponding HIDL methods in
WifiChip and perform the necessary struct conversions.

Bug: 32221997
Test: Compiles
Change-Id: I2b0cfd6484c7599e96e9edfcef18ac3148e28307
2016-12-08 17:58:50 -08:00
Roshan Pius
881d1f7823 wifi: Gscan struct conversion changes
Rename |Scan| to |Gscan| because that is the naming we've been using in
WifiLegacyHal.
Also group all the gscan related sturct conversion methods.

Bug: 31991459
Test: Compiles
Change-Id: Ie64bcc032a0058b5b20d0bb701020cdf7bf08890
2016-12-08 17:58:50 -08:00
Roshan Pius
f72df2e186 wifi: Add some more missing struct conversions
Add the remaining struct conversions and the feature set to HIDL
capabilities conversions. The legacy feature set is distributed based on
where the functionality is exposed to IWifiChip & IWifiStaIface HIDL
interfaces.

Bug: 31991459
Bug: 32221997
Test: Compiles
Change-Id: Ifdeac1bd7325b7a0581ec225b025ef0f6980c512
2016-12-08 17:58:50 -08:00
Roshan Pius
824e475cd1 wifi: Remove unused methods in IWifiRttController
These are currently unused in the legacy HAL function table and there
isn't any need for these to be migrated over to HIDL.

Bug: 31991232
Test: Compiles
Change-Id: I50611d1fd5a6ac276e7911ca1920c3d5ee2d5ba6
2016-12-08 17:58:50 -08:00
Roshan Pius
3fae9c82a0 wifi: Add RTT structure conversion methods
While there,
Hide |convertLegacyIeBlobToHidl| from hidl_struct_util.h. There is no
need for any of the HIDL objects to directly use this. They will be used
internally in |convertLegacyScanResultToHidl|.

Bug: 31991232
Test: Compiles
Change-Id: I5702906ea84e3c77fece7be5f9d48ff3ae418c41
2016-12-08 17:58:50 -08:00
Roshan Pius
32d0ca967a wifi: Convert packet fate structures from legacy to HIDL
While there fixed a couple of nits,
1. Correct a typo in one of the packet fate structs in the .hal file.
2. Renamed the scan data flag and added a helper function to convert the
legacy flag to it's equivalent and loop through it.

Bug: 32221997
Test: Compiles
Change-Id: I414a7731054e6400d22d4e6deae9495b48dce461
2016-12-08 17:58:50 -08:00
Roshan Pius
f5f51fd039 wifi: Begin NAN iface methods implementation
Start implementation of the NAN iface HIDL methods by plumbing the HIDL
stubs to the corresponding legacy HAL methods. The incoming HIDL struct
needs to be converted to legacy for the HIDL methods. The legacy HAL
structs needs to be converted to HIDL for callbacks.

This CL only has a couple of methods and some structure conversion.
etan@ will take over the rest.

Bug: 31991076
Test: Compiles
Change-Id: Ide348f4c3318822226bb7de93d091107c7465cd3
2016-12-08 17:58:50 -08:00
Roshan Pius
52947fbc7e wifi: Implement chip mode combinations
This is pretty hardcoded for now. We expose 2 chip modes:
1. STA mode: 1 STA and 1 P2P or NAN iface.
2. AP mode: 1 AP iface.

Implement the chip mode configuration related HIDL methods in
WifiChip and integrate WifiModeController. These is some change in the
order of calls invoked within the implementation to accomodate the
firmware reload:
a. Since the legacy HAL needs to reinitialized after
firmware reload, we can no longer do this in IWifi.start().
So, we'll defer this to IWifiChip.configureChip() now.
b. Refactor IWifi.startInternal() and IWifi.stopInternal() to pull
out the actual implementation into a separate helper functions and
let it invoke the required callbacks.

Bug: 31997422
Bug: 32018162
Test: Compiles
Change-Id: I461687d7ee92398bc47321e1baca609db65c7991
2016-12-07 15:42:08 -08:00