Commit graph

125 commits

Author SHA1 Message Date
Ryan Prichard
c5ba9b1abd Merge "Undefine NAN before defining it again" into aosp-main-future am: 236bbe3305 am: 3e5ee9a6e6 am: 5742e2ba25
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/24685603

Change-Id: I262b7ff132cfcd1bd8d21d6528d13d76fc075998
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 22:48:54 +00:00
Ryan Prichard
3e5ee9a6e6 Merge "Undefine NAN before defining it again" into aosp-main-future am: 236bbe3305
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/24685603

Change-Id: I69ab8927b8f8b4fc4ad559c9a65a8f4a58a4e893
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 21:23:50 +00:00
Ryan Prichard
99a4f3cf62 Undefine NAN before defining it again
After upgrading libc++, math.h happens to be included at the point
where this file tries to define NAN. Redefining a macro to a different
value is an error, but #undef'ing a macro is OK even if the macro isn't
actually defined.

Bug: b/175635923
Test: treehugger
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dd390faa2fcb49ce0e0ebc6ef180118ec370f957)
Merged-In: Ie8e3e87189bcd7ed8fccccfc0a79e04a5bfda16b
Change-Id: Ie8e3e87189bcd7ed8fccccfc0a79e04a5bfda16b
2023-09-07 01:41:11 +00:00
maheshkkv
236b04d3c3 Fix Legacy to AIDL conversion for link state
Bug: 296807191
Test: hardware/interfaces/wifi/aidl/default/tests/runtests.sh
Change-Id: Iea60d7894b22558b386f62a77ff43aa374b6c40f
2023-08-22 17:52:00 +00:00
Gabriel Biren
4c3eeb417e Use a 64-bit instance of 0x1 when creating
the event bitmask.

Comments on ag/24025770 suggest that the bit
shift will lead to undefined behavior for
event codes greater than 31.

Bug: 290318208
Test: atest VtsHalWifiNanIfaceTargetTest
       # manually set some of the expected
       # events codes to > 31 to verify that
       # the bit shift works as expected
Change-Id: I09e11dac8acf90baf047e24cebe1d01970b1dc8a
2023-07-13 19:46:59 +00:00
Gabriel Biren
1f06b4bf76 Use a 64-bit instance of 0x1 when creating
the event bitmask.

Comments on ag/24025770 suggest that the bit
shift will lead to undefined behavior for
event codes greater than 31.

Bug: 290318208
Test: atest VtsHalWifiNanIfaceTargetTest
       # manually set some of the expected
       # events codes to > 31 to verify that
       # the bit shift works as expected
Change-Id: I09e11dac8acf90baf047e24cebe1d01970b1dc8a
2023-07-13 18:24:14 +00:00
Gabriel Biren
3f7bfd2dc5 Represent NAN callback events as a bitmap
to better handle overlapping events.

Reimplementation of aosp/2473685 for
the AIDL VTS tests.

Bug: 290318208
Test: atest VtsHalWifiNanIfaceTargetTest
Change-Id: I1a0e6ab8dd529c10fcec8f26424a7181e7d91568
2023-07-11 22:23:34 +00:00
Gabriel Biren
3a34c72b61 Represent NAN callback events as a bitmap
to better handle overlapping events.

Reimplementation of aosp/2473685 for
the AIDL VTS tests.

Bug: 290318208
Test: atest VtsHalWifiNanIfaceTargetTest
Change-Id: I1a0e6ab8dd529c10fcec8f26424a7181e7d91568
2023-07-11 21:23:31 +00:00
Yuyang Huang
50c033fe79 Merge "Add TV devices that have MdnsOffloadManagerService to APF exempt list" into stage-aosp-udc-ts-dev am: 32d8479f86 am: 5d0f680ed9 am: 8d0d289758
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/23831006

Change-Id: Id4fd3f80c084f5d0d9a597035934f1aa0b7978d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 08:36:10 +00:00
Yuyang Huang
54bbf07e06 Add TV devices that have MdnsOffloadManagerService to APF exempt list
For Panel TV devices, the vendor can implemented TV specific mDNS
offload instead of APF in U. If TV specific mDNS offload is implemented.
MdnsOffloadManagerService will exist in the system ext partition. The
APF vts will be skipped if MdnsOffloadManagerService exist.

