Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8ae5ac2 authored by Jimmy Chen's avatar Jimmy Chen
Browse files

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
parent 943e5ad1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ hidl_interface {
        "types.hal",
        "ISupplicant.hal",
        "ISupplicantStaIface.hal",
        "ISupplicantStaNetwork.hal",
    ],
    interfaces: [
        "android.hardware.wifi.supplicant@1.0",
+126 −0
Original line number Diff line number Diff line
/*
 * 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);
};