wifi: add 60GHz STA support

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
This commit is contained in:
Jimmy Chen 2019-12-25 20:43:40 +02:00
parent 943e5ad18e
commit a8ae5ac2fa
3 changed files with 128 additions and 0 deletions

View file

@ -780,3 +780,4 @@ cd84ab19c590e0e73dd2307b591a3093ee18147ef95e6d5418644463a6620076 android.hardwar
57d183b10b13ec0a8e542c0b3d61991ae541c60e85dbbc5499bb21dfd068cbb8 android.hardware.wifi.supplicant@1.4::types
17818b6b1952a75e4364ae82c534b9d2f5c0a9765a56256b16faa5a5cf45d3a8 android.hardware.wifi.supplicant@1.4::ISupplicant
8342b5f6ec8f48ad2b741128aede010995d0b5709257b7ec09bb469b4f61ef1a android.hardware.wifi.supplicant@1.4::ISupplicantStaIface
6f969b191f0b699ceab0573548f1ac505853e56e704711edc51b51976d4f87ad android.hardware.wifi.supplicant@1.4::ISupplicantStaNetwork

View file

@ -7,6 +7,7 @@ hidl_interface {
"types.hal",
"ISupplicant.hal",
"ISupplicantStaIface.hal",
"ISupplicantStaNetwork.hal",
],
interfaces: [
"android.hardware.wifi.supplicant@1.0",

View file

@ -0,0 +1,126 @@
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.wifi.supplicant@1.4;
import @1.3::ISupplicantStaNetwork;
import @1.0::SupplicantStatus;
/**
* Interface exposed by the supplicant for each station mode network
* configuration it controls.
*/
interface ISupplicantStaNetwork extends @1.3::ISupplicantStaNetwork {
/**
* Possible mask of values for PairwiseCipher param.
*/
enum PairwiseCipherMask : @1.3::ISupplicantStaNetwork.PairwiseCipherMask {
/**
* GCMP-128 Pairwise Cipher
*/
GCMP_128 = 1 << 9,
};
/**
* Possible mask of values for GroupCipher param.
*/
enum GroupCipherMask : @1.3::ISupplicantStaNetwork.GroupCipherMask {
/**
* GCMP-128 Group Cipher
*/
GCMP_128 = 1 << 9,
};
/**
* Set group cipher mask for the network.
*
* @param groupCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
*/
setGroupCipher_1_4(bitfield<GroupCipherMask> groupCipherMask)
generates (SupplicantStatus status);
/**
* Get the group cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return groupCipherMask Combination of |GroupCipherMask| values.
*/
getGroupCipher_1_4()
generates (SupplicantStatus status, bitfield<GroupCipherMask> groupCipherMask);
/**
* Set pairwise cipher mask for the network.
*
* @param pairwiseCipherMask value to set.
* Combination of |ProtoMask| values.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
*/
setPairwiseCipher_1_4(bitfield<PairwiseCipherMask> pairwiseCipherMask)
generates (SupplicantStatus status);
/**
* Get the pairwise cipher mask set for the network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|
* @return pairwiseCipherMask Combination of |PairwiseCipherMask| values.
*/
getPairwiseCipher_1_4()
generates (SupplicantStatus status, bitfield<PairwiseCipherMask> pairwiseCipherMask);
/**
* Set whether to enable enhanced directional multi-gigabit (802.11ay EDMG).
* Only allowed if hw mode is |HOSTAPD_MODE_IEEE80211AD|
*
* @param enable true to set, false otherwise.
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
*/
setEdmg(bool enable) generates (SupplicantStatus status);
/**
* Get whether enhanced directional multi-gigabit (802.11ay EDMG) is enabled for this network.
*
* @return status Status of the operation.
* Possible status codes:
* |SupplicantStatusCode.SUCCESS|,
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
* @return enabled true if set, false otherwise.
*/
getEdmg() generates (SupplicantStatus status, bool enabled);
};