Bug: 283038712
Test: atest VtsHalWifiStaIfaceTargetTest
Change-Id: If55ec42507460b9a2c6eee683d85b8109f2af236
2023-06-28 02:24:35 +00:00
Ye Jiao
84310761ce Fix memory leak in WifiLegacyHal.
`WifiLegacyHal::getSupportedRadioCombinationsMatrix()`
allocs a buffer and returns it to
`WifiChip::getSupportedRadioCombinationsInternal()`, but
`WifiChip::getSupportedRadioCombinationsInternal()` never frees it.

Bug: 287883356
Test: manually test
Change-Id: I0e9d529e93cbb5fe254d48947661a2ae3d99d763
2023-06-21 23:03:34 +00:00
Gabriel Biren
0f1628e1ac Merge "Set the value of using_dynamic_iface_combination_ in the WifiChip constructor." into udc-dev 2023-06-16 20:58:26 +00:00
Gabriel Biren
01cf38f349 Merge "Improve process to run the Vendor HAL gTest suite." into udc-dev 2023-06-15 00:12:52 +00:00
Gabriel Biren
80f5392763 Improve process to run the Vendor HAL gTest suite.
This includes:
 - Adding a README to help users get started.
 - Improving the test script to avoid issue where
   device is not ready for the next ADB command
   after 'adb root'.

Bug: 271914366
Test: Manual test
       1. Reboot device.
       2. ./runtests.sh
       3. Tests are expected to execute.
Change-Id: I9f452384a7067708f617d1e932f06b2f5c7ab119
2023-06-14 22:53:28 +00:00
Gabriel Biren
989c78a51f Set the value of using_dynamic_iface_combination_
in the WifiChip constructor.

gTest suite currently cannot mock the legacy HAL
call for getSupportedIfaceConcurrencyMatrix.
If we set using_dynamic_iface_combination_ to true
in the unit tests, we can avoid making this call.

Bug: 271914366
Test: ./runtests.sh # gTest
Test: atest VtsHalWifiChipTargetTest # VTS
Change-Id: Ic43daab6ff5fdc5f78af614ad775f436fbbe8726
2023-06-14 22:45:29 +00:00
Treehugger Robot
5d806f5adb Merge "wifi: Fix single AP iface isn't deleted" into udc-dev 2023-06-02 03:36:59 +00:00
Sunil Ravi
780bef050a wifi: Fix single AP iface isn't deleted
Bug: 222599182
Bug: 278808480
Test: Manual Test, the AP iface is deleted.
Change-Id: I07faf0afcd1f69af4ef57204ceac02c2572453f2
2023-06-01 21:54:24 +00:00
Yuyang Huang
5c3c6483d3 Update APF VTS to include the vendor API level check
APF is support is mandatory since VSR 14. Before that, the APF
requirement is optional. Vendors can opted into upgrading their
HAL to AIDL, so the VTS need to check if vendor API level on the device
and only mandate the APF capability check if the vendor API level is
greater or equal to 14.

Bug: 283181837
Test: atest VtsHalWifiStaIfaceTargetTest
Change-Id: I21513187d4ca99d721d0e9dc5e243adad77ab8c6
2023-05-18 18:11:56 +09:00
maheshkkv
0ace7e5f91 Add documentation for Aware suspend & resume
Bug: 281882132
Test: build
Change-Id: Ifea3dd9a0bd635c95e3b80f09427d380b75e0fa9
2023-05-10 17:01:24 -07:00
Gabriel Biren
6d41484860 Skip RTT responder VTS tests if the capabilities
do not indicate responder support.

Bug: 280550766
Test: atest WifiRttControllerAidlTest
Change-Id: I343dc3f2729274db5628f54501b89a470a512206
2023-05-03 22:11:51 +00:00
Gabriel Biren
fce371b9b5 Add a lock around any public methods in
the AidlCallbackHandler.

Bug: 278433745
Test: Start wifi.
Change-Id: I2b143b9e8671eaf8c63c5623c09d2a04f914a772
2023-04-21 18:15:16 +00:00
Yuyang Huang
b37f9a8a83 Add @VsrTest annotation to Apf test
Bug: 259309511
Test: atest VtsHalWifiStaIfaceTargetTest
Change-Id: I860e7bff6a31ae7871a6041ab76c2c685b7c8c38
2023-04-14 12:26:32 +09:00
Gabriel Biren
f5c86e53bf Merge "Acquire the global lock when the dump method is called." into udc-dev 2023-04-12 20:06:12 +00:00
Xiao Ma
e238106742 Merge "Update the setDtimMultiplier aidl API documentation." into udc-dev 2023-04-12 00:46:17 +00:00
Xiao Ma
9acf79f7ad Update the setDtimMultiplier aidl API documentation.
Update the aidl API documentation to describe how setDtimMultiplier API
is supposed to work, i.e. we can call this API to set a maximum DTIM
multiplier value to use in driver, any larger value must not be accepted
and meanwhile it allows to set a specific multiplier by OEMs. Try to
make the description clear and avoid the ambiguity.

