summaryrefslogtreecommitdiffstats
path: root/wifi
Commit message (Collapse)AuthorAgeFilesLines
* Return<*> getStatus().isOk() -> isOk()Steven Moreland2017-01-042-6/+6
| | | | | | Bug: 31348667 Test: compiles Change-Id: If8d5a23f80dbc04127635b49f1ef77398fc9f8a1
* Fix wifi/bluetooth threadpool usage.Martijn Coenen2016-12-301-29/+5
| | | | | | Bug: 31226656 Test: mma, hidl_test Change-Id: I3f30f32392714ed653498828172165e511f847e7
* wifi(vts): Add framework for gtestsRoshan Pius2016-12-1613-0/+766
| | | | | | | | | | | | | | | 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
* supplicant(interface): Remove unused paramsRoshan Pius2016-12-161-4/+2
| | | | | | | | Theese params in flushService & configureExtListen are unused. Bug: 33705000 Test: Compiles Change-Id: I38ff75af32951274100d1d60a5fdfa6aa101cb50
* wifi: Add remaining capability flags from legacy HALRoshan Pius2016-12-163-20/+55
| | | | | | | | | | | 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
* wifi: Debug ring buffer data collectionRoshan Pius2016-12-168-828/+60
| | | | | | | | | | | | | | | 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
* wifi: Add chip level callbacksRoshan Pius2016-12-163-36/+97
| | | | | | | | | | | | | 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
* WifiLegacyHal: Add missing ring buffer callback deregRoshan Pius2016-12-162-1/+14
| | | | | | | | | 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
* wifi: Add support for alert handlerRoshan Pius2016-12-167-2/+124
| | | | | | | | | 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
* wifi: Port over O features to HIDLRoshan Pius2016-12-1510-4/+384
| | | | | | | | | | | | 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
* supplicant(interface): Add support for DRIVER commandsRoshan Pius2016-12-163-11/+165
| | | | | | | | | | | | 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
* Merge "Update makefiles for Java package path."Treehugger Robot2016-12-142-284/+284
|\
| * Update makefiles for Java package path.Yifan Hong2016-12-132-284/+284
| | | | | | | | | | | | | | | | | | use V1_0 instead of 1.0. Bug: 33554192 Test: hidl_test_java Change-Id: Ic2d95265df10914a60a5bb743d75e839948838c3
* | supplicant(interface): Add network param gettersRoshan Pius2016-12-131-1/+179
| | | | | | | | | | | | | | | | | | These getters are needed for migration of network configs from wpa_supplicant to the new config store. Bug: 31497348 Test: Compiles Change-Id: I970ea3ca070a3bb7344bc51664159ce0e95a18db
* | supplicant(interface): Add 2 sta iface callbacksRoshan Pius2016-12-131-0/+25
|/ | | | | | | | | | Add callbacks for: 1. Disconnection from the currently connected network. 2. Association rejection from the AP. Bug: 33416261 Test: Compiles Change-Id: Ifde45bf7db353f399bd7dc291af0d069f8387e3b
* wifi: Add legacy HAL stubsRoshan Pius2016-12-135-5/+187
| | | | | | | | | | | | 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
* wifi: Add support for removing ifaceRoshan Pius2016-12-133-20/+156
| | | | | | | | | | | | | | | 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
* wifi: Fixes in WifiLegacyHalRoshan Pius2016-12-134-14/+24
| | | | | | | | | | | | | | | | 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
* wifi: Disallow iface creation based on modeRoshan Pius2016-12-091-4/+16
| | | | | | | | | | | 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
* supplicant(interface): Correct ANQP enum value/typeRoshan Pius2016-12-091-2/+2
| | | | | | | | | 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
* supplicant(interface): Minor fixes in P2P ifaceRoshan Pius2016-12-091-10/+34
| | | | | | | | | | | | | 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
* wifi: Reset internal callback pointers on failureRoshan Pius2016-12-081-11/+20
| | | | | | | | | 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
* wifi: Add support for RSSI monitoringRoshan Pius2016-12-087-10/+193
| | | | | | Bug: 31991459 Test: Compiles Change-Id: I8794cea12a0d1c727bd0e37123152c8da11eeabf
* wifi: Add method implementations in IWifiRttControllerRoshan Pius2016-12-084-36/+158
| | | | | | | | | 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
* wifi: Add method implementations in IWifiStaIfaceRoshan Pius2016-12-082-38/+181
| | | | | | | | | 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
* wifi: Add logger method implementations in IWifiChipRoshan Pius2016-12-081-15/+59
| | | | | | | | | 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
* wifi: Gscan struct conversion changesRoshan Pius2016-12-082-38/+61
| | | | | | | | | | 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
* wifi: Add some more missing struct conversionsRoshan Pius2016-12-082-7/+281
| | | | | | | | | | | | 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
* wifi: Remove unused methods in IWifiRttControllerRoshan Pius2016-12-087-353/+0
| | | | | | | | | 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
* wifi: Add RTT structure conversion methodsRoshan Pius2016-12-082-8/+503
| | | | | | | | | | | 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
* wifi: Convert packet fate structures from legacy to HIDLRoshan Pius2016-12-083-5/+134
| | | | | | | | | | | 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
* wifi: Begin NAN iface methods implementationRoshan Pius2016-12-083-19/+651
| | | | | | | | | | | | | | 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
* wifi: Implement chip mode combinationsRoshan Pius2016-12-074-50/+164
| | | | | | | | | | | | | | | | | | | | | | 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
* wifi: Split out initialize and start in WifiLegacyHalRoshan Pius2016-12-072-14/+20
| | | | | | | | | | | | | | We need to separate these because we need to invoke start() after every firmware mode change (chip reconfigure). While there, 1. Make InterfaceTool a member of the class. 2. Make the stop() symmetric with start(). i.e interface is set down on stop immediately instead of waiting for the thread to stop. Bug: 31997422 Test: Compiles Change-Id: I202afcc70571188dc076a841249761bc97fcf817
* wifi: Add firmware mode controllerRoshan Pius2016-12-073-0/+148
| | | | | | | | | | | This module will make the necessary calls to reconfigure the driver/firmware in the required state. The module assumes that the sysfs paths needed to be accessed has been chowned to "wifi" at bootup in the device's .rc file. Bug: 32018162 Test: Compiles Change-Id: I827c5eb6b5b4a3810e912d4164dbc8ff0ef4d30c
* Update makefiles for hidlizing IBase.Yifan Hong2016-12-034-296/+900
| | | | | | | | | | | A new dependency android.hidl.base@1.0 is added for all projects. Also updated Android.mk for NFC hal (for java constants) Test: mma Change-Id: Ia70d0eb0d74de06475a339698386d383d491a43a
* Merge "wifi: Don't include legacy hal header in wifi_status_util"Roshan Pius2016-12-024-38/+40
|\
| * wifi: Don't include legacy hal header in wifi_status_utilRoshan Pius2016-12-024-38/+40
| | | | | | | | | | | | | | | | | | This was missed from the cleanup when we moved the libhardware_legacy header inside the legacy_hal:: namespace. Bug: 33274910 Test: Compiles Change-Id: I233f5478733427c739d30bf41f20f120a4c4199a
* | Merge "wifi: Add utility for struct conversions"Treehugger Robot2016-12-023-0/+329
|\|
| * wifi: Add utility for struct conversionsRoshan Pius2016-12-023-0/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new utility file (hidl_struct_util) which would contain helper functions to convert legacy HAL structures to HIDL structures and vice versa. Added utility functions to convert: 1. Background scan params from HIDL to legacy. 2. Scan Result from legacy to HIDL. 3. Cached Scan results from legacy to HIDL. 4. Link layer stats from legacy to HIDL. Bug: 31991459 Test: Compiles Change-Id: I48a49b43d425f8cc3059241c4bd652b2346f2381
* | Merge "Always specify underlying enum type."Treehugger Robot2016-12-011-1/+1
|\ \ | |/ |/|
| * Always specify underlying enum type.Steven Moreland2016-11-291-1/+1
| | | | | | | | | | | | Bug: 33197891 Test: compiles Change-Id: I3d4822ea9a665708302d3bd1460425fddf1dcda9
* | Wifi: don't require C++11.Steven Moreland2016-11-301-1/+1
|/ | | | | | | | C++14 has been officially supported in the build system for a while now. (see b/32019064). Test: pass Change-Id: I328b0bcf9e5c32e209e4efc1ac5b96afdb542a5a
* wifi: Add NAN API wrappers in WifiLegacyHalRoshan Pius2016-11-282-0/+343
| | | | | | | | | NAN API's are inherently asynchronous. So, add a function for registering the various callbacks and add wrappers for all other NAN API's. Bug: 31991076 Test: Compiles Change-Id: I304a5d9d41b684f0778e0ace3601380153068e12
* wifi: Add RTT API wrappers in WifiLegacyHalRoshan Pius2016-11-282-0/+138
| | | | | | | | | | These are just wrapper methods over the legacy RTT related HAL API's. Note: Some of the RTT related API's have been intentionally left off because they're no longer used. Bug: 31991232 Test: Compiles Change-Id: Ied19d9ec1d4347ead0c40ab3683a1a0bae704f90
* wifi: Add logger/debug API wrappers in WifiLegacyHalRoshan Pius2016-11-282-0/+180
| | | | | | | | | | | | Legacy HAL wrappers for the following debug functions: 1. Wake reason stats 2. Packet fate 3. Supported feature set 4. Ring buffer. Bug: 32221997 Test: Compiles Change-Id: Ie6c03aeefb0b6e711419cfa5451cddbeb3069cd0
* Merge "Update makefiles for logging."Treehugger Robot2016-11-242-0/+2
|\
| * Update makefiles for logging.Steven Moreland2016-11-212-0/+2
| | | | | | | | | | | | Bug: 32943424 Test: hidl_test Change-Id: I86dc81935912861073497c07696378895a25f9ee
* | wifi: Add link layer stats API wrappers in WifiLegacyHalRoshan Pius2016-11-212-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds wrappers over the legacy HAL API for the following: 1. enable/disable link layer stats collection. 2. fetch link layer stats. Note: Link layer stats structure is quite ugly. The wrapper stucture declared here (LinkLayerStats) tries to separate out the pointer elements and ignore the unnecessary variable size elements from them. Bug: 31991459 Test: Compiles Change-Id: I7c4188115786542866c7be56cf9f116b3f78e6a3
* | wifi: Add gscan API wrappers in WifiLegacyHalRoshan Pius2016-11-212-1/+196
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The legacy gscan API's were designed to be used in the following sequence: a) Start the scan using |wifi_start_gscan|. b) Scan Events are indicated to the caller via the provided |on_scan_event| callback. c) When one of the result events are received, the caller is expected to retrieve the cached results via |wifi_get_cached_gscan_results|. There are some extra knobs here to determine if the results need to be flushed after fetch or not. d) Any scan failures are also notified via the provided |on_scan_event| callback. e) Full scan results are delivered one by one via the provided |on_full_scan_result| callback. In our use case step (b) above is always followed by step (c), so these 2 steps have been merged together in the HIDL interface: a) Start the scan using |IWifiStaIface.startBackgroundScan|. b) Scan results are now directly delivered via |IWifiStaIfaceEventCallback.onBackgroundScanResults| callback. c) Any scan failures will be delivered via |IWifiStaIfaceEventCallback.onBackgroundScanFailure| callback. d) Full scan results are delivered one by one via |IWifiStaIfaceEventCallback.onBackgroundFullScanResult| callback. Bug: 31991459 Test: Compiles Change-Id: I0870eae095a667eec1d8de75fe1cc04a1b5a0bd3