Converted from android.hardware.wifi.supplicant@1.4 HIDL interface.
Bug: 196235436
Test: m android.hardware.wifi.supplicant-update-api
BYPASS_INCLUSIVE_LANGUAGE_REASON=HE refers to High Efficiency
Change-Id: I9872f297450457c347fb5fe8cf4005b01d3ab1f6
Prepares android.hardware.wifi@1.0-service for use by a wifi HAL vendor APEX.
- Creates a cc_defaults with soong config vars for @1.0-service and
@1.0-service lib that customized implementations can override.
Bug: 205065320
Test: m -j with mac80211_hwsim vendor APEX on Cuttlefish
Test: Connect to wifi
Change-Id: I5827ed1ceb9be8278a54fd828249bf8e549fb950
VTS tests for Netlink Interceptor
BYPASS_INCLUSIVE_LANGUAGE_REASON="dummy" is what Linux uses to refer to
interfaces that are not real or functional. I did not pick this name.
Bug: 201467304
Test: atest VtsHalNetlinkInterceptorV1_0Test
Change-Id: Idb5ad759c9226ddf9e6182213cced750efdbd293
Skip P2P tests if P2P is not supported.
Bug: 200064365
Test: run vts -m VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I6ba23bb27f24700980cab28d1ff806e5efc65ec9
Skip P2P tests if P2P is not supported.
Bug: 200064365
Test: run vts -m VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I6ba23bb27f24700980cab28d1ff806e5efc65ec9
Bug: 204889679
Test: Make and run VtsHalHostapdTargetTest
m vts -j
vts-tradefed run commandAndExit vts \
--module VtsHalHostapdTargetTest
Change-Id: I0fe97b18b83098df6c70a5057576704c4b1f7383
In some implementations P2P device interface is created under
primary interface(wlan0 by default). In those implementations
p2p device name is predefined in system property wifi.direct.interface.
And the interface is created by supplicant with primary interface as
the parent interface. The naming of p2p device interface is
p2p-dev-<parent interface> ("p2p-dev-wlan0").
With STA+STA feature, wlan0 interface gets deleted in certain scenarios
and wlan1 becomes the active interface. In such scenarios P2P fails to
create the interface as parent interface wlan0 is deleted.
To fix the issue update the p2p device interface from system property
based on the current active wlan interface. ie First get the p2p parent
interface name from p2p device interface name set in property.
Check if the parent interface derived from p2p device interface name is
the current active interface. If not, get the current active interface
and update the name as p2p-dev-<ifname> ("p2p-dev-wlan1").
This helps HIDL/supplicant to get an active wlan interface from p2p
device interface name and succeed in creating the p2p interface under the
active interface.
Bug: 203434193
Test: Manual - Tested STA+STA which ended up deleting wlan0 interface.
Then ran p2p tests and confirmed that p2p scan and connection
works.
Change-Id: I522cec02a662c057e21d434f3ed98c7e7a4ca8f0
Merged-In: I522cec02a662c057e21d434f3ed98c7e7a4ca8f0
(cherry picked from commit 7f2822aff7)
In some implementations P2P device interface is created under
primary interface(wlan0 by default). In those implementations
p2p device name is predefined in system property wifi.direct.interface.
And the interface is created by supplicant with primary interface as
the parent interface. The naming of p2p device interface is
p2p-dev-<parent interface> ("p2p-dev-wlan0").
With STA+STA feature, wlan0 interface gets deleted in certain scenarios
and wlan1 becomes the active interface. In such scenarios P2P fails to
create the interface as parent interface wlan0 is deleted.
To fix the issue update the p2p device interface from system property
based on the current active wlan interface. ie First get the p2p parent
interface name from p2p device interface name set in property.
Check if the parent interface derived from p2p device interface name is
the current active interface. If not, get the current active interface
and update the name as p2p-dev-<ifname> ("p2p-dev-wlan1").
This helps HIDL/supplicant to get an active wlan interface from p2p
device interface name and succeed in creating the p2p interface under the
active interface.
Bug: 203434193
Bug: 200810773
Test: Manual - Tested STA+STA which ended up deleting wlan0 interface.
Then ran p2p tests and confirmed that p2p scan and connection
works.
Change-Id: I522cec02a662c057e21d434f3ed98c7e7a4ca8f0
10s is not enough for low-end devices, extending waiting time to
avoid false alarm for low-end devices.
Bug: 201184673
Test: atest VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I9baa53a462b97738e6dc471cf06c2b9230b92c1c
(cherry picked from commit ef3f77f831)
Stopping entire framework can cause other essential services to be
stopped. When wifi is stopped, it does not interact with any of the
wifi HAL's.
Bug: 201266536
Bug: 201184673
Test: atest --iterations 10 \
VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
VtsHalWifiSupplicantV1_4TargetTest \
VtsHalWifiSupplicantP2pV1_0TargetTest \
VtsHalWifiSupplicantP2pV1_2TargetTest \
VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: Ia4a38c2e942681f323cf76941713c429e14870cc
(cherry picked from commit 3a5858a711)
cp: aosp/1428863 to sc-v2-dev branch as b/202788915 mentioned
This used to be present on the old host side VTS tests, port the feature to
target side since host side VTS tests are deprecated.
Also,
i) Added a separate test: VtsHalWifiV1_4TargetTest to test the wifi
chip methods. Putting them in VtsHalWifiApV1_4TargetTest will prevent
these from running on devices without AP feature.
ii) Ensured all the non-NAN, non-RTT tests disable framework for
testing. NAN/RTT tests uses framework to check if the corresponding
package manager feature exists.
Bug: 166529516
Bug: 202788915
Test: atest \
VtsHalWifiApV1_0TargetTest \
VtsHalWifiApV1_4TargetTest \
VtsHalWifiV1_0TargetTest \
VtsHalWifiV1_4TargetTest
Change-Id: I05aab6992277601633a0f926a8262c4c27402e93
Merged-In: I05aab6992277601633a0f926a8262c4c27402e93
cp: aosp/1428863 to master branch
This used to be present on the old host side VTS tests, port the feature to
target side since host side VTS tests are deprecated.
Also,
i) Added a separate test: VtsHalWifiV1_4TargetTest to test the wifi
chip methods. Putting them in VtsHalWifiApV1_4TargetTest will prevent
these from running on devices without AP feature.
ii) Ensured all the non-NAN, non-RTT tests disable framework for
testing. NAN/RTT tests uses framework to check if the corresponding
package manager feature exists.
Bug: 166529516
Test: atest \
VtsHalWifiApV1_0TargetTest \
VtsHalWifiApV1_4TargetTest \
VtsHalWifiV1_0TargetTest \
VtsHalWifiV1_4TargetTest
Change-Id: I05aab6992277601633a0f926a8262c4c27402e93
Skip doing iface reset(down and up) to change MAC address if driver
indicates support for WIFI_FEATURE_DYNAMIC_SET_MAC.
Bug: 202424223
Test: atest VtsHalWifiV1_5TargetTest
Test: Manual - Connect STA to AP and check random mac is set
Change-Id: I86cf86e20893759a4e926571727943e4ee51d093
Done for the following tests:
VtsHalWifiApV1_0TargetTest
VtsHalWifiApV1_4TargetTest
VtsHalWifiApV1_5TargetTest
VtsHalWifiNanV1_0TargetTest
VtsHalWifiNanV1_2TargetTest
VtsHalWifiV1_0TargetTest
VtsHalWifiV1_1TargetTest
VtsHalWifiV1_2TargetTest
VtsHalWifiV1_3TargetTest
VtsHalWifiV1_4TargetTest
VtsHalWifiV1_5TargetTest
VtsHalWifiOffloadV1_0TargetTest
Each VTS module is required to have an OWNERS file. The ownership is based on
go/vts-owners. For more information about ownership policy, please visit
go/xts-owners-policy.
Test: Tree Hugger
Bug: 143903671
Change-Id: I4acdb9a3f7a81f078e4c60d7892a72a16f7ae9d2
This is done for the following test modules:
VtsHalWifiSupplicantP2pV1_0TargetTest
VtsHalWifiSupplicantP2pV1_2TargetTest
VtsHalWifiSupplicantV1_0TargetTest
VtsHalWifiSupplicantV1_1TargetTest
VtsHalWifiSupplicantV1_2TargetTest
VtsHalWifiSupplicantV1_3TargetTest
VtsHalWifiSupplicantV1_4TargetTest
Test: Tree Hugger
Bug: 143903671
Change-Id: Ia2259c6d62223317f5d5c5aee8ae55655972180b
This is done for the following test modules:
VtsHalWifiHostapdV1_0TargetTest
VtsHalWifiHostapdV1_1TargetTest
Test: Tree Hugger
Bug: 143903671
Change-Id: I26b7981e340ac2fc9009f8741fc9e415d1a3c8f0
10s is not enough for low-end devices, extending waiting time to
avoid false alarm for low-end devices.
Bug: 201184673
Test: atest VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I5b58a75fb20cbb65402785ba05355349f91fcd2b
Stopping entire framework can cause other essential services to be
stopped. When wifi is stopped, it does not interact with any of the
wifi HAL's.
Bug: 201266536
Bug: 201184673
Test: atest --iterations 10 \
VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
VtsHalWifiSupplicantV1_4TargetTest \
VtsHalWifiSupplicantP2pV1_0TargetTest \
VtsHalWifiSupplicantP2pV1_2TargetTest \
VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I07d9c70a50eb9558f05a915a4c0f26d721a104ac
onSubsystemRestart should be triggered by wifi HAL
when subsystem restart happened.
Add log to debug why this callback function was not trigger at
unexpected corner case.
Bug: 201330066
Test: Manual test
Change-Id: I160adc6006d078fcc72c1768927e87e378fd675e
Merged-In: I160adc6006d078fcc72c1768927e87e378fd675e
onSubsystemRestart should be triggered by wifi HAL
when subsystem restart happened.
Add log to debug why this callback function was not trigger at
unexpected corner case.
Bug: 201330066
Test: Manual test
Change-Id: I160adc6006d078fcc72c1768927e87e378fd675e
Stopping entire framework can cause other essential services to be
stopped. When wifi is stopped, it does not interact with any of the
wifi HAL's.
Bug: 201266536
Bug: 201184673
Test: atest --iterations 10 \
VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
VtsHalWifiSupplicantV1_4TargetTest \
VtsHalWifiSupplicantP2pV1_0TargetTest \
VtsHalWifiSupplicantP2pV1_2TargetTest \
VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: Ia4a38c2e942681f323cf76941713c429e14870cc
10s is not enough for low-end devices, extending waiting time to
avoid false alarm for low-end devices.
Bug: 201184673
Test: atest VtsHalWifiSupplicantP2pV1_4TargetTest
Change-Id: I9baa53a462b97738e6dc471cf06c2b9230b92c1c
Stopping entire framework can cause other essential services to be
stopped. When wifi is stopped, it does not interact with any of the
wifi HAL's.
Bug: 168278011
Bug: 199444489
Test: atest --iterations 10
VtsHalWifiSupplicantP2pV1_0TargetTest
VtsHalWifiSupplicantP2pV1_1TargetTest
VtsHalWifiSupplicantP2pV1_2TargetTest
VtsHalWifiSupplicantP2pV1_3TargetTest
Change-Id: Ia93e78cf4c147e42dd3d68e24a582c0c1af15899
Added SPDX-license-identifier-Apache-2.0 to:
wifi/hostapd/aidl/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: I0178f1f02cee7046256a3e4425e5c1fbabe6da85
Add AIDL version of Wifi HAL hostapd interfaces, converted from
android.hardware.wifi.hostapd@1.3 HIDL interfaces.
Bug: 194806512
Test: m android.hardware.wifi.hostapd-update-api
Change-Id: I1035f8bc9171e59967448fa438f2cc79ad53c066
Looper.h needs to include the header for unordered_map, which itself
includes math.h, which defines the macro NAN. Some HALs use enums called
NAN, which causes a build error if the NAN macro is defined. We need to
undef NAN in these cases after including Looper.h.
Bug: 195020232
Test: presubmit: checkbuild
Merged-In: I63bba8ea809a12571ddc88cd1d20f2adeedf0b30
Change-Id: I63bba8ea809a12571ddc88cd1d20f2adeedf0b30
(cherry picked from commit dda604440b)
(cherry picked from commit 84a19f64f5)
Looper.h needs to include the header for unordered_map, which itself
includes math.h, which defines the macro NAN. Some HALs use enums called
NAN, which causes a build error if the NAN macro is defined. We need to
undef NAN in these cases after including Looper.h.
Bug: 195020232
Test: presubmit: checkbuild
Merged-In: I63bba8ea809a12571ddc88cd1d20f2adeedf0b30
Change-Id: I63bba8ea809a12571ddc88cd1d20f2adeedf0b30
This would ensure that 1.4 vts tests are run with
ISupplicant 1.4 support.
Bug: 194979754
Test: atest VtsHalWifiSupplicantV1_4TargetTest
Change-Id: Ifaa3e1bb27f1df350b83fb7a4c05b6251a7c2d10
Clear the in-memory ringbuffer after writing to file.
Bug: 193007899
Test: Manually verified ringbuffers are cleared with command "adb shell
lshal debug android.hardware.wifi@1.5::IWifi"
Change-Id: Icfa08634e948d7155e231458edd394a4d699fbaa
The MAC address of the bridged interface will be dynamically generated
by kernel when any bridged iface is changed. This means that the
bridged interface MAC address will be changed when we remove one of the
instances from the bridged interface (shutdown unused interface case).
The MAC change will break operation of bpf and it may cause the SAP
client to send wrong ns packets because the tethering module is
still using the old MAC in the ra packet.
Always set MAC address so the bridged interface can avoid MAC changing.
Bug: 191611764
Bug: 192315721
Test: Manual test with IPv6 tethering. Make sure client won't disconnect
because it doesn't get na response.
Test: Manual test in two scenarios: 1. MAC randomization 2. reset to factory MAC.
Change-Id: I854fc74b6532824b7d7b5a1aa4bc20a3cf9fd588
1.5 HIDL service is not declared in lazy init rc.
Bug: 191940153
Test: atest VtsHalBaseV1_0TargetTest
Change-Id: Idc4d01e9696c35c8fc2390a2639ff8d7ebf0bbf0
The active interface need to be updated when any of interface changecd.
Also fix the local cache bridged_ap_instances value incorrect
when erasing.
Bug: 191625124
Test: Manual check property "wifi.active.interface" after wlan2 down
Test: Manual test with command "halutil -sar enable 0" after wlan2 down
Change-Id: I40150c231313505ca355228e711c2448088f41ad
SupplicantStaIfaceHidlTest.SetCountryCode(default,default)_32bit fails
when US countrycode is not supported on the device. The test will
read the value of "ro.boot.wificountrycode" and set it to the
countrycode. When the property is not defined on the device, US will
be set by default.
Bug: SupplicantStaIfaceHidlTest.SetCountryCode(default,default)_32bit fails
Bug id https://issuetracker.google.com/182296217
Test: Module VtsHalWifiSupplicantV1_0Host passes successfully
Change-Id: Iec2991223c6857d65b2ecc4337e920d5b823dd3d
Signed-off-by: Hassen KETATNI <hassen.ketatni@sagemcom.com>
Firmware should maintain the last set multi STA
use case & primary connection across periods of
single STA.
Bug: 183861582
Test: compiles
Change-Id: Iab7b9298216a90ddcd792aec794266c9edb397fa
Current hostapd doesn't support mode: HOSTAPD_MODE_IEEE80211AX.
Using he_capabilies->he_supported to identify if the current mode is
AX.
BYPASS_INCLUSIVE_LANGUAGE_REASON : The HE is a abbreviation
which is High-Efficiency.
Bug: 162484222
Test: Enable SAP on P21 (supported AX) and check the wifistandard is
AX mode.
BYPASS_INCLUSIVE_LANGUAGE_REASON=The HE is a abbreviation
which is High-Efficiency.
Change-Id: I1f40f2e2e5a0d1a862810d19899a6d968d8c29b2
Get the radio id from link layer radio stats
to framework.
Bug: 163103321
Test: VTS test - VtsHalWifiV1_5TargetTest
Change-Id: I6958a5b78798edf8529032cd255c61ba6a442633
In order to trigger subsystem restart to reload wlan firmware,
this change adds an API for framework and vendor HAL.
Meanwhile, create new callback function for subsystem restart instead of
general callback "onFailure()".
Bug: 178126071
Test: vendor HAL can received API call
subsystem restart will callback "onSubsystemRestart()"
Change-Id: If3dc84049a9171677ad281c9bcc67a44dc722bdb
Treat WIFI_CHAN_WIDTH_INVALID(-1) and any other unknown
bandwidth value as invalid.
Bug: 182850702
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: Id25d50af9283b89f135a4f36e1f696f6db4e302e
setMacAddress may fail in some scenarios like SSR inprogress. In such
case framework is not bringing up the iface again if it was brought down
to set random MAC address. Due to this subsequent operations like scans
are failing with "Network Down" error and Wi-Fi can't recover until
Wi-Fi restarts. To avoid this bring up the iface irrespective of
setMacAddress status.
Modified the original CL to move the WifiIfaceUtil creation to inside
Wifi object since that is where the legacy HAL instance is created for
the corresponding chip. This helps keeping the setMacAddress logic still
inside WifiIfaceUtil. Modified the iface_util lifetime - no longer a
singleton, one instance created per wifi chip instance.
Bug: 174183763
Test: Wifi can be enabled when back-to-back SSR and wifi on
Change-Id: I926b59f5da126aba222e05d1e570c0c19de739ed
Fix coex VTS test by configuring chip for sta iface before invoking the
coex hal api.
Bug: 177929636
Test: atest VtsHalWifiV1_5TargetTest
Change-Id: I5ead53e603a2136e3c8b2d931c512e6d337f4ba7
Add ability to filter usable channel due to coex &
concurrency limitations. List of usable channels could
be limited due to coex restrictions and also due to
concurrency limitations & connection state.
Bug: 160212907
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: Ic36b792b93fc4a6e328b9bc606a5286b8c1fd690
API can be used to query what modes (SAP, STA,
WFD Client, WFD Group Owner, TDLS, NAN) can be
supported on each channel for specified band.
Needs support from Wifi chip vendors.
Bug: 160212907
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: Icf270b8c2ee14c794778421c9d988712c5c38380
Also fix the instances doesn't update after removing the instance
Cherry-pick from ag/13382534 which finished the review in master branch
Bug: 173999527
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I439922d38c35b5367823f95f5f7d0e4c6ed05f57
This `if` is executed once, so using `legacy_status` from a prior
execution is nonsensical.
Caught by the static analyzer:
> hardware/interfaces/wifi/1.5/default/wifi_chip.cpp:1053:39: warning:
1st function call argument is an uninitialized value
[clang-analyzer-core.CallAndMessage]
Bug: 173999527
Test: atest -c VtsHalWifiApV1_5TargetTest
Merged-In: Ib81f1496be53e453d9c99ede129a77bdaf860de7
Change-Id: Ib81f1496be53e453d9c99ede129a77bdaf860de7
Added a callback function to indicate that the
supplicant failed to find a network in scan result
which matches with the network capabilities requested by upper layer
for connection.
Bug: 161196120
Test: vts test - VtsHalWifiSupplicantV1_4TargetTest
Change-Id: I9549a80ca636b4ee91aca421cf7cfae9f95a9161
If Wi-Fi driver knows it's in scan-only mode, it can save more power
than connect mode.
This change adds setScanMode in IWifiStaIface to allow Wi-Fi framework
to notify scan-only mode change to Wi-Fi driver.
Bug: 177811719
Test: atest VtsHalWifiV1_5TargetTest
Change-Id: I1dfbc24a0a3272c1341223aff36656be4a6fd21b
In current android design, the general use case is the interface is
removed after terminate() call.
But the VTS kill the hostapd immediately it causes terminate doesn't
work normally.
Add sleep 3 seconds to allow terminate processing.
Another test case is considered to check hostapd died because any reason.
(for instance: NPE crash)
But the interface handling in android design is control in framework and WiFiHal.
Case 1. Native crash will be handled in framework and clean the interface for
the recovery.
Case 2. VTS use "stopHAL" to clean "primy interface".
It will cause clean up fail if OEM use "non-primy interface" for the SoftAp.
But it is not requirement in hostapd HAL. Verify terminate is good in
VtsHalWifiHostapd.
Bug: 177483254
Bug: 177389456
Test: atest -c VtsHalWifiHostapdV1_3TargetTest
Change-Id: I39f6ee92b1354ab2cebbe2fe6e9873e62d850c42
In current android design, the general use case is the interface is
removed after terminate() call.
But the VTS kill the hostapd immediately it causes terminate doesn't
work normally.
Add sleep 3 seconds to allow terminate processing.
Another test case is considered to check hostapd died because any reason.
(for instance: NPE crash)
But the interface handling in android design is control in framework and WiFiHal.
Case 1. Native crash will be handled in framework and clean the interface for
the recovery.
Case 2. VTS use "stopHAL" to clean "primy interface".
It will cause clean up fail if OEM use "non-primy interface" for the SoftAp.
But it is not requirement in hostapd HAL. Verify terminate is good in
VtsHalWifiHostapd.
Bug: 163170239
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: Id5adc12be4a098af8e5b75d9182c004c1030720c
Tested on S5 and O6.
Found VTS gets failure on wlan1
b/177389456 to track for O6
b/177483254 to track for S5
But both of O6 and S5 will get pass because it uses wlan0.
Bug: 162686273
Bug: 173999527
Test: atest -c VtsHalWifiHostapdV1_3TargetTest
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: Idbaa7fb2f95abc954fda8daf8670e4a57b453030
Country code is global setting across the Wifi chip
and not really Wifi interface (STA or AP) specific.
Framework should have the ability to set the country
code on a chip level without requiring supplicant
instance to be running. As long as there is at least
one active interface to communicate to kernel driver,
country code can be set and driver should apply the
setting globally.
Bug: 149936939
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: I1be5dae34b216a6152d09605d055872d5345507c
Parse association response for MBO association
disallowed indication and OCE RSSI based association
rejection info and send it to framework in association
rejection event.
Bug: 162542063
Test: vts test - VtsHalWifiSupplicantV1_4TargetTest
Change-Id: I63ae2c37b816dbe1790647e90541e2d0b6df8401
The hal use first active wlan iface to get chip info.
It should should return active wlan instance in bridged mode.
Bug: 162686273
Test: Manual test.
1. Wifi Off (SAA off), make sure bridged AP is first wlan iface
2. Enable bridged mode
Change-Id: Id5a3d5ab53c6ed34d5633be22ad56070f5f0d0e2
Including the header inside a namespace leads to ODR violations,
which are normally benign but can cause problems if we want to use
something like CFI in the wifi HAL.
Change-Id: I80cc854632da7e18e5c208ba9210de44b31abbdb
Merged-In: I80cc854632da7e18e5c208ba9210de44b31abbdb
Including the header inside a namespace leads to ODR violations,
which are normally benign but can cause problems if we want to use
something like CFI in the wifi HAL.
Change-Id: I80cc854632da7e18e5c208ba9210de44b31abbdb
The current hostapd use channelParams1_3.bandMask
(changed on ag/13001575), but VTS doesn't
prepare test data:channelParams1_3.bandMask.
Test: atest VtsHalWifiHostapdV1_3TargetTest
Test: atest VtsHalWifiHostapdV1_2TargetTest
Test: atest VtsHalWifiHostapdV1_1TargetTest
Test: atest VtsHalWifiHostapdV1_0TargetTest
Bug: 176139512
Change-Id: Ibdc08acb55b673b464b5c59ae714157941487a5b
Added 2 seconds delay in RTT tests. This helps drivers finish the
current test and process the next test.
Bug: 175605811
Test: VTS test - VtsHalWifiRttV1_4TargetTest
Change-Id: I3bb719b5b75ba960913bd405b2c8a41047689682
Add custom enum for wifi coex restrictions since IfaceType is not
suitable for use as a bitmask flag since it does not represent bit
positions.
Bug: 153651001
Test: build
Change-Id: I15575ea12784a778a3b358eea1b05b75319aa95b
1. The concurrent property name over the limitation.
Rename the property name.
2. When allocate bridged iface name, it needs to increase the idx to
avoid two ifaces use the same name.
Bug: 162686273
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I388cdd812bd0448c03ad5ae982547629c1e5eff9
Having the AP and STA set the same MAC address in tests could cause
unintended failures when WifiApIfaceHidlTest and WifiStaIfaceHidlTest
are executed back to back.
Bug: 172528120
Test: atest VtsHalWifiApV1_4TargetTest VtsHalWifiV1_2TargetTest
Change-Id: I336d21cd896c46b064f16ecfa184a26dab67deaa
Add HIDL APIs to convey a list of unsafe Wifi channels to the driver for
coex channel avoidance.
Bug: 153651001
Test: build
Change-Id: I8b14f0e2d8855c1f1e363d612617256d8e928f30
SAP Interface idx mechanism.
STA+STA support, AP+AP will use wlan2 & wlan3, single AP use wlan2
STA+STA doesn't support, AP+AP use wlan1 & wlan 2, single AP use
wlan 1
STA+AP doesn't support, AP + AP will take wlan0 & wlan 1 but single AP
use wlan0 (Ideally it should not happen)
Add predefine interface support for bridged AP interface.
(property: ro.vendor.sap.concurrent.interface)
PS: Rename: getApIfaceName to getPredefinedApIfaceName since it
duplicates public HAL API: getApIfaceName
AP+AP Part 4 includes:
1. Support API to indicate Bridged AP supported or not
2. SAP Interface idx mechanism.
Bug: 162686273
Bug: 173999527
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I115e294ac2be201cfa3a58cfa0a8a98b481b29de
On a low-end device which does not support STA-SAP concurrency, if STA
is currently enabled and user/app tries to enable SAP, then Wi-Fi needs
to reconfigure and stop Wi-Fi HAL first. Among other stopping actions,
HAL needs to set global_handle_ to nullptr and send "Exit" to
wifi_event_loop then waits no more than kMaxStopCompleteWaitMs. If the
wait times out, then reconfiguration fails and causes Wi-Fi controller
returns to STA mode and creates new STA iface indirectly. In this
process, HAL needs to access global_handle_, but since it was cleared,
we can only get a Native Exception.
Because there is no proper error recovery for UNKNOWN errors, I suggest
to simply set kMaxStopCompleteWaitMs to a higher value to circumvent
this timing issue.
Bug: 173760638
Change-Id: I1b5a0a7a554409704c017ffaf52a767b9424c61e
Support HAL API:resetToFactoryMacAddress to reset the MAC
to factory MAC on each instances in IWifiApIface.
AP+AP Part 3 includes:
1. Support resetToFactoryMac in IWifiApIface.Hal.
2. Vts support for non bridged API.
3. Framework support resetToFactoryMac in bridged Ap.
Test: atest -c VtsHalWifiApV1_5TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_0TargetTest
Bug: 162686273
Change-Id: Ic7f2c0d6f1d8bf46fabfbc874d5f2b74068e43cc
Added below HIDL APIs for DPP STA Enrollee-Responder mode
1. API to start DPP in Enrollee-Responder mode
2. API to generate DPP bootstrap URI
3. API to stop DPP in Enrollee-Responder mode
which internally remove the bootstrap and stop listen.
Bug: 162686712
Test: VTS test
Change-Id: I979b6a7a2fe90f48d478f48da73269fd3f5cb347
If dumpstate closes the reading end of the pipe (likely due to timeout)
and wifi vendor hal attempts to write to the fd it received from
dumpstate, it will receive sig 13 (SIGPIPE), and is then killed.
We should protect wifi vendor hal from the abnormally behaved clients.
Sync patch from ag/12321138. Reference from b/172972545 &
b/161336019#comment29
Bug: 161336019
Bug: 172972545
Test: Manuel Test, Wifi works normally
Change-Id: Ie7de040ac4320f83500c18e74e3c58d63b4df1b7
The bridge interface name will take "ap_br_" + ap interface name.
ex: The ap interface name is "wlan1".
The bridge interface name will be "ap_br_wlan1"
When OEM customize the ap interface name via property
"ro.vendor.wifi.sap.interface".
It will only apply on single AP mode.
i.e.
"ro.vendor.wifi.sap.interface" = "sap0"
Single AP mode: ap interface name = "sap0"
Dual AP mode:
bridge interface name = "ap_br_sap0"
first ap instance name: get from "getSupportedIfaceName" + idx
ex: sap0
second ap instance name: get from "getSupportedIfaceName" + idx + 1
ex: sap1
PS: The VtsHalWifiApV1_5TargetTest will be added in another CL which
will update another SAP related HAL:IWifiApIface.hal.
AP+AP Part 2 includes:
1. Support bridge in libwifi_system_iface
2. WifiHal API
a. createBridgedApIface (Support create bridge mode AP)
b. removeIfaceInstanceFromBridgedApIface (Support remove one of the instance in bridge)
3. Framework:
Create bridge AP when multi-bands configured.
Bug: 162686273
Test: Manual Test (SAP enable normally)
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Change-Id: I8be510778e9772bcf1539e4915384949cbe13127
Older registerCallback is not deprecated until V1.4 HAL correctly.
As a result, their returning codes are still SUCCESS.
Bug: 173570755
Test: atest VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest
Change-Id: Ib23821d64f53c144d74818fa3ed9aca06cd25a27
AP+AP Part 2 includes:
1. Support bridge in libwifi_system_iface
2. WifiHal
a. createApIface_1_5 (Support create bridge mode AP)
b. removeApIface_1_5 (Support remove one of the instance in bridge)
3. Framework:
Create bridge AP when multi-bands configured.
Bug: 162686273
Test: Manual Test (SAP enable normally)
Change-Id: I518417add566ce4780a7e2e83af14460e6e8a217
Extend the band with 60GHz constant to support starting
AP on the 60GHz band.
Add channel parameters for EDMG (802.11ay, 60GHz channel
bonding).
Bug: 147469374
Test: atest VtsHalWifiHostapdV1_3TargetTest
Change-Id: I8d3ca0c14766dfb4a79c1febcc2bb05f65ba311e
This will be useful for testing/debugging STA + STA & AP + AP feature.
Note: I originally planned to read the entire iface combination from the
property (i.e would be much more flexible), but that is way too complex
and error prone. So, instead pre-define some combinations that we would
want to switch between and use the property as an index.
Bug: 173044646
Test: Manual:
i) adb shell "/vendor/bin/sh -c '/vendor/bin/setprop
persist.vendor.debug.wifi.hal.preset_interface_combination_idx 0'"
ii) adb reboot
iii) Ensure that AP + AP was enabled.
Change-Id: Iea63835c39fce78307a056a5ed94efcbd35cdfb6
The logic to skip the p2p tests on non-p2p devices appear to have
inadventently flipped since d6436731.
Bug: 173134041
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Change-Id: I7945950e8483241e47e308a2c5ad97571d74a769
The logic to skip the p2p tests on non-p2p devices appear to have
inadventently flipped since d6436731.
Bug: 173134041
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Change-Id: I7945950e8483241e47e308a2c5ad97571d74a769
Having the AP and STA set the same MAC address in tests could cause
unintended failures when WifiApIfaceHidlTest and WifiStaIfaceHidlTest
are executed back to back.
Bug: 172528120
Test: atest VtsHalWifiApV1_4TargetTest VtsHalWifiV1_2TargetTest
Change-Id: I336d21cd896c46b064f16ecfa184a26dab67deaa
The vts use getAidlInstances to check current HIDL version whether or not
exist in the device manifests.
When there are no instances installed, the suite won't be instantiated
Test: atest -c VtsHalWifiHostapdV1_3TargetTest in S GSI + R build
Bug: 172539662
Change-Id: Ia268282eeeb53a092bb5f36ef0426ac213b45a9f
Stopping entire framework can cause other essential services to be
stopped. When wifi is stopped, it does not interact with any of the
wifi HAL's.
Bug: 168278011
Test: atest --iterations 10
VtsHalWifiSupplicantP2pV1_0TargetTest
VtsHalWifiSupplicantP2pV1_1TargetTest
VtsHalWifiSupplicantP2pV1_2TargetTest
VtsHalWifiSupplicantP2pV1_3TargetTest
Change-Id: Ia93e78cf4c147e42dd3d68e24a582c0c1af15899
1. Add new 1.3::IfaceParams to support AP+AP.
2. Fix vts to match use the 1.3::IfaceParams
But the test on dual APs mode needs to add after vendor Hal ready to
create two interfaces.
AP+AP Part 1 includes:
1. HIDL: Hostapd support dual bands/channels configuration
2. Framework: HostapdHal support only
3. Hostapd deamon:
a. Support briged interface query
b. Support config dual bands/channel
c. Callback use bridge interface in dual APs mode.
Bug: 162686273
Test: atest -c VtsHalWifiHostapdV1_3TargetTest
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: I621b303c1e1f36996ca9b7720242f134bbe5fd75
Add SupplicantStaIfaceCallback v1.4 with support for the new
Passpoint T&C notification callback.
Bug: 171928337
Test: atest VtsHalWifiSupplicantV1_4TargetTest
Change-Id: I14f88427a6112b6a097d168c00ece3e36a7bd82f
Before R, those two calls are not going to work with fake values.
After enabling auto-join, it will success always.
Bug: 169890122
Bug: 170271410
Test: atest VtsHalWifiSupplicantP2pV1_0TargetTest
Change-Id: I7d94e797e140520a5df33bba854d5cb2b015eacf
Before R, those two calls are not going to work with fake values.
After enabling auto-join, it will success always.
Bug: 169890122
Test: atest VtsHalWifiSupplicantP2pV1_0TargetTest
Change-Id: I7d94e797e140520a5df33bba854d5cb2b015eacf
Fix VtsHalWifiSupplicantP2pV1_0TargetTest to skip tests
in such a way that VTS reports the module as complete on
devices that don't support Wifi Direct.
Bug: 170326147
Test: run vts -m VtsHalWifiSupplicantP2pV1_0TargetTest
Change-Id: Ia418c4bb72f4772422d724636453395c4ba9fb2d
Fix VtsHalWifiSupplicantP2pV1_0TargetTest to skip tests
in such a way that VTS reports the module as complete on
devices that don't support Wifi Direct.
Bug: 170326147
Test: run vts -m VtsHalWifiSupplicantP2pV1_0TargetTest
Change-Id: Ia418c4bb72f4772422d724636453395c4ba9fb2d
We don't need to test supplicant in the presence of vendor HAL & without
it. For a given device, this behavior is fixed.
Bug: 161951052
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Merged-In: I71097c3afef1765ca514abf2c350c423e3999020
Change-Id: I71097c3afef1765ca514abf2c350c423e3999020
(cherry picked from commit 984b6e0607)
We don't need to test supplicant in the presence of vendor HAL & without
it. For a given device, this behavior is fixed.
Bug: 161951052
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Merged-In: I71097c3afef1765ca514abf2c350c423e3999020
Change-Id: I71097c3afef1765ca514abf2c350c423e3999020
This reverts commit 1c50a59eae.
Reason for revert: This was not needed. Does not fix the issue at hand.
Bug: 161951052
Merged-In: I872a1b3e87f17a43eb3c22c930e916c7e5e2d2a6
Change-Id: I872a1b3e87f17a43eb3c22c930e916c7e5e2d2a6
aosp/1427815 add invoke terminate function in teardown function.
It will cause Create Test case fail since Create killed global hostapd_
service to re-generate the local one.
Use global hostapd_ to replace local variable to make teardown function
work normally.
Bug: 169248773
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: I6300a626db76e68873bbc34c489a9a8ee2d55e7a
aosp/1427815 add invoke terminate function in teardown function.
It will cause Create Test case fail since Create killed global hostapd_
service to re-generate the local one.
Use global hostapd_ to replace local variable to make teardown function
work normally.
Bug: 169248773
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: I6300a626db76e68873bbc34c489a9a8ee2d55e7a
We don't need to test supplicant in the presence of vendor HAL & without
it. For a given device, this behavior is fixed.
Bug: 161951052
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Change-Id: I71097c3afef1765ca514abf2c350c423e3999020
This reverts commit 1c50a59eae.
Reason for revert: This was not needed. Does not fix the issue at hand.
Bug: 161951052
Test: atest VtsHalWifiSupplicantV1_1TargetTest
Change-Id: I872a1b3e87f17a43eb3c22c930e916c7e5e2d2a6
The access network type can be used to indicate network metered state.
Add access network type support when create access point.
Test: Manual Test, check client scan IE to show correct interworking
value. see: b/137879206#comment14
Test: atest VtsHalWifiHostapdV1_0TargetTest
Test: atest VtsHalWifiHostapdV1_1TargetTest
Test: atest VtsHalWifiHostapdV1_2TargetTest
Bug: 137879206
Change-Id: I74213bd763f865f26781313b00e1b1cfeee93086
When OEM register different hostapd instance without update the StopHostapd.
It will cause VTS clean fail because hostapd process name is the new
one.
Call terminate to request clean HAL state.
Bug: 161682236
Bug: 167636313
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: If56e5b5351abd31865150bdf97d27674dbbc4257
This used to be present on the old host side VTS tests, port the feature to
target side since host side VTS tests are deprecated.
Also,
i) Added a separate test: VtsHalWifiV1_4TargetTest to test the wifi
chip methods. Putting them in VtsHalWifiApV1_4TargetTest will prevent
these from running on devices without AP feature.
ii) Ensured all the non-NAN, non-RTT tests disable framework for
testing. NAN/RTT tests uses framework to check if the corresponding
package manager feature exists.
Bug: 166529516
Test: atest \
VtsHalWifiApV1_0TargetTest \
VtsHalWifiApV1_4TargetTest \
VtsHalWifiV1_0TargetTest \
VtsHalWifiV1_4TargetTest
Change-Id: I05aab6992277601633a0f926a8262c4c27402e93
Added test for 2 sided RTT.
Added RTT measurement type capability check in range request tests.
Bug: 163327074
Test: vts test - VtsHalWifiRttV1_4TargetTest
Change-Id: I546806605b6b3ecd124068fc81b9fb275b745f45
Merged-In: I546806605b6b3ecd124068fc81b9fb275b745f45
(cherry picked from commit d85edb7f66)
Added test for 2 sided RTT.
Added RTT measurement type capability check in range request tests.
Bug: 163327074
Test: vts test - VtsHalWifiRttV1_4TargetTest
Change-Id: I546806605b6b3ecd124068fc81b9fb275b745f45
(cherry picked from commit d85edb7f66)
Extend the PairwiseCipherMask and GroupCipherMask enums with GCMP_128
as WiGig doesn't support GCMP_256.
Add a flag for enabling EDMG (802.11ay, 60GHz channel bonding) for STA.
Bug: 147495507
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: I008955c3f6960b888271a679a5ba10ae2f9a9ad1
When wifi instance name is empty, HAL should still be started normally.
Bug: 161951052
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: I2d848501ba3e7d4128b07d8ac858e5ebd31c6452
The stopHostapd uses vendor HAL HIDL interface.
The interface name should use wifi_instance.
Bug: 161682236
Test: atest VtsHalWifiHostapdV1_2TargetTest
Change-Id: I8215cba3e2a36f48863f57e199684c7446e20692
Merged-In: I8215cba3e2a36f48863f57e199684c7446e20692
When wifi instance name is empty, HAL should still be started normally.
Bug: 161951052
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: I2d848501ba3e7d4128b07d8ac858e5ebd31c6452
supplicant vts will stop and then start the framework, it is too
slow to allow next test checking necessary features.
This change also create a base class, SupplicantHidlTestBase, to do the
common initialization for all vts tests.
Bug: 167230822
Test: atest VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantP2pV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantP2pV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
Change-Id: Ice25c6d2198f719fc964a17515e66146a0a8ace2
When OEM register different hostapd instance without update the StopHostapd.
It will cause VTS clean fail because hostapd process name is the new
one.
Call terminate to request clean HAL state.
Bug: 161682236
Bug: 167636313
Test: atest -c VtsHalWifiHostapdV1_2TargetTest
Test: atest -c VtsHalWifiHostapdV1_1TargetTest
Test: atest -c VtsHalWifiHostapdV1_0TargetTest
Change-Id: If56e5b5351abd31865150bdf97d27674dbbc4257
supplicant vts will stop and then start the framework, it is too
slow to allow next test checking necessary features.
This change also create a base class, SupplicantHidlTestBase, to do the
common initialization for all vts tests.
Bug: 167230822
Test: atest VtsHalWifiSupplicantV1_0TargetTest \
VtsHalWifiSupplicantP2pV1_0TargetTest \
VtsHalWifiSupplicantV1_1TargetTest \
VtsHalWifiSupplicantV1_2TargetTest \
VtsHalWifiSupplicantP2pV1_2TargetTest \
VtsHalWifiSupplicantV1_3TargetTest \
VtsHalWifiSupplicantV1_4TargetTest
Change-Id: Ice25c6d2198f719fc964a17515e66146a0a8ace2
Test: Manuel Test. Hotspot works normally & mac address is correct to
show in framework.
Test: atest VtsHalWifiHostapdV1_0TargetTest
Test: atest VtsHalWifiHostapdV1_1TargetTest
Test: atest VtsHalWifiHostapdV1_2TargetTest
Change-Id: I33f4548257d51fc06fa85af00a92637345364820
The info includes AP's frequency, bandwidth
and generation(operational mode).
Bug: 163288112
Test: Manuel Test. Hotspot works normally.
Test: atest VtsHalWifiHostapdV1_0TargetTest
Test: atest VtsHalWifiHostapdV1_1TargetTest
Test: atest VtsHalWifiHostapdV1_2TargetTest
Change-Id: I5ff640169f10178fac196d17cadbfeedd2787fc0
Add a new chip capability WIGIG, for chips that
can operate on the 60GHz band. This capability is
mapped to the vendor HAL feature WIFI_FEATURE_INFRA_60G.
Bug: 147522435
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: I37b1121c62acadb621dca5e38671c78817f592e1
The wifi hidl interfaces need apex_available: ["com.android.wifi"]
because the generated java interfaces are needed by the
com.android.wifi apex, but that causes the C interfaces to not
be available to the platform. The unavailability was hidden
by b/154888298. Explicitly mark them with "//apex_available:platform".
Bug: 154888298
Test: m checkbuild
Change-Id: I8959ec1454cce6817802bcc1785a34ba56adc99c
Calling invalidate() API twice would lead to fatal error. This
commit is to check if interface isValid() before doing other operations
in invalidate() API.
Bug: 166412651
Test: atest VtsHalWifiNanV1_4TargetTest WifiNanIfaceTest
Change-Id: Ia3fc48bb3d98660705bba9a32b7a5845ff7af79f