7e91548e461e52af8e78ba2e968395caf29b55bf |
|
02-Aug-2017 |
Roshan Pius <rpius@google.com> |
RELAND: HalDeviceManager: Get IWifi proxy immediately Try to get IWifi proxy as a part of HalDeviceManager.initialize() directly instead of waiting for the IServiceMAnager callback. When HalDeviceManager.initialize() is invoked: a) If the wifi service is up at that point, we will get the proxy immediately and IServiceManager callback will be ignored. b) If the wifi service is not up at that point, we will get the proxy as a part of the IServiceManager callback. Bug: 64226605 Test: Unit tests Test: Regression test request. Change-Id: I3d6b89edb3f446bb39984d1ebb3caeb53011bec9
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
36afabb6c8b769d2266800f2f362bf7ab70fef9b |
|
21-Jul-2017 |
Roshan Pius <rpius@google.com> |
HalDeviceManager: Lock the service manager callback We should hold the lock when we set mWifi to a non-null value and should only unlock once we finish all the processing needed (which includes a IWifi.stop() invocation). This should prevent any other threads to proceed while this callback is being handled in the hwbinder thread. Bug: 62511857 Test: Device boots up and connects to wifi networks. Test: Will send for regression tests. Change-Id: I393455f4aea618d110c158cb2c4b3350e2ab5376
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
ba89009ba7554d5073c0b93c04f167c3a11667fa |
|
07-Jul-2017 |
Roshan Pius <rpius@google.com> |
WifiVendorHal: Add support for new SAR related HAL API's Adding support in WifiVendorHal to invoke the 2 new HAL API's added in IWifiChip in the 1.1 package. The framework needs to be backward compatible with 1.0 HAL service as well, so these new wrapper methods return failure if the device is running the 1.0 HAL. Also, added the plumbing for the new feature bit for this feature: WifiManager.WIFI_FEATURE_TX_POWER_LIMIT. TODO: Integrate this with WifiStateMachine in a separate CL which listens to voice call progress intents. Bug: 62437848 Test: Unit tests Change-Id: I9d2b5ba297a5b757933db773eb1b9f067ad80e15
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
81828c08033d37ae90167d7dcde3f3335c4c038c |
|
01-Jun-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "[HDM] Fix access to HDM before Wi-Fi is started"
|
4fe311c774d6880c2eb9aa38ece9f9a5a60f7bd7 |
|
01-Jun-2017 |
Etan Cohen <etancohen@google.com> |
[HDM] Fix access to HDM before Wi-Fi is started A couple of synchronization issues: 1. Wifi vendor queries features even before Wi-Fi is started. HDM cannot be accessed without it - caused invalid chip ID messages. 2. Added synchronization and log printouts to additional public HDM methods. Bug: 62238717 Test: observed issue resolved based on logs Change-Id: I771b6f040127814bab5a71f8ee9ebf2d7771ae7b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
84fc22eaa83774f25fcd3667655b1ff46677d0b8 |
|
01-Jun-2017 |
Etan Cohen <etancohen@google.com> |
[HDM] Use correct key for caching interfaces - name Interface cache used the interface itself as a key. However, the interface object is not constant - it will be created on every query. Instead use the interface name which is constant. Bug: 62230725 Test: unit tests, run aware & p2p concurrently Change-Id: I50f1eaf6c64308742981e4e2bc368a8e219c679c
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
3ac5a2c4fbd7a8f66aa219b7e0e4d5c91b3efdf5 |
|
31-May-2017 |
Etan Cohen <etancohen@google.com> |
[HDM] Store callback to prevent GC Callback objects need to be stored in non-local variable to prevent them from being GC'd. The generated HAL code keeps a reference to them but if they are GC'd by the framework then a callback to a null object is made. Bug: 62219781 Test: builds/runs with DBG on Change-Id: Ibe42e7db915569b3d98ce1468d7d92712ed867e1
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
c780fa17703f9bb34f370e9b9161721f20c3f733 |
|
25-May-2017 |
Roshan Pius <rpius@google.com> |
HalDeviceManager: Reduce severity of error log in isSupported() When WSM class is initialized by WifiServiceImpl, we first try to cleanup state by invoke WifiNative.teardown(). This in turn invokes HalDeviceManager.isSupported() even before HalDeviceManager.initialize() is invoked. So, don't raise wtf's for this error to prevent unnecessary wtf spamming on every device boot up. Bug: 62089978 Test: Verified that only an error log is seen now on bootup. Change-Id: I809c706717e25c784ffe7364d4351fa44ea2707d
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
8131b04dc799cb0c75240c7b9eb0517ba1f00be8 |
|
13-May-2017 |
Roshan Pius <rpius@google.com> |
WifiNative: Add VINTF check for vendor HAL Currently, we're ignoring HAL start failures to support devices like gce, hikey which did not have any vendor HAL support previously. To solve that problem: 1. Remove the Vendor HAL daemon (HIDL shim) from such device's device.mk. Handled by other CL's in the topic. 2. Add the Wifi HAL's to the VINTF (manifest.xml) on all devices which has the Vendor HAL daemon running. (Unfortunately, there is no automatic translation from the module missing in device.mk to manifest.xml currently). Handled by other CL's in the topic. 3. Use the HalDeviceManager to query the VINTF to figure out if the Vendor HAL is present on the device or not. 4a. If the Vendor HAL is not supported, ignore start/stop calls. 4b. If the Vendor HAL is present, report failure if start/stop fails. Also, fixed a few invalid mock expectations set. Bug: 36886769 Test: Device boots up and connects to wifi on 2017 devices. Test: Unit tests. Change-Id: Ia3d90c8fafe2f8c156c843f5f47b94deaabe5a56 (cherry picked from commit 30f34829e0e7e49dc09c897c72dd0ded7d9805eb)
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
3895a16e00aa5899e90c014566e4fe33a63e3619 |
|
29-Apr-2017 |
Ningyuan Wang <nywang@google.com> |
Add retry logic for wifi Hal starting failure This add the retry logic for starting the wifi HAL because wifi HAL might still be in the process of stopping. Bug: 37681479 Test: compile, unittests Test: manual test toggling the hotspot mode quickly Change-Id: If87d8a0ebdcdf8a0aca233808b9d84393d21f738
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
3b2c0d62fe9fcfe5cc3a7e2a3eece6161b9bb33a |
|
03-Mar-2017 |
Roshan Pius <rpius@google.com> |
HalDeviceManager: Store death recipient object These might get garbage collected otherwise. Bug: 35950529 Test: Unit tests Test: Killed the hal and ensured that we detected it. Change-Id: I498fa745042fd2f8e0be736f68398ddd1ba2a8de
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
006eb17e06a7843e3da3bf939833b94e58a5a034 |
|
25-Feb-2017 |
Yifan Hong <elsk@google.com> |
IServiceManager/ITokenManager 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: boots Test: hidl_test Bug: 33844934 Change-Id: I80d35dcd87ebc42c8d60682f03a69111898a4268
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
e450fe1a611e4dcf05046a6aa0df0bc8300cba61 |
|
14-Feb-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] getSupportedIfaceTypes() mod to never return null Change the semantics of HalDeviceManager.getSupportedIfaceTypes so that it never returns null. It now always returns a Set<IfaceType> - possibly an empty set. Cleaner than clients trying to figure out error conditions. Bug: 35101185 Test: unit tests (including new one for error) Change-Id: Icdff4192b3b7dc5901110e243a0a021a1593c01b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
307acde0b29838b817a4fd3659a46c22be0ea314 |
|
10-Feb-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] API to return available interfaces Return the set of interfaces supported by the device (all chips) or a particular chip. Bug: 35101185 Test: (new) unit tests Change-Id: I02c7efd0ec1c11aa2301fe7192d202ce40053f24
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
c9a6c7b295e35415a61e3de6bf75f846a4aca048 |
|
02-Feb-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] Fix validation bug due to object comparison Proxy objects from HAL are created on every query - thus it isn't possible to compare IWifiIface objects obtained from the service even if they represent identical server-side objects. Device manager was using object references - removed. Need to stick to non-changing representations, e.g. type/name. Bug: 34474043 Test: unit-tests still passing + boot Change-Id: I56c9ac88767f272ddd14fa2ef2a4b3796fdeb348
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
a5dc1667f752dc2446e6de12279614a4fd9e2fe2 |
|
30-Jan-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] Stop Wi-Fi if (re)started When getting notification that Wi-Fi service is started we don't know if this is a re-start of the service or potentially of the framework itself. If the framework is restarted then it is possible that the state of the service and framework are out-of-sync. Therefore, on every service restart make sure to reset it by stopping Wi-Fi. Bug: 34474043 Test: unit tests Change-Id: I5968598756cae3c1181659ef153b36cada7c2c16
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
448a7b6b7b16cf39ed25729ceaf61edb30368567 |
|
27-Jan-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] Available for request API + STA/STA request bug Updated available for request API: - Simple register/unregister API - Will be called immediately on registration (if valid) - Will be registered until unregistered - Only a single copy is kept (duplicates detected) Fixed issue whereby the requested interface wasn't counted toward the total of required interfaces. So with only one STA allowed, a second STA would have been allowed. Bug: 34474043 Test: unit tests pass (with new unit tests added) Change-Id: Ic19731b66a609b828cda07f8065ef27ead077b2d
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
9ea74bec262597c7e8e804be5a3f97de8e544830 |
|
26-Jan-2017 |
Etan Cohen <etancohen@google.com> |
[HAL Device Manager] Use non-default service name The IServiceManager requires 'manager' as service name. Bug: 34474043 Test: builds/boots (failed boot before) Change-Id: I6ad5fdeda090949274629045bde6fce5eadc505b
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
3145bb4d3359647cccd9b4aba1734066f36bb2e6 |
|
26-Jan-2017 |
Etan Cohen <etancohen@google.com> |
[Wi-Fi HAL Device Manager] Status callback semantics change Change behavior of status callback/API: - Listener provides a status change only (onStatusChange) - Triggered when Wi-Fi is started or stopped - Triggered when Wi-Fi HAL service dies or restarts - API for - isStarted(): indicates if Wi-Fi is started or stopped - isReady(): indicates if Wi-Fi HAL service is alive Bug: 34474043 Test: unit tests Change-Id: I8babb00ea8a2c8c485d1661255644434f0787d8e
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
5e9a23e2472ac7ba67924b8a8f79dff9f6e5e186 |
|
25-Jan-2017 |
Etan Cohen <etancohen@google.com> |
[Wi-Fi HAL Device Manager] Comments/nits Update naming and comments per original CL reviews. Bug: 34474043 Test: unit tests passing Change-Id: Ie32df5e2910d1b6c6efeecf7a2134653521ced51
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
d887e5c6bf4abf2f098ea6f087e717e29c551548 |
|
23-Jan-2017 |
Etan Cohen <etancohen@google.com> |
Wi-Fi HAL Device Manager: implement available for request logic Added code which dispatches the 'available for request' listeners. Bug: 34474043 Bug: 34633162 Test: (new) unit tests pass Change-Id: I77074a3dc59fafff0688c921ca8ca4156ca68d1f
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
a78e7cf8de28fd836f7a111e39e7d7e7005bf942 |
|
23-Jan-2017 |
Etan Cohen <etancohen@google.com> |
Wi-Fi HAL device manager: implement coordination logic The coordination logic for the HAL device management: uses chip information and hard-coded interface priority to determine interface creation decisions: - Changes mode - Destroys interfaces (dispatches listeners) - Creates new interface Unit tests based on the current default chip configuration. TODO: dispatch interface available for request listeners. Bug: 34474043 Test: (new) unit tests pass Change-Id: I5d2e865baac7e9948aad6d8f607757b8db485952
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
64ce9f185eb6097c1c358c44710be6e1ca7c7055 |
|
21-Jan-2017 |
Etan Cohen <etancohen@google.com> |
Wi-Fi HAL device manager: add interface API Added interface management API and infrastructure. The create API does not function. Bug: 34474043 Test: builds - no unit tests Change-Id: I71983d7d6c4ca941689112f0112d692e06574b3a
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|
dd4dcab629d1045b08f58f699a4a09ecc8cd23e3 |
|
20-Jan-2017 |
Etan Cohen <etancohen@google.com> |
Wi-Fi HAL device manager: baseline for init/start/stop Wi-Fi HAL device manager. All Wi-Fi services should use this manager to start/stop and monitor status of Wi-Fi. Baseline: will be extended to coordinate interface. Bug: 34474043 Test: unit tests Change-Id: I3846cb57f301bcd91534f1b5943d996f4c84ed63
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HalDeviceManager.java
|