Commit graph

145 commits

Author SHA1 Message Date
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