Commit graph

22 commits

Author SHA1 Message Date
Roshan Pius
9bd4e6bfc7 wifi(implementation): Increase stop timeout
The current timeout of 50ms seems to be insufficient on some devices.
So, changing it to a higher value.

Bug: 66334487
Test:  Ran the VTS tests continously in a loop for 30 minutes
without failure. Previously, failure occurence was about once every
5-10 minutes.
`while adb shell /data/VtsHalWifiSupplicantV1_0TargetTest; do :;
done; adb bugreport`

Change-Id: I884de64d748b46b9710a702f3c72cc30dd51627e
2017-09-29 15:10:21 -07:00
Roshan Pius
3078a4cb67 wifi(implementation): Remove unnecessary local variable
Bug: 65058323
Test: Compiles
Change-Id: Ib268234837f5b381572c8038e7900a145fb32249
2017-08-28 16:14:22 -07:00
Roshan Pius
155344b866 wifi(implementation): Make WifiLegacyHal.stop() blocking
IWifi::stop() is currently non-blocking which makes it hard for the
client to determing when the stop is fully complete. This for example
causes wificond to disable the wlan0 interface while the legacy HAL
stop is being processed. So, add a timed wait to let the legacy HAL
complete processing of the stop before we unblock the IWifi::stop()
HIDL call.

Bug: 64611487
Test: Manual tests by wifi state toggling and verifying the order of
events in logs:
08-15 19:17:53.302   796   796 I android.hardware.wifi@1.0-service:
Stopping legacy HAL
08-15 19:17:53.302   796   796 I WifiHAL : Sent msg on exit sock to
unblock poll()
08-15 19:17:53.302   796  4793 E CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Could not find group
host_logs, errno: 0 id: -2
08-15 19:17:53.302   796  4793 E CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Could not find group
fw_logs, errno: 0 id: -2
08-15 19:17:53.302   796  4793 E CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Could not find group
per_pkt_stats, errno: 0 id: -2
08-15 19:17:53.302   796  4793 E CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Could not find group
diag_events, errno: 0 id: -2
08-15 19:17:53.302   796  4793 E CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Could not find group
fatal_events, errno: 0 id: -2
08-15 19:17:53.302   796  4793 I CLD80211:
/vendor/bin/hw/android.hardware.wifi@1.0-service: Sent msg on exit sock
to unblock poll()
08-15 19:17:53.302   796  4793 I android.hardware.wifi@1.0-service:
Legacy HAL stop complete callback received
08-15 19:17:53.304   802   838 D CHRE    : @ 151.328: [Platform] wifi:
has 0, enabled 0
08-15 19:17:53.321   796  4793 I android.hardware.wifi@1.0-service:
Legacy HAL event loop terminated
08-15 19:17:53.321   796   796 I android.hardware.wifi@1.0-service:
Legacy HAL stop complete
08-15 19:17:53.522   796   796 I android.hardware.wifi@1.0-service: Wifi
HAL stopped

Test: Will send for regression tests.
Change-Id: I394c11724e9459a4b9a6b970e2bcb4e0ad65fefc
2017-08-28 12:55:07 -07:00
Roshan Pius
d6ce826894 wifi(implementation): Reduce logging severity
IE elements should not be present in the batched scan results, but it
being there doesn't cause any problems. The IE elements will be ignored
when we send it over the HIDL interface, so reduce the log level to
prevent log spamming.

Bug: 64448186
Test: None
Change-Id: Ia0d0312a113c907bb0992bb8f41e734fe9d05114
2017-08-15 08:42:50 -07:00
Tri Vo
2883486706 Merge "VTS tests now static link to HAL def libs. #2" into oc-mr1-dev 2017-08-10 17:45:07 +00:00
Tri Vo
0c2ce357b1 VTS tests now static link to HAL def libs. #2
And use VtsHalTargetTestDefaults.

Bug: 64040096
Test: crop out all non-affected tests from vts-hal-hidl.xml and run
vts-tradefed run commandAndExit vts-hal-hidl --skip-all-system-status-check 
--skip-preconditions
2 failures, same as without this change:
GatekeeperHidlTest.DeleteAllUsersTest
GatekeeperHidlTest.DeleteUserTest

Change-Id: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
2017-08-10 17:44:57 +00:00
Roshan Pius
07bac60f31 wifi(vts): Ignore IWifi.stop() returning ERROR_NOT_AVAILABLE
am: 8c216524a3

Change-Id: I1bf9be99d4e673209edb893040483bf772ee3ca0
2017-08-08 17:10:25 +00:00
Roshan Pius
8c216524a3 wifi(vts): Ignore IWifi.stop() returning ERROR_NOT_AVAILABLE
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
2017-08-08 17:02:19 +00:00
Justin Yun
608d773ef8 Update make file for vndk enabled.
Update the Android.bp generated with hidl-gen.

Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
2017-08-04 14:12:23 +09:00
Tri Vo
f5d136c231 Update Android.bp HIDL makefiles
Allow HAL definition libs to be static.

Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
2017-08-03 00:30:01 +00:00
Roshan Pius
82396e9e1b Merge "wifi(hidl): Modify the SAR power levels interface" into oc-dr1-dev
am: dda74bcf77

Change-Id: I504fe9096b855c6270c50c1e46b4e5ee26b9ea67
2017-07-28 02:51:57 +00:00
Roshan Pius
735ff43197 wifi(hidl): Modify the SAR power levels interface
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
2017-07-27 14:05:03 -07:00
TreeHugger Robot
5115ed5268 Merge "wifi: Add owners" into oc-mr1-dev 2017-07-21 02:54:15 +00:00
Roshan Pius
1d047a7539 wifi: Add owners
Change-Id: If5a9a7da36b86f968bd32768d61e5d181573d30a
2017-07-20 14:39:29 -07:00
Etan Cohen
f26f9266c3 [HAL] Invalidate chip before shutting down legacy HAL
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
2017-07-20 14:04:07 +00:00
Etan Cohen
a0c6d7d5c6 [HAL] Invalidate chip before shutting down legacy HAL
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
2017-07-19 19:31:12 +00:00
TreeHugger Robot
b3ea84438b Merge "wifi: Add the missing RTT capabilities" into oc-dr1-dev 2017-07-18 23:04:26 +00:00
Etan Cohen
b14c7560f7 [VTS][NAN] Restore NAN test: configure for device support
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
2017-07-18 10:52:10 -07:00
Roshan Pius
08df76ec0d wifi: Add the missing RTT capabilities
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
2017-07-17 13:21:23 -07:00
Roshan Pius
8184d210d2 wifi(implementation): Set/Reset TX power limit
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
2017-07-11 14:03:06 -07:00
Roshan Pius
dbd83ef585 wifi(implementation): Create 1.1 interface package
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
2017-07-06 19:44:33 +00:00
Roshan Pius
ee3daf9ab6 wifi(interface): Create 1.1 interface package
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
2017-07-06 09:19:25 -07:00