C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Change-Id: If22be04df7d2d0aae9ed50fada53d0ccd4edc9d1
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
libhidltransport symbols are being moved into libhidlbase in order to
optimize linking/memory usage. libhidltransport will no longer be
required in the future (however removing references to it will come
separately).
Bug: 134961554
Test: boot
Change-Id: Ibcc2db32d3bec1a786b60e11d4820ecd0605f403
Devices that only have dual AP setup without an STA were not working. A
use case for this would be in a car, having a wifi hotspot active while
also projecting to the car head unit from your phone. This was working
but a recent change in CL a3e5b7f that forced STA to be on wlan0 and AP to start at
wlan1 broke this functionality. This change is to augment the original
CL to keep it's function in place while also taking into
account devices that have dual AP.
Bug: 132268977
Test: Manual boot of hawk device along with testing of tethering and
local only hotspot.
Change-Id: I8da5dd4f0baea1bf0f22d3275e356936a58fb3d1
Few class refactors to help with unit tests for ag/7567226.
Bug: 132943959
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Change-Id: I62909f3f94899bc1593824684b93d29f44954eae
When the iface state is toggled for MAC address change on the underlying
interface for NAN operations, send NAN disabled event up to the
framework. The iface down/up toggle resets all NAN operations in the
firmware. So, this callback should trigger a cleanup of any
operations initiated by the framework.
Bug: 132943959
Test: Unit tests in the follow-up CL.
Test: Will send for regression tests.
Change-Id: I760dc5ca3b9276956f5edd40a97c3c13811f442c
NAN iface/RTT controllers are sharing the STA iface. When a STA iface is
removed, we should remove these dependent modules as well to ensure
proper cleanup.
Bug: 132837537
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Test: Will send for regression tests.
Change-Id: Ia2da1dcf66b388f54e916ae69e2f4e26f20ecfad
Get rid of the unnecessary looping inside the method which was causing a
bunch of unnecessary selinux denial logs.
Bug: 130384921
Test: ./data/android.hardware.wifi@1.0-service-tests
Test: Manually verified the property name after wifi on/off & softap
on/off.
Change-Id: Ia9f61749b2017234851d67b027deb685cb8b539e
hidl-generated makefiles are now generated such that bpfmt(file) == file.
Bug: 67417008
Test: enable bpfmt hook
Change-Id: I53e5bf67a0d314e1b10c0ba0c7172a7af358ddcc
This is updated whenever a new STA or AP iface is created & removed.
Also, when the chip is configured.
This property can be read by the rest of the system (including vendor
specific HAL instances) to retrieve the active iface name.
Bug: 129506593
Test: ./data/android.hardware.wifi@1.0-service-tests
Test: Manually verified the property name after wifi on/off & softap
on/off.
Change-Id: Ic1c21fd3a1c6894c797070bf889f705e4cba6dd1
For the chip level operations, the actual interface itself does not
matter. So, instead of hard-coding these operations to wlan0 interface,
find the first active interface to use. This will still return wlan0 if
it's active, but if only AP is up (& pinned to wlan1), then it will use
wlan1 instead.
Bug: 129358937
Test: ./data/android.hardware.wifi@1.0-service-tests
Test: Verified manually that SAR commands are now correctly sent down.
Change-Id: I5a6175579027cbb45c09d32633ed81b9f72224dd
The primary STA iface will always be pinned to wlan0.
The primary AP iface will be pinned to wlan0 for devices not supporting
STA + AP concurrency & wlan1 for devices supporting STA + AP concurrency.
All secondary STA or AP ifaces will be allocated on a first come first
service basis (the current logic).
Also, refactored/renamed some of the iface combo selection logic methods
to help check whether concurrency is allowed in the current mode.
Bug: 128946563
Test: ./data/android.hardware.wifi@1.0-service-tests
Test: Will send for full regression tests.
Test: On crosshatch, ensured that STA always comes up on wlan0 & AP
comes up on wlan1 regardless of the sequence of toggle followed.
Change-Id: Idca8de42ce819240bf0fac2a9039d15ed4bcaf90
ag/6722341 caused some unit test failures. Fixing them.
Bug: 127715974
Test: ./data/android.hardware.wifi@1.0-service-tests
Change-Id: Ib504cf55b9990dba081eb1b07bc32508e09ad0a6
This commit updates the documentation for the HAL API setLatencyMode().
It also updates the current.txt with the IWifiChip new hash.
Bug: 124459516
Test: None
Change-Id: I018e0237807aab70f7587d5fd7517d64352140f7
This commit adds the ether_type as an argument to the legacy hal
function to send an offloaded packet.
Bug: 122487582
Test: Manual
Test: Make sure ether_type is passed all the way to vendor hal function
Change-Id: I5918088000cc455e7f83feddc1090803ccc04c06
This commit adds a public api call for legacy hal to check if it is
successfully started.
This is to be used by callers of legacy hal to make sure not to request
functionality while legacy hal (and hence all interfaces) are not
started.
Bug: 112205428
Test: Manual
Change-Id: I5183d01811e35edb3149cfb3784067c68b40e46d
wifi.interface.0, etc should only be checked if the primary property
used on most devices (wifi.interface & wifi.concurrent.interface) does
not exist.
wifi.interface.0, etc should only defined on Android auto platforms.
Bug: 126925255
Test: Manually verified that the spammy log does not exist
Change-Id: Ib5e6a87a7da2d4b26cdd35f668385b503e7c8006
Generate random MAC address on the first creation of AP iface after
reboot.
Bug: 78353419
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Test: Manually verified that the AP MAC address & BSSID changes on every
reboot.
Change-Id: Ie9984ec72b2dfec9b7de7a9ef33b9e9ebfaf945c
Add the plumbing required for setting a random MAC address on AP
startup. The random MAC address is created once for the lifetime of
the daemon and then reused for any further AP creation. This would
ensure that the MAC address is changed on every reboot.
The feature is turned on by default, devices will need to set the
|WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION| in their .mk file to
disable the feature at compile time.
Bug: 78353419
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Change-Id: I054d5249c20cc582b76966313135295873cd0b61
This is just a refactor to move the setMacAddress & getFactoryMacAddress
methods to a util class within the HAL. This can be then reused in AP
iface for mac randomization of SoftAp.
This also fixes a bug in the existing setMacAddress() method, the
current method always sets wlan0 up/down. STA interface could be wlan1
on some devices.
Bug: 78353419
Test: ./hardware/interfaces/wifi/1.3/default/tests/runtests.sh
Test: Manually verified STA MAC randomization still works.
Change-Id: I0bb8154f7e6dcae37c977454423c8c299762260e
This reverts commit e338c81190.
Cannot be supported without additional HAL APIs to provide the
device's capability to the host. These aren't necessary since
this capability should be enabled by default by the firmware.
Bug: 112586769
Test: (ACTS) act.py
ThroughputTest:test_iperf_max_ndi_aware_only_passphrases
Test: (CTS) atest SingleDeviceTest
Devices can use the lazy wifi HAL to allow it to exit when wifi is not
in use.
Test: Flash walleye_svelte-userdebug and check that HAL only runs when
wifi is on.
Bug: 123307146
Change-Id: If20120f902a7e102372666447b39cf9fdad7d352
There are compatibility issue with driver for P2P random MAC.
The framework needs to check driver capability first before enabling
P2P random MAC address feature.
Bug: 118904478
Test: vts - atest VtsHalWifiSupplicantP2pV1_2TargetTest
Test: manual test
* Enter WiFI Direct Page
* check the feature is enabled in logcat
* WifiP2pService: Supported feature: P2P MAC randomization
* check p2p0 MAC address is randomized.
Change-Id: I28e226e7d51e3d5e3e6013d3772e643c1df1ab54
Disable the firmware to send NANv3 data-path negotiations packets.
Means that device will only use NANv2 data-path negotiation packets.
That is interoperable - though may miss extra information from pure
NANv3 peers - where extra = port/transport-protocol/ipv6 address (we
have an AOSP-specific emulation of this feature).
Bug: 112586769
Test: (ACTS) act.py ThroughputTest:test_iperf_max_ndi_aware_only_passphrases
Test: (CTS) atest SingleDeviceTest
Change-Id: I3fd3e3bfc80a7815e035c592967e5448601c8153
Wlan log does not include correct timestamp while
taking bug report. Flush HAL ringbuffe to files
directly when issue happen.
Bug: 118854557
Test: Builds and wifi works
Change-Id: Ic9a6b7470f943f1498428e8b0d40b117b2ff04e6
The total number of interfaces is still limited to 2,
will be addressed in a separate change.
Bug: 36120314
Test: KitchenSink (see go/aae-dual-ap)
Test: b/120081854
Change-Id: I8962c5167fcbe55805fce320f639d37b4b902c5c