The tight loop of HAL start/stop exposes a race condition within the HAL.
Adding a fix for preventing this race would need a fix which would be
pretty risky at this point of the release. The issue itself is unlikely
to happen in real use cases because wifi toggles (user initiated or test
scripts initiated) via framework goes through a series of processing
before it invokes the HAL start/stop.
Bug: 64195190
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 VtsHalWifiV1_0Target -l
INFO`
Change-Id: I4e4d65f8b6e2e423a3a5f26e5a97a78b7e99c3e8
When IWifi.stop() is invoked back to back (happens in the ConfigureChip
vts test), the HAL would return ERROR_NOT_AVAILABLE if the previous stop
is still being processed. This is not an error that needs to fail the test,
but a legitimate status for stop. We have a retry mechanism to handle
this in both the VTS test and framework for the case where IWifi.start()
is invoked while the previous stop is being processed.
While there, corrected a few log messages emitted by the HAL to debug
such startup/stop issues better.
Bug: 63971806
Test: `vts-tradefed run commandAndExit vts --skip-all-system-status-check
--primary-abi-only --skip-preconditions --module VtsHalWifiV1_0Target -l
INFO`
Change-Id: I5e3470ac97541a6ea10aceec9b737e5d03ed5206
Modifying the interface used to lower the tx power level for meeting SAR
requirements based on recommendation from the nexus hardware team. The
previous interface passed in a single power value in dBm for meeting SAR
requirements. However, the SAR requirements are more complex than that.
Based on the connection mode (802.11 a,b,g,n,ac) and the number of
streams that are active (MIMO), the SAR power levels are very
different. Using the previous interface would mean that we will have to
use the lowest power level among all the connection modes to meet the SAR
requirements. This would however result in us lowering the power much
more than needed (~2 dBm) for many connection modes.
Instead, we're switching to a more generic interface where the framework
informs the wifi chip that we're entering a special tx power mode scenario
(today, there is only 1 for voice call). The chip can then lookup the
extensive table of power levels for different connection modes which are
pre-populated by the OEM's in the BDF file to set the power level (depending
on the scenario framework sends and the active connection mode).
Bug: 62437848
Test: Manual tests
Change-Id: I5ee3f0d2c130958dbeb352e3b5ad9407f432624f
This is already done by the test harness on the host side. So, no need
to invoke this from within the gtest.
Bug: 63914399
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
VtsHalWifiSupplicantV1_0Target -l INFO`
Change-Id: I43edc03492bf5e03f9a4236265c43baa5efcd61d
Change the order of shutdown to invalidate chips before
shutting down the legacy HAL. Allows pre-shutdown commands
to be sent down.
Bug: 63704506
Test: NAN tests passing
Test: full regression suite
Change-Id: I03d237d732b4e3482b1e1639848342dfdde9fcb7
Restore NAN test and use configuration which determines test
result based on whether or not the platform supports NAN.
Bug: 63131342
Test: NAN-supporting devices: pass (the NAN tests)
Test: Non-NAN-supporting device: pass
Change-Id: I6600abc531d4eb1dea6c501f6a39ef37051cb923
These feature flags are defined in the legacy HAL, but were not exposed in the HIDL
interface.
Updated the hash in current.txt using 'hidl-gen -L hash -r
android.hardware.wifi@1.1:hardware/interfaces -r
android.hardware:hardware/interfaces -r
android.hidl:system/libhidl/transport
android.hardware.wifi@1.1::IWifiChip'
Bug: 63545934
Test: Manual testing
Change-Id: Ia196e0fc1c5e305210ec95eb8a54b1a1204ebf20
libwifi_hal is a vendor component, so these are not allowed to be used
in the VTS tests. Use the vendor HAL for the required initializations
instead since that is the flow used by framework anyway (setup the wifi
chip using vendor hal and then use wpa_supplicant for connections).
Bug: 63704014
Bug: 33241851
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
VtsHalWifiSupplicantV1_0Target -l INFO
Change-Id: I396d8311253e2b2493f9bb901731937019d30164
Hookup the HIDL method calls to the respective newly added legacy
HAL functions for setting/resetting TX power limits for SAR
requirements.
Bug: 62437848
Test: VTS test fails because of a bug in Qcom implementation. Working
with Qcom to fix their implementation.
Change-Id: Ia619f5558e44d44fd77d037e72dfc1f6863b51e0
1. Move the implementation in 1.0/default to 1.1/default.
2. Move all of the implementation to
android::hardware::V1_1::implementation namespace.
3. All of the header files include the android::hardware::V1_0 namespace
so that it can access the types from 1.0 package. ("using namespace" is
against Google style guide though :().
The other option to prefix each 1.0 type with the namespace name.
For example: V1_0::WifiStatus.
4. Added the implementation of the new 1.1 method
IWifiChip.setTxPowerLimit().
4. The executable name and the .rc still has 1.0 name in it to avoid
changing all the device.mk files.
TODO: Hookup to the new legacy HAL API.
Bug: 62437848
Test: mmm -j128 hardware/interfaces/wifi/1.1/default/
Test: Device boots up and able to connect to wifi networks.
Test: New VTS tests passes
Change-Id: Ib36282939e70b064f246041a03d8870f5cb6410e
Extend the wifi HAL to add a new method in IWifiChip. This new method is
used for setting the TX power limit for meeting SAR requirements.
Bug: 62437848
Test: ./hardware/interfaces/update-makefiles.sh
Test: mmm -j32 hardware/interfaces/wifi/1.1
Change-Id: I8320a64812339f15cd88636505de0dfda18f0ebf
The end NDP command is the only NAN HAL command which uses
a dynamically sized command structure. The original code
stripped out the non-static portions of the command - losing
the information. Modify the dynamically allocate at a lower
level of the shim.
Bug: 62569797
Test: integration tests now proceeding past failure point
Change-Id: I1732923aed64d7ec11649f0bad1731ab5bca13a0
Destroying the interface doesn't actually execute any functions on
the legacy HAL - i.e. on the HAL side. This may leave state around -
a problem when next "re-enabling" the interface as well as possibly
a power issue.
Add code to actually disable Aware and to destroy interfaces. There
is no need to check on current status since calls will simply fail
quietly if there's nothing to disable and nothing to destroy.
Bug: 62632805
Test: integration non-concurrence test cases NonConcurrencyTest
Change-Id: I11e5bd6f3ed47f6d709ff360c9f4adf5f40234a5
Enhance the HIDL interface to return values indicating the status of the
operation requested by the API.
Bug: 32842314
Test: VTS
Change-Id: I9a75e2524c0256d5da405d5b1b5919d5342deebf
These makefiles are not in dev topic branches
or AOSP currently so they were not updated. This
update adds hidl-generated-module defaults.
Test: pass
Change-Id: Ie52c54877d795bf5358aa600e6d1a13a4f166d25
Port of the retry logic added in HalDeviceManager for temporary IWifi.start()
failures when invoked immediately after IWifi.stop().
Bug: 38342536
Test: Run VTS tests
Change-Id: Ie58a08c45979bafa0c61fa1c8536a2c0a0cd8ed9
Note cleanspec required because of b/38205169 (genrule
doesn't delete output files before building, so when
removing some, they get stale).
Test: power vts test compiles
Change-Id: Ie7ef0fc3d943a75fe898238cf861fb7f99f4146b
Fixes: 35813011
The libcld80211 is vendor-specific. Remove from dependecy list.
(cherry-pick of commit aa281aa266)
Bug: 37901207
Test: builds and runs
Merged-In: If251002c2dd7a0e30ca18620edd905a63217f28a
Change-Id: If251002c2dd7a0e30ca18620edd905a63217f28a
Passphrase has a lower and upper limit. The uppper limit check
was using the incorrect (lower) limit value.
Bug: 38164425
Test: builds & CtsVerifier test passes
Change-Id: I8a58f46a9558f828f8ccfda07935fcf62285f8c3
The libcld80211 is vendor-specific. Remove from dependecy list.
Bug: 37901207
Test: builds and runs
Change-Id: If251002c2dd7a0e30ca18620edd905a63217f28a
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
android.hidl.base@1.0 and android.hidlmanager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I424371932af129bba9d58dcf8652c64297f35f05