Bug: 266256943
Test: m
Change-Id: Ic7d2284a25e32d1b0752cf2bc832c069f646fcea
2023-04-11 15:03:51 +09:00
Alex Buynytskyy
1deeb7fabf Merge "UpsideDownCake is now 34" into udc-dev 2023-04-11 01:17:33 +00:00
Gabriel Biren
57896d2a1c Acquire the global lock when the
dump method is called.

This should prevent a race condition
between stop() and dump().

stop() already acquires the global lock
when it calls validateAndCall().

Bug: 274641043
Test: adb shell dumpsys wifi # validates dump()
Change-Id: Ie2df0861308954cd2e399c9604d4ae0dcddf95fb
2023-04-10 23:47:45 +00:00
Alex Buynytskyy
ec1198d941 UpsideDownCake is now 34
Ignore-AOSP-First: UpsideDownCake Finalization
Bug: 275409981
Test: build
Change-Id: I832ab7a8b5445ba85e27bbcf5be64906bfa0e5be
2023-04-07 23:41:20 +00:00
Gabriel Biren
90059381f0 Do not check the returned value in the
VTS test for IWifiChip#getFeatureSet.

Some implementations of the legacy HAL,
such as Goldfish, do not have any
supported features.

Bug: 273886122
Test: atest VtsHalWifiChipTargetTest
       (tested on Cuttlefish)
Change-Id: I3ca22187cab0e77d36a28908e57ff4970535e4ae
2023-04-07 23:30:54 +00:00
Yuyang Huang
1096ca0ed2 Merge "Add VTS to cover the APF VSR requirement since U" into udc-dev 2023-03-28 03:57:02 +00:00
Yuyang Huang
e6396ba7ba Add VTS to cover the APF VSR requirement since U
Since Android U, VSR 5.3.12 mentioned the Android Packet Filtering must
be supported by CHIPSETs and DEVICEs launching on Android 14 or higher.
This VTS was added to check if APF is supported properly.

Given the limitation of the VTS testing environment, the first version
of the test case only checks: if the APF is supported by WiFi chips with
version 4 and more than 1024 bytes of usable memory.

Bug: 259309511
Test: atest VtsHalWifiStaIfaceTargetTest
Change-Id: I3ee2a980a4440db232738a23c1633aaff3562d95
2023-03-27 10:54:44 +09:00
Ye Jiao
2dc47ca925 Add config to skip state toggle off/on for Wi-Fi NAN
If STA and NAN share the same iface wlan0, Wi-Fi vendor HAL service
sends eventDisabled to NAN framework when STA setMacAddress to wlan0.
This disables NAN when STA is turned on.

Since NAN always uses its own random MAC instead of using MAC of STA,
this action is not necessary and gets NAN kicked off for no benefits.

We add a build time configuration to optionally disable this behavior.

Bug: 273426515
Test: manually test

Change-Id: Ifc71b7e8d09eac1b66b9e18c70e0e6d202683ff6
2023-03-21 18:13:18 +00:00
Oscar Shu
e07c69786d Merge "Update setAfcChannelAllowance" into udc-dev 2023-03-16 23:40:24 +00:00
Oscar Shu
4275c8793c Update setAfcChannelAllowance
Use a new structure to passdown:
- AFC information queried based on frequency
- AFC information queried based on channel number
- expiration time

This change is per chip vendor request. Based on AFC server support,
either frequency based information or channel based information may be
empty. If both are empty, then it indicate the driver should not allow
any standard power transmission on 6Ghz.

Bug: 262791660
Test: compile
Test: Manually verified information is passed down with local framework
change

Change-Id: Id1d014a6113f6863b98ef8239a5a52d3863aa758
2023-03-16 18:55:54 +00:00
Gabriel Biren
0d841ae812 Add comment to the Vendor HAL Android.bp file to
explain why the linter is disabled.

If the linter were enabled, we would run into a
build failure because fixed-size arrays are not
supported on SDK Level < 33. The interface indicates
min_sdk_version 30 due to mainline requirements,
but the interface will only be accessed by devices
running Android U.

Bug: 267819850
Test: m
Change-Id: Ifed2223d1c5f4bf46329ed72fa622b730e99cde1
2023-03-16 17:24:51 +00:00
Gabriel Biren
c939532af1 Merge "Remove deprecated method getValidFrequenciesForBand from IWifiApIface and IWifiStaIface." into udc-dev 2023-03-15 17:24:54 +00:00
Gabriel Biren
2f86249fcb Rename getCapabilities to getFeatureSet
in the Vendor HAL implementation.

Bug: 267819850
Test: Run gTest suite
Change-Id: Id21f3edde0b01636d0a994cc8b7b1d434bacaa04
2023-03-09 19:14:36 +00:00
Gabriel Biren
2a391a09df Rename getCapabilities to getFeatureSet
in IWifiChip and IWifiStaIface.

Main purpose is to distinguish between
the 2 capability methods in IWifiChip:
 - getCapabilities (renamed here)
 - getWifiChipCapabilities

Bug: 267819850
Test: atest VtsHalWifiChipTargetTest \
            VtsHalWifiStaIfaceTargetTest
Change-Id: I03c15d652d02aef99b219c2d630b69acb4d9e43c
2023-03-09 19:07:53 +00:00
Gabriel Biren
810771c323 Remove deprecated method getValidFrequenciesForBand
from IWifiApIface and IWifiStaIface.

Bug: 267819850
Test: atest VtsHalWifiStaIfaceTargetTest \
            VtsHalWifiApIfaceTargetTest
Change-Id: I369d72e3eff9283552822a92b26ce0f4fb35fedf
2023-03-09 00:40:50 +00:00
TreeHugger Robot
0e270ef5f1 Merge "Convert NAN enums that are used as bitmaps to an int." into udc-dev 2023-03-03 21:51:58 +00:00
TreeHugger Robot
b77c796280 Merge "Update comments to indicate whether NAN enums are used as an enum or a bitmask." into udc-dev 2023-03-03 21:45:15 +00:00
Gabriel Biren
53368fa332 Merge changes from topic "vendor-hal-bitmaps" into udc-dev
* changes:
  Update Vendor HAL service to use ints for bitmaps instead of using enums.
  Use an int to represent bitmaps in the Vendor HAL AIDL interface.
2023-03-03 21:21:34 +00:00
Gabriel Biren
86971aa04c Convert NAN enums that are used as bitmaps
to an int.

Bug: 267819850
Test: atest VtsHalWifiNanIfaceTargetTest
Change-Id: I6085c01fe6a7585fbdd8855bfdf183a75644ff80
2023-03-03 18:06:33 +00:00
Gabriel Biren
e817aeb699 Update comments to indicate whether NAN enums
are used as an enum or a bitmask.

Bug: 267819850
Test: m
Change-Id: I6625d017a5563f82e87a2ee9300bb2d880b9242a
2023-03-03 18:02:16 +00:00
TreeHugger Robot
4da12781df Merge "Update imports and argument comments in the NAN sections of the Vendor HAL interface." into udc-dev 2023-03-02 19:49:19 +00:00
Nate(Qiang) Jiang
39eee87484 Merge "Change the value of constant according to the spec" into udc-dev 2023-03-02 18:41:23 +00:00
Nate Jiang
cdf2ef0bac Change the value of constant according to the spec
Re-assign the value according to the Wifi Aware R4.0 section 9.5.21.1
Also correct several comments.

Bug: 269440402
Test: build
Change-Id: Ib3dd6365b2a28f871ec6ae3775ee8b9e9481475f
2023-03-01 13:58:36 -08:00
Gabriel Biren
3b86a78032 Update Vendor HAL service to use ints
for bitmaps instead of using enums.

Bug: 267819850
Test: m
Change-Id: I6fba3cd669d197229ff637c6326a94be624d5e6e
2023-03-01 21:30:40 +00:00
Gabriel Biren
008c1da031 Use an int to represent bitmaps in
the Vendor HAL AIDL interface.

Bug: 267819850
Test: atest VtsHalWifiChipTargetTest \
            VtsHalWifiStaIfaceTargetTest \
	    VtsHalWifiApIfaceTargetTest \
	    VtsHalWifiNanIfaceTargetTest \
	    VtsHalWifiRttControllerTargetTest
Change-Id: Ic72496c654067b2db97109cc3dc9ff50f1f1d1dd
2023-03-01 21:30:15 +00:00
TreeHugger Robot
b964c8b7be Merge "Update comments for the Aware 4.0 types in the Vendor HAL interface." into udc-dev 2023-03-01 20:31:36 +00:00