Snap for 8730993 from e4f57640c3f2031f328449045258a700020bae55 to mainline-tzdata3-release
Change-Id: Ic78fa8b052c7c804583203e2c4463b17bf7eb4ef
diff --git a/Android.bp b/Android.bp
index 01fe22a..e417aaf 100644
--- a/Android.bp
+++ b/Android.bp
@@ -58,10 +58,7 @@
//
cc_binary {
name: "wificond",
- defaults: [
- "keystore2_use_latest_aidl_ndk_shared",
- "wificond_defaults",
- ],
+ defaults: ["wificond_defaults"],
init_rc: ["wificond.rc"],
srcs: [
"main.cpp",
@@ -70,8 +67,8 @@
include_dirs: ["system/security/keystore/include"],
shared_libs: [
- "android.hardware.net.nlinterceptor-V1-ndk",
- "android.security.legacykeystore-ndk",
+ "android.system.keystore2-V1-ndk_platform",
+ "android.security.legacykeystore-ndk_platform",
"libbinder",
"libbinder_ndk",
"libbase",
@@ -85,7 +82,6 @@
"android.system.wifi.keystore@1.0",
],
static_libs: [
- "libnlinterceptor",
"libwificond", // Wificond daemon
"libwifikeystorehal" // Wifi Keystore HAL service
],
@@ -118,13 +114,11 @@
],
shared_libs: [
- "android.hardware.net.nlinterceptor-V1-ndk",
"libbase",
"libutils",
"libwifi-system-iface",
],
whole_static_libs: [
- "libnlinterceptor",
"libwificond_ipc",
"libwificond_nl",
"libwificond_event_loop",
@@ -144,16 +138,8 @@
"net/nl80211_attribute.cpp",
"net/nl80211_packet.cpp",
],
- shared_libs: [
- "android.hardware.net.nlinterceptor-V1-ndk",
- "libbinder_ndk",
- "libbase",
- ],
- whole_static_libs: [
- "libnlinterceptor",
- "android.hardware.automotive.can@libnetdevice",
- "libnl++",
- ],
+ shared_libs: ["libbase"],
+
}
//
@@ -166,6 +152,7 @@
whole_static_libs: [
"liblog",
"libbase",
+ "libutils",
],
}
@@ -193,11 +180,7 @@
"scanning/scan_result.cpp",
"scanning/single_scan_settings.cpp",
],
- shared_libs: [
- "android.hardware.net.nlinterceptor-V1-ndk",
- "libbinder",
- ],
- static_libs: ["libnlinterceptor"],
+ shared_libs: ["libbinder"],
}
filegroup {
@@ -242,13 +225,6 @@
name: "wificond_unit_test",
defaults: ["wificond_defaults"],
test_suites: ["device-tests"],
- tidy_timeout_srcs: [
- "tests/client_interface_impl_unittest.cpp",
- "tests/netlink_utils_unittest.cpp",
- "tests/scanner_unittest.cpp",
- "tests/scan_utils_unittest.cpp",
- "tests/server_unittest.cpp",
- ],
srcs: [
"tests/ap_interface_impl_unittest.cpp",
"tests/client_interface_impl_unittest.cpp",
@@ -273,16 +249,13 @@
static_libs: [
"libgmock",
"libgtest",
- "libnlinterceptor",
"libwifi-system-iface-test",
"libwificond",
"libwificond_nl",
],
shared_libs: [
- "android.hardware.net.nlinterceptor-V1-ndk",
"libbase",
"libbinder",
- "libbinder_ndk",
"libcutils",
"liblog",
"libutils",
diff --git a/aidl/android/net/wifi/nl80211/IApInterfaceEventCallback.aidl b/aidl/android/net/wifi/nl80211/IApInterfaceEventCallback.aidl
index 5bd3c51..26a92de 100644
--- a/aidl/android/net/wifi/nl80211/IApInterfaceEventCallback.aidl
+++ b/aidl/android/net/wifi/nl80211/IApInterfaceEventCallback.aidl
@@ -32,7 +32,6 @@
const int BANDWIDTH_80 = 4;
const int BANDWIDTH_80P80 = 5;
const int BANDWIDTH_160 = 6;
- const int BANDWIDTH_320 = 7;
// Signals that the stations associated to this soft Ap have changed.
//
diff --git a/aidl/android/net/wifi/nl80211/IWifiScannerImpl.aidl b/aidl/android/net/wifi/nl80211/IWifiScannerImpl.aidl
index 02c714c..4cf0c2b 100644
--- a/aidl/android/net/wifi/nl80211/IWifiScannerImpl.aidl
+++ b/aidl/android/net/wifi/nl80211/IWifiScannerImpl.aidl
@@ -42,9 +42,6 @@
// completed disconnected mode PNO scans
NativeScanResult[] getPnoScanResults();
- // Get the max number of SSIDs that the driver supports per scan.
- int getMaxSsidsPerScan();
-
// Request a single scan using a SingleScanSettings parcelable object.
boolean scan(in SingleScanSettings scanSettings);
diff --git a/aidl/android/net/wifi/nl80211/IWificond.aidl b/aidl/android/net/wifi/nl80211/IWificond.aidl
index f84b020..d59ee33 100644
--- a/aidl/android/net/wifi/nl80211/IWificond.aidl
+++ b/aidl/android/net/wifi/nl80211/IWificond.aidl
@@ -106,8 +106,4 @@
// @return a device wiphy capabilities for an interface
@nullable DeviceWiphyCapabilities getDeviceWiphyCapabilities(@utf8InCpp String iface_name);
-
- // Notify wificond country code changed. It is being used when the driver doesn't support
- // NL80211_CMD_REG_CHANGE or NL80211_CMD_WIPHY_REG_CHANGE
- oneway void notifyCountryCodeChanged();
}
diff --git a/ap_interface_binder.cpp b/ap_interface_binder.cpp
index 9384cfa..371fa61 100644
--- a/ap_interface_binder.cpp
+++ b/ap_interface_binder.cpp
@@ -67,9 +67,6 @@
case ChannelBandwidth::BW_160:
bandwidth = IApInterfaceEventCallback::BANDWIDTH_160;
break;
- case ChannelBandwidth::BW_320:
- bandwidth = IApInterfaceEventCallback::BANDWIDTH_320;
- break;
default:
bandwidth = IApInterfaceEventCallback::BANDWIDTH_INVALID;
}
diff --git a/device_wiphy_capabilities.cpp b/device_wiphy_capabilities.cpp
index 22a65a6..d932811 100644
--- a/device_wiphy_capabilities.cpp
+++ b/device_wiphy_capabilities.cpp
@@ -31,10 +31,8 @@
is80211nSupported_ = false;
is80211acSupported_ = false;
is80211axSupported_ = false;
- is80211beSupported_ = false;
is160MhzSupported_ = false;
is80p80MhzSupported_ = false;
- is320MhzSupported_ = false;
maxTxStreams_ = 1;
maxRxStreams_ = 1;
}
@@ -43,10 +41,8 @@
RETURN_IF_FAILED(parcel->writeBool(is80211nSupported_));
RETURN_IF_FAILED(parcel->writeBool(is80211acSupported_));
RETURN_IF_FAILED(parcel->writeBool(is80211axSupported_));
- RETURN_IF_FAILED(parcel->writeBool(is80211beSupported_));
RETURN_IF_FAILED(parcel->writeBool(is160MhzSupported_ ));
RETURN_IF_FAILED(parcel->writeBool(is80p80MhzSupported_));
- RETURN_IF_FAILED(parcel->writeBool(is320MhzSupported_ ));
RETURN_IF_FAILED(parcel->writeUint32(maxTxStreams_));
RETURN_IF_FAILED(parcel->writeUint32(maxRxStreams_));
return ::android::OK;
@@ -56,10 +52,8 @@
RETURN_IF_FAILED(parcel->readBool(&is80211nSupported_));
RETURN_IF_FAILED(parcel->readBool(&is80211acSupported_));
RETURN_IF_FAILED(parcel->readBool(&is80211axSupported_));
- RETURN_IF_FAILED(parcel->readBool(&is80211beSupported_));
RETURN_IF_FAILED(parcel->readBool(&is160MhzSupported_));
RETURN_IF_FAILED(parcel->readBool(&is80p80MhzSupported_));
- RETURN_IF_FAILED(parcel->readBool(&is320MhzSupported_));
RETURN_IF_FAILED(parcel->readUint32(&maxTxStreams_));
RETURN_IF_FAILED(parcel->readUint32(&maxRxStreams_));
diff --git a/device_wiphy_capabilities.h b/device_wiphy_capabilities.h
index fb118d0..c50f99c 100644
--- a/device_wiphy_capabilities.h
+++ b/device_wiphy_capabilities.h
@@ -32,10 +32,8 @@
return (is80211nSupported_ == rhs.is80211nSupported_
&& is80211acSupported_ == rhs.is80211acSupported_
&& is80211axSupported_ == rhs.is80211axSupported_
- && is80211beSupported_ == rhs.is80211beSupported_
&& is160MhzSupported_ == rhs.is160MhzSupported_
&& is80p80MhzSupported_ == rhs.is80p80MhzSupported_
- && is320MhzSupported_ == rhs.is320MhzSupported_
&& maxTxStreams_ == rhs.maxTxStreams_
&& maxRxStreams_ == rhs.maxRxStreams_);
}
@@ -45,10 +43,8 @@
bool is80211nSupported_;
bool is80211acSupported_;
bool is80211axSupported_;
- bool is80211beSupported_;
bool is160MhzSupported_;
bool is80p80MhzSupported_;
- bool is320MhzSupported_;
uint32_t maxTxStreams_;
uint32_t maxRxStreams_;
};
diff --git a/looper_backed_event_loop.cpp b/looper_backed_event_loop.cpp
index f759948..b4f5c44 100644
--- a/looper_backed_event_loop.cpp
+++ b/looper_backed_event_loop.cpp
@@ -79,14 +79,14 @@
void LooperBackedEventLoop::PostTask(const std::function<void()>& callback) {
sp<android::MessageHandler> event_loop_callback =
new EventLoopCallback(callback);
- looper_->sendMessage(event_loop_callback, Message());
+ looper_->sendMessage(event_loop_callback, NULL);
}
void LooperBackedEventLoop::PostDelayedTask(
const std::function<void()>& callback,
int64_t delay_ms) {
sp<android::MessageHandler> looper_callback = new EventLoopCallback(callback);
- looper_->sendMessageDelayed(ms2ns(delay_ms), looper_callback, Message());
+ looper_->sendMessageDelayed(ms2ns(delay_ms), looper_callback, NULL);
}
bool LooperBackedEventLoop::WatchFileDescriptor(
diff --git a/net/kernel-header-latest/nl80211.h b/net/kernel-header-latest/nl80211.h
index e7941c4..cd587e1 100644
--- a/net/kernel-header-latest/nl80211.h
+++ b/net/kernel-header-latest/nl80211.h
@@ -11,7 +11,7 @@
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
* Copyright 2008 Colin McCabe <colin@cozybit.com>
* Copyright 2015-2017 Intel Deutschland GmbH
- * Copyright (C) 2018-2022 Intel Corporation
+ * Copyright (C) 2018-2020 Intel Corporation
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -286,28 +286,6 @@
* the interface goes down.
*/
/**
- * DOC: FILS shared key crypto offload
- *
- * This feature is applicable to drivers running in AP mode.
- *
- * FILS shared key crypto offload can be advertised by drivers by setting
- * @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD flag. The drivers that support
- * FILS shared key crypto offload should be able to encrypt and decrypt
- * association frames for FILS shared key authentication as per IEEE 802.11ai.
- * With this capability, for FILS key derivation, drivers depend on userspace.
- *
- * After FILS key derivation, userspace shares the FILS AAD details with the
- * driver and the driver stores the same to use in decryption of association
- * request and in encryption of association response. The below parameters
- * should be given to the driver in %NL80211_CMD_SET_FILS_AAD.
- * %NL80211_ATTR_MAC - STA MAC address, used for storing FILS AAD per STA
- * %NL80211_ATTR_FILS_KEK - Used for encryption or decryption
- * %NL80211_ATTR_FILS_NONCES - Used for encryption or decryption
- * (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
- *
- * Once the association is done, the driver cleans the FILS AAD data.
- */
-/**
* enum nl80211_commands - supported nl80211 commands
*
* @NL80211_CMD_UNSPEC: unspecified command to catch errors
@@ -344,10 +322,7 @@
* @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from
* userspace to request deletion of a virtual interface, then requires
- * attribute %NL80211_ATTR_IFINDEX. If multiple BSSID advertisements are
- * enabled using %NL80211_ATTR_MBSSID_CONFIG, %NL80211_ATTR_MBSSID_ELEMS,
- * and if this command is used for the transmitting interface, then all
- * the non-transmitting interfaces are deleted as well.
+ * attribute %NL80211_ATTR_IFINDEX.
*
* @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
* by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.
@@ -665,9 +640,6 @@
* When a security association was established on an 802.1X network using
* fast transition, this event should be followed by an
* %NL80211_CMD_PORT_AUTHORIZED event.
- * Following a %NL80211_CMD_ROAM event userspace can issue
- * %NL80211_CMD_GET_SCAN in order to obtain the scan information for the
- * new BSS the card/driver roamed to.
* @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
* userspace that a connection was dropped by the AP or due to other
* reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
@@ -770,8 +742,7 @@
* of any other interfaces, and other interfaces will again take
* precedence when they are used.
*
- * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface
- * (no longer supported).
+ * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
*
* @NL80211_CMD_SET_MULTICAST_TO_UNICAST: Configure if this AP should perform
* multicast to unicast conversion. When enabled, all multicast packets
@@ -1083,7 +1054,7 @@
* %NL80211_ATTR_MAC.
* @NL80211_CMD_PORT_AUTHORIZED: An event that indicates an 802.1X FT roam was
* completed successfully. Drivers that support 4 way handshake offload
- * should send this event after indicating 802.1X FT assocation with
+ * should send this event after indicating 802.1X FT association with
* %NL80211_CMD_ROAM. If the 4 way handshake failed %NL80211_CMD_DISCONNECT
* should be indicated instead.
* @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
@@ -1191,36 +1162,6 @@
* includes the contents of the frame. %NL80211_ATTR_ACK flag is included
* if the recipient acknowledged the frame.
*
- * @NL80211_CMD_SET_SAR_SPECS: SAR power limitation configuration is
- * passed using %NL80211_ATTR_SAR_SPEC. %NL80211_ATTR_WIPHY is used to
- * specify the wiphy index to be applied to.
- *
- * @NL80211_CMD_OBSS_COLOR_COLLISION: This notification is sent out whenever
- * mac80211/drv detects a bss color collision.
- *
- * @NL80211_CMD_COLOR_CHANGE_REQUEST: This command is used to indicate that
- * userspace wants to change the BSS color.
- *
- * @NL80211_CMD_COLOR_CHANGE_STARTED: Notify userland, that a color change has
- * started
- *
- * @NL80211_CMD_COLOR_CHANGE_ABORTED: Notify userland, that the color change has
- * been aborted
- *
- * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change
- * has completed
- *
- * @NL80211_CMD_SET_FILS_AAD: Set FILS AAD data to the driver using -
- * &NL80211_ATTR_MAC - for STA MAC address
- * &NL80211_ATTR_FILS_KEK - for KEK
- * &NL80211_ATTR_FILS_NONCES - for FILS Nonces
- * (STA Nonce 16 bytes followed by AP Nonce 16 bytes)
- *
- * @NL80211_CMD_ASSOC_COMEBACK: notification about an association
- * temporal rejection with comeback. The event includes %NL80211_ATTR_MAC
- * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to
- * specify the timeout value.
- *
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
@@ -1371,14 +1312,6 @@
NL80211_CMD_SET_TID_CONFIG,
NL80211_CMD_UNPROT_BEACON,
NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS,
- NL80211_CMD_SET_SAR_SPECS,
- NL80211_CMD_OBSS_COLOR_COLLISION,
- NL80211_CMD_COLOR_CHANGE_REQUEST,
- NL80211_CMD_COLOR_CHANGE_STARTED,
- NL80211_CMD_COLOR_CHANGE_ABORTED,
- NL80211_CMD_COLOR_CHANGE_COMPLETED,
- NL80211_CMD_SET_FILS_AAD,
- NL80211_CMD_ASSOC_COMEBACK,
/* add new commands above here */
/* used to define NL80211_CMD_MAX below */
__NL80211_CMD_AFTER_LAST,
@@ -1717,9 +1650,8 @@
* specify just a single bitrate, which is to be used for the beacon.
* The driver must also specify support for this with the extended
* features NL80211_EXT_FEATURE_BEACON_RATE_LEGACY,
- * NL80211_EXT_FEATURE_BEACON_RATE_HT,
- * NL80211_EXT_FEATURE_BEACON_RATE_VHT and
- * NL80211_EXT_FEATURE_BEACON_RATE_HE.
+ * NL80211_EXT_FEATURE_BEACON_RATE_HT and
+ * NL80211_EXT_FEATURE_BEACON_RATE_VHT.
*
* @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
* at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
@@ -1923,15 +1855,8 @@
* @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire
* probe-response frame. The DA field in the 802.11 header is zero-ed out,
* to be filled by the FW.
- * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable
- * this feature during association. This is a flag attribute.
- * Currently only supported in mac80211 drivers.
- * @NL80211_ATTR_DISABLE_VHT: Force VHT capable interfaces to disable
- * this feature during association. This is a flag attribute.
- * Currently only supported in mac80211 drivers.
- * @NL80211_ATTR_DISABLE_HE: Force HE capable interfaces to disable
- * this feature during association. This is a flag attribute.
- * Currently only supported in mac80211 drivers.
+ * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable
+ * this feature. Currently, only supported in mac80211 drivers.
* @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the
* ATTR_HT_CAPABILITY to which attention should be paid.
* Currently, only mac80211 NICs support this feature.
@@ -2052,8 +1977,7 @@
* until the channel switch event.
* @NL80211_ATTR_CH_SWITCH_BLOCK_TX: flag attribute specifying that transmission
* must be blocked on the current channel (before the channel switch
- * operation). Also included in the channel switch started event if quiet
- * was requested by the AP.
+ * operation).
* @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information
* for the time while performing a channel switch.
* @NL80211_ATTR_CNTDWN_OFFS_BEACON: An array of offsets (u16) to the channel
@@ -2369,9 +2293,7 @@
* space supports external authentication. This attribute shall be used
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
* may offload authentication processing to user space if this capability
- * is indicated in the respective requests from the user space. (This flag
- * attribute deprecated for %NL80211_CMD_START_AP, use
- * %NL80211_ATTR_AP_SETTINGS_FLAGS)
+ * is indicated in the respective requests from the user space.
*
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
@@ -2504,57 +2426,6 @@
* override mask. Used with NL80211_ATTR_S1G_CAPABILITY in
* NL80211_CMD_ASSOCIATE or NL80211_CMD_CONNECT.
*
- * @NL80211_ATTR_SAE_PWE: Indicates the mechanism(s) allowed for SAE PWE
- * derivation in WPA3-Personal networks which are using SAE authentication.
- * This is a u8 attribute that encapsulates one of the values from
- * &enum nl80211_sae_pwe_mechanism.
- *
- * @NL80211_ATTR_SAR_SPEC: SAR power limitation specification when
- * used with %NL80211_CMD_SET_SAR_SPECS. The message contains fields
- * of %nl80211_sar_attrs which specifies the sar type and related
- * sar specs. Sar specs contains array of %nl80211_sar_specs_attrs.
- *
- * @NL80211_ATTR_RECONNECT_REQUESTED: flag attribute, used with deauth and
- * disassoc events to indicate that an immediate reconnect to the AP
- * is desired.
- *
- * @NL80211_ATTR_OBSS_COLOR_BITMAP: bitmap of the u64 BSS colors for the
- * %NL80211_CMD_OBSS_COLOR_COLLISION event.
- *
- * @NL80211_ATTR_COLOR_CHANGE_COUNT: u8 attribute specifying the number of TBTT's
- * until the color switch event.
- * @NL80211_ATTR_COLOR_CHANGE_COLOR: u8 attribute specifying the color that we are
- * switching to
- * @NL80211_ATTR_COLOR_CHANGE_ELEMS: Nested set of attributes containing the IE
- * information for the time while performing a color switch.
- *
- * @NL80211_ATTR_MBSSID_CONFIG: Nested attribute for multiple BSSID
- * advertisements (MBSSID) parameters in AP mode.
- * Kernel uses this attribute to indicate the driver's support for MBSSID
- * and enhanced multi-BSSID advertisements (EMA AP) to the userspace.
- * Userspace should use this attribute to configure per interface MBSSID
- * parameters.
- * See &enum nl80211_mbssid_config_attributes for details.
- *
- * @NL80211_ATTR_MBSSID_ELEMS: Nested parameter to pass multiple BSSID elements.
- * Mandatory parameter for the transmitting interface to enable MBSSID.
- * Optional for the non-transmitting interfaces.
- *
- * @NL80211_ATTR_RADAR_BACKGROUND: Configure dedicated offchannel chain
- * available for radar/CAC detection on some hw. This chain can't be used
- * to transmit or receive frames and it is bounded to a running wdev.
- * Background radar/CAC detection allows to avoid the CAC downtime
- * switching on a different channel during CAC detection on the selected
- * radar channel.
- *
- * @NL80211_ATTR_AP_SETTINGS_FLAGS: u32 attribute contains ap settings flags,
- * enumerated in &enum nl80211_ap_settings_flags. This attribute shall be
- * used with %NL80211_CMD_START_AP request.
- *
- * @NL80211_ATTR_EHT_CAPABILITY: EHT Capability information element (from
- * association request when used with NL80211_CMD_NEW_STATION). Can be set
- * only if %NL80211_STA_FLAG_WME is set.
- *
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2859,19 +2730,6 @@
NL80211_ATTR_UNSOL_BCAST_PROBE_RESP,
NL80211_ATTR_S1G_CAPABILITY,
NL80211_ATTR_S1G_CAPABILITY_MASK,
- NL80211_ATTR_SAE_PWE,
- NL80211_ATTR_RECONNECT_REQUESTED,
- NL80211_ATTR_SAR_SPEC,
- NL80211_ATTR_DISABLE_HE,
- NL80211_ATTR_OBSS_COLOR_BITMAP,
- NL80211_ATTR_COLOR_CHANGE_COUNT,
- NL80211_ATTR_COLOR_CHANGE_COLOR,
- NL80211_ATTR_COLOR_CHANGE_ELEMS,
- NL80211_ATTR_MBSSID_CONFIG,
- NL80211_ATTR_MBSSID_ELEMS,
- NL80211_ATTR_RADAR_BACKGROUND,
- NL80211_ATTR_AP_SETTINGS_FLAGS,
- NL80211_ATTR_EHT_CAPABILITY,
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
@@ -2922,8 +2780,6 @@
#define NL80211_HE_MAX_CAPABILITY_LEN 54
#define NL80211_MAX_NR_CIPHER_SUITES 5
#define NL80211_MAX_NR_AKM_SUITES 2
-#define NL80211_EHT_MIN_CAPABILITY_LEN 13
-#define NL80211_EHT_MAX_CAPABILITY_LEN 51
#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
/* default RSSI threshold for scan results if none specified. */
#define NL80211_SCAN_RSSI_THOLD_OFF -300
@@ -3078,54 +2934,6 @@
NL80211_RATE_INFO_HE_RU_ALLOC_2x996,
};
/**
- * enum nl80211_eht_gi - EHT guard interval
- * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec
- * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec
- * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec
- */
-enum nl80211_eht_gi {
- NL80211_RATE_INFO_EHT_GI_0_8,
- NL80211_RATE_INFO_EHT_GI_1_6,
- NL80211_RATE_INFO_EHT_GI_3_2,
-};
-/**
- * enum nl80211_eht_ru_alloc - EHT RU allocation values
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation
- * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation
- */
-enum nl80211_eht_ru_alloc {
- NL80211_RATE_INFO_EHT_RU_ALLOC_26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_52,
- NL80211_RATE_INFO_EHT_RU_ALLOC_52P26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_106,
- NL80211_RATE_INFO_EHT_RU_ALLOC_106P26,
- NL80211_RATE_INFO_EHT_RU_ALLOC_242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_484P242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242,
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996,
- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484,
- NL80211_RATE_INFO_EHT_RU_ALLOC_4x996,
-};
-/**
* enum nl80211_rate_info - bitrate information
*
* These attribute types are used with %NL80211_STA_INFO_TXRATE
@@ -3164,13 +2972,6 @@
* @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1)
* @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then
* non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc)
- * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate
- * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15)
- * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8)
- * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier
- * (u8, see &enum nl80211_eht_gi)
- * @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then
- * non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc)
* @__NL80211_RATE_INFO_AFTER_LAST: internal use
*/
enum nl80211_rate_info {
@@ -3192,11 +2993,6 @@
NL80211_RATE_INFO_HE_GI,
NL80211_RATE_INFO_HE_DCM,
NL80211_RATE_INFO_HE_RU_ALLOC,
- NL80211_RATE_INFO_320_MHZ_WIDTH,
- NL80211_RATE_INFO_EHT_MCS,
- NL80211_RATE_INFO_EHT_NSS,
- NL80211_RATE_INFO_EHT_GI,
- NL80211_RATE_INFO_EHT_RU_ALLOC,
/* keep last */
__NL80211_RATE_INFO_AFTER_LAST,
NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
@@ -3492,20 +3288,11 @@
* capabilities IE
* @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as
* defined in HE capabilities IE
+ * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently
+ * defined
* @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16),
* given for all 6 GHz band channels
- * @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are
- * advertised on this band/for this iftype (binary)
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY: EHT PHY capabilities as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET: EHT supported NSS/MCS as in EHT
- * capabilities element
- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE: EHT PPE thresholds information as
- * defined in EHT capabilities element
* @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use
- * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band attribute currently defined
*/
enum nl80211_band_iftype_attr {
__NL80211_BAND_IFTYPE_ATTR_INVALID,
@@ -3515,11 +3302,6 @@
NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET,
NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE,
NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA,
- NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET,
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE,
/* keep last */
__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST,
NL80211_BAND_IFTYPE_ATTR_MAX = __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST - 1
@@ -3654,10 +3436,6 @@
* on this channel in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed
* on this channel in current regulatory domain.
- * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel
- * as the primary or any of the secondary channels isn't possible
- * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
- * in current regulatory domain.
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
* currently defined
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -3694,8 +3472,6 @@
NL80211_FREQUENCY_ATTR_4MHZ,
NL80211_FREQUENCY_ATTR_8MHZ,
NL80211_FREQUENCY_ATTR_16MHZ,
- NL80211_FREQUENCY_ATTR_NO_320MHZ,
- NL80211_FREQUENCY_ATTR_NO_EHT,
/* keep last */
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
@@ -3878,7 +3654,6 @@
* @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
* @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
* @NL80211_RRF_NO_HE: HE operation not allowed
- * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
*/
enum nl80211_reg_rule_flags {
NL80211_RRF_NO_OFDM = 1<<0,
@@ -3897,7 +3672,6 @@
NL80211_RRF_NO_80MHZ = 1<<15,
NL80211_RRF_NO_160MHZ = 1<<16,
NL80211_RRF_NO_HE = 1<<17,
- NL80211_RRF_NO_320MHZ = 1<<18,
};
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
@@ -4372,8 +4146,6 @@
* @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel
* @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel
* @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel
- * @NL80211_CHAN_WIDTH_320: 320 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * attribute must be provided as well
*/
enum nl80211_chan_width {
NL80211_CHAN_WIDTH_20_NOHT,
@@ -4389,7 +4161,6 @@
NL80211_CHAN_WIDTH_4,
NL80211_CHAN_WIDTH_8,
NL80211_CHAN_WIDTH_16,
- NL80211_CHAN_WIDTH_320,
};
/**
* enum nl80211_bss_scan_width - control channel width for a BSS
@@ -4683,7 +4454,6 @@
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
* @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs
- * @NL80211_BAND_LC: light communication band (placeholder)
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
* since newer kernel versions may support more bands
*/
@@ -4693,7 +4463,6 @@
NL80211_BAND_60GHZ,
NL80211_BAND_6GHZ,
NL80211_BAND_S1GHZ,
- NL80211_BAND_LC,
NUM_NL80211_BANDS,
};
/**
@@ -4803,7 +4572,7 @@
* (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE).
* @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but
* per peer instead.
- * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if set indicates
+ * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribute, if set indicates
* that the new configuration overrides all previous peer
* configurations, otherwise previous peer specific configurations
* should be left untouched.
@@ -4832,7 +4601,7 @@
* for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS.
* Its type is u8, using the values from &nl80211_tid_config.
* @NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE: This attribute will be useful
- * to notfiy the driver that what type of txrate should be used
+ * to notify the driver that what type of txrate should be used
* for the TIDs specified in %NL80211_TID_CONFIG_ATTR_TIDS. using
* the values form &nl80211_tx_rate_setting.
* @NL80211_TID_CONFIG_ATTR_TX_RATE: Data frame TX rate mask should be applied
@@ -5395,15 +5164,13 @@
NL80211_TDLS_ENABLE_LINK,
NL80211_TDLS_DISABLE_LINK,
};
-/**
+/*
* enum nl80211_ap_sme_features - device-integrated AP features
- * @NL80211_AP_SME_SA_QUERY_OFFLOAD: SA Query procedures offloaded to driver
- * when user space indicates support for SA Query procedures offload during
- * "start ap" with %NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT.
- */
+ * Reserved for future use, no bits are defined in
+ * NL80211_ATTR_DEVICE_AP_SME yet.
enum nl80211_ap_sme_features {
- NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0,
};
+ */
/**
* enum nl80211_feature_flags - device/driver features
* @NL80211_FEATURE_SK_TX_STATUS: This driver supports reflecting back
@@ -5688,30 +5455,6 @@
* @NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP: Driver/device supports
* unsolicited broadcast probe response transmission
*
- * @NL80211_EXT_FEATURE_BEACON_RATE_HE: Driver supports beacon rate
- * configuration (AP/mesh) with HE rates.
- *
- * @NL80211_EXT_FEATURE_SECURE_LTF: Device supports secure LTF measurement
- * exchange protocol.
- *
- * @NL80211_EXT_FEATURE_SECURE_RTT: Device supports secure RTT measurement
- * exchange protocol.
- *
- * @NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE: Device supports management
- * frame protection for all management frames exchanged during the
- * negotiation and range measurement procedure.
- *
- * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision
- * detection and change announcemnts.
- *
- * @NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD: Driver running in AP mode supports
- * FILS encryption and decryption for (Re)Association Request and Response
- * frames. Userspace has to share FILS AAD details to the driver by using
- * @NL80211_CMD_SET_FILS_AAD.
- *
- * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
- * detection.
- *
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
@@ -5772,13 +5515,6 @@
NL80211_EXT_FEATURE_SAE_OFFLOAD_AP,
NL80211_EXT_FEATURE_FILS_DISCOVERY,
NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP,
- NL80211_EXT_FEATURE_BEACON_RATE_HE,
- NL80211_EXT_FEATURE_SECURE_LTF,
- NL80211_EXT_FEATURE_SECURE_RTT,
- NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE,
- NL80211_EXT_FEATURE_BSS_COLOR,
- NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
- NL80211_EXT_FEATURE_RADAR_BACKGROUND,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
@@ -6059,13 +5795,11 @@
* @NL80211_TDLS_PEER_HT: TDLS peer is HT capable.
* @NL80211_TDLS_PEER_VHT: TDLS peer is VHT capable.
* @NL80211_TDLS_PEER_WMM: TDLS peer is WMM capable.
- * @NL80211_TDLS_PEER_HE: TDLS peer is HE capable.
*/
enum nl80211_tdls_peer_capability {
NL80211_TDLS_PEER_HT = 1<<0,
NL80211_TDLS_PEER_VHT = 1<<1,
NL80211_TDLS_PEER_WMM = 1<<2,
- NL80211_TDLS_PEER_HE = 1<<3,
};
/**
* enum nl80211_sched_scan_plan - scanning plan for scheduled scan
@@ -6614,12 +6348,6 @@
* if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
* %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
* ranging will be used.
- * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
- * valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
- * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
- * @NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR: optional. The BSS color of the
- * responder. Only valid if %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
- * or %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED is set.
*
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
@@ -6637,8 +6365,6 @@
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
- NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
- NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR,
/* keep last */
NUM_NL80211_PMSR_FTM_REQ_ATTR,
NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1
@@ -6875,172 +6601,4 @@
NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX =
__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1
};
-/**
- * enum nl80211_sae_pwe_mechanism - The mechanism(s) allowed for SAE PWE
- * derivation. Applicable only when WPA3-Personal SAE authentication is
- * used.
- *
- * @NL80211_SAE_PWE_UNSPECIFIED: not specified, used internally to indicate that
- * attribute is not present from userspace.
- * @NL80211_SAE_PWE_HUNT_AND_PECK: hunting-and-pecking loop only
- * @NL80211_SAE_PWE_HASH_TO_ELEMENT: hash-to-element only
- * @NL80211_SAE_PWE_BOTH: both hunting-and-pecking loop and hash-to-element
- * can be used.
- */
-enum nl80211_sae_pwe_mechanism {
- NL80211_SAE_PWE_UNSPECIFIED,
- NL80211_SAE_PWE_HUNT_AND_PECK,
- NL80211_SAE_PWE_HASH_TO_ELEMENT,
- NL80211_SAE_PWE_BOTH,
-};
-/**
- * enum nl80211_sar_type - type of SAR specs
- *
- * @NL80211_SAR_TYPE_POWER: power limitation specified in 0.25dBm unit
- *
- */
-enum nl80211_sar_type {
- NL80211_SAR_TYPE_POWER,
- /* add new type here */
- /* Keep last */
- NUM_NL80211_SAR_TYPE,
-};
-/**
- * enum nl80211_sar_attrs - Attributes for SAR spec
- *
- * @NL80211_SAR_ATTR_TYPE: the SAR type as defined in &enum nl80211_sar_type.
- *
- * @NL80211_SAR_ATTR_SPECS: Nested array of SAR power
- * limit specifications. Each specification contains a set
- * of %nl80211_sar_specs_attrs.
- *
- * For SET operation, it contains array of %NL80211_SAR_ATTR_SPECS_POWER
- * and %NL80211_SAR_ATTR_SPECS_RANGE_INDEX.
- *
- * For sar_capa dump, it contains array of
- * %NL80211_SAR_ATTR_SPECS_START_FREQ
- * and %NL80211_SAR_ATTR_SPECS_END_FREQ.
- *
- * @__NL80211_SAR_ATTR_LAST: Internal
- * @NL80211_SAR_ATTR_MAX: highest sar attribute
- *
- * These attributes are used with %NL80211_CMD_SET_SAR_SPEC
- */
-enum nl80211_sar_attrs {
- __NL80211_SAR_ATTR_INVALID,
- NL80211_SAR_ATTR_TYPE,
- NL80211_SAR_ATTR_SPECS,
- __NL80211_SAR_ATTR_LAST,
- NL80211_SAR_ATTR_MAX = __NL80211_SAR_ATTR_LAST - 1,
-};
-/**
- * enum nl80211_sar_specs_attrs - Attributes for SAR power limit specs
- *
- * @NL80211_SAR_ATTR_SPECS_POWER: Required (s32)value to specify the actual
- * power limit value in units of 0.25 dBm if type is
- * NL80211_SAR_TYPE_POWER. (i.e., a value of 44 represents 11 dBm).
- * 0 means userspace doesn't have SAR limitation on this associated range.
- *
- * @NL80211_SAR_ATTR_SPECS_RANGE_INDEX: Required (u32) value to specify the
- * index of exported freq range table and the associated power limitation
- * is applied to this range.
- *
- * Userspace isn't required to set all the ranges advertised by WLAN driver,
- * and userspace can skip some certain ranges. These skipped ranges don't
- * have SAR limitations, and they are same as setting the
- * %NL80211_SAR_ATTR_SPECS_POWER to any unreasonable high value because any
- * value higher than regulatory allowed value just means SAR power
- * limitation is removed, but it's required to set at least one range.
- * It's not allowed to set duplicated range in one SET operation.
- *
- * Every SET operation overwrites previous SET operation.
- *
- * @NL80211_SAR_ATTR_SPECS_START_FREQ: Required (u32) value to specify the start
- * frequency of this range edge when registering SAR capability to wiphy.
- * It's not a channel center frequency. The unit is kHz.
- *
- * @NL80211_SAR_ATTR_SPECS_END_FREQ: Required (u32) value to specify the end
- * frequency of this range edge when registering SAR capability to wiphy.
- * It's not a channel center frequency. The unit is kHz.
- *
- * @__NL80211_SAR_ATTR_SPECS_LAST: Internal
- * @NL80211_SAR_ATTR_SPECS_MAX: highest sar specs attribute
- */
-enum nl80211_sar_specs_attrs {
- __NL80211_SAR_ATTR_SPECS_INVALID,
- NL80211_SAR_ATTR_SPECS_POWER,
- NL80211_SAR_ATTR_SPECS_RANGE_INDEX,
- NL80211_SAR_ATTR_SPECS_START_FREQ,
- NL80211_SAR_ATTR_SPECS_END_FREQ,
- __NL80211_SAR_ATTR_SPECS_LAST,
- NL80211_SAR_ATTR_SPECS_MAX = __NL80211_SAR_ATTR_SPECS_LAST - 1,
-};
-/**
- * enum nl80211_mbssid_config_attributes - multiple BSSID (MBSSID) and enhanced
- * multi-BSSID advertisements (EMA) in AP mode.
- * Kernel uses some of these attributes to advertise driver's support for
- * MBSSID and EMA.
- * Remaining attributes should be used by the userspace to configure the
- * features.
- *
- * @__NL80211_MBSSID_CONFIG_ATTR_INVALID: Invalid
- *
- * @NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES: Used by the kernel to advertise
- * the maximum number of MBSSID interfaces supported by the driver.
- * Driver should indicate MBSSID support by setting
- * wiphy->mbssid_max_interfaces to a value more than or equal to 2.
- *
- * @NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY: Used by the kernel
- * to advertise the maximum profile periodicity supported by the driver
- * if EMA is enabled. Driver should indicate EMA support to the userspace
- * by setting wiphy->ema_max_profile_periodicity to
- * a non-zero value.
- *
- * @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of
- * this BSS (u8) in the multiple BSSID set.
- * Value must be set to 0 for the transmitting interface and non-zero for
- * all non-transmitting interfaces. The userspace will be responsible
- * for using unique indices for the interfaces.
- * Range: 0 to wiphy->mbssid_max_interfaces-1.
- *
- * @NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX: Mandatory parameter for
- * a non-transmitted profile which provides the interface index (u32) of
- * the transmitted profile. The value must match one of the interface
- * indices advertised by the kernel. Optional if the interface being set up
- * is the transmitting one, however, if provided then the value must match
- * the interface index of the same.
- *
- * @NL80211_MBSSID_CONFIG_ATTR_EMA: Flag used to enable EMA AP feature.
- * Setting this flag is permitted only if the driver advertises EMA support
- * by setting wiphy->ema_max_profile_periodicity to non-zero.
- *
- * @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
- * @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
- */
-enum nl80211_mbssid_config_attributes {
- __NL80211_MBSSID_CONFIG_ATTR_INVALID,
- NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES,
- NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY,
- NL80211_MBSSID_CONFIG_ATTR_INDEX,
- NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
- NL80211_MBSSID_CONFIG_ATTR_EMA,
- /* keep last */
- __NL80211_MBSSID_CONFIG_ATTR_LAST,
- NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1,
-};
-/**
- * enum nl80211_ap_settings_flags - AP settings flags
- *
- * @NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT: AP supports external
- * authentication.
- * @NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT: Userspace supports SA Query
- * procedures offload to driver. If driver advertises
- * %NL80211_AP_SME_SA_QUERY_OFFLOAD in AP SME features, userspace shall
- * ignore SA Query procedures and validations when this flag is set by
- * userspace.
- */
-enum nl80211_ap_settings_flags {
- NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0,
- NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1,
-};
-#endif /* __LINUX_NL80211_H */
+#endif /* __LINUX_NL80211_H */
\ No newline at end of file
diff --git a/net/netlink_manager.cpp b/net/netlink_manager.cpp
index 64db5d8..53673c6 100644
--- a/net/netlink_manager.cpp
+++ b/net/netlink_manager.cpp
@@ -33,7 +33,6 @@
#include "net/nl80211_packet.h"
using android::base::unique_fd;
-using android::nlinterceptor::InterceptedSocket;
using std::array;
using std::placeholders::_1;
using std::string;
@@ -48,7 +47,7 @@
// netlink.h suggests NLMSG_GOODSIZE to be at most 8192 bytes.
constexpr int kReceiveBufferSize = 8 * 1024;
constexpr uint32_t kBroadcastSequenceNumber = 0;
-constexpr int kMaximumNetlinkMessageWaitMilliSeconds = 1000;
+constexpr int kMaximumNetlinkMessageWaitMilliSeconds = 300;
uint8_t ReceiveBuffer[kReceiveBufferSize];
void AppendPacket(vector<unique_ptr<const NL80211Packet>>* vec,
@@ -71,8 +70,6 @@
return BW_80P80;
case NL80211_CHAN_WIDTH_160:
return BW_160;
- case NL80211_CHAN_WIDTH_320:
- return BW_320;
}
LOG(ERROR) << "Unknown bandwidth type: " << bandwidth;
return BW_INVALID;
@@ -99,8 +96,7 @@
void NetlinkManager::ReceivePacketAndRunHandler(int fd) {
ssize_t len = read(fd, ReceiveBuffer, kReceiveBufferSize);
if (len == -1) {
- LOG(ERROR) << "Failed to read packet from buffer on fd: " << fd;
- perror(" netlink error ");
+ LOG(ERROR) << "Failed to read packet from buffer";
return;
}
if (len == 0) {
@@ -223,14 +219,13 @@
LOG(DEBUG) << "NetlinkManager is already started";
return true;
}
-
- bool setup_rt = SetupSocket(&sync_netlink_fd_, &sync_netlink_destination_);
+ bool setup_rt = SetupSocket(&sync_netlink_fd_);
if (!setup_rt) {
LOG(ERROR) << "Failed to setup synchronous netlink socket";
return false;
}
- setup_rt = SetupSocket(&async_netlink_fd_, &async_netlink_destination_);
+ setup_rt = SetupSocket(&async_netlink_fd_);
if (!setup_rt) {
LOG(ERROR) << "Failed to setup asynchronous netlink socket";
return false;
@@ -272,7 +267,7 @@
LOG(ERROR) << "Do not use asynchronous interface for dump request !";
return false;
}
- if (!SendMessageInternal(packet, async_netlink_fd_.get(), async_netlink_destination_)) {
+ if (!SendMessageInternal(packet, async_netlink_fd_.get())) {
return false;
}
message_handlers_[packet.GetMessageSequence()] = handler;
@@ -282,7 +277,7 @@
bool NetlinkManager::SendMessageAndGetResponses(
const NL80211Packet& packet,
vector<unique_ptr<const NL80211Packet>>* response) {
- if (!SendMessageInternal(packet, sync_netlink_fd_.get(), sync_netlink_destination_)) {
+ if (!SendMessageInternal(packet, sync_netlink_fd_.get())) {
return false;
}
// Polling netlink socket, waiting for GetFamily reply.
@@ -308,7 +303,7 @@
time_remaining);
if (poll_return == 0) {
- LOG(ERROR) << "Failed to poll netlink fd:" << sync_netlink_fd_.get() << "time out ";
+ LOG(ERROR) << "Failed to poll netlink fd: time out ";
message_handlers_.erase(sequence);
return false;
} else if (poll_return == -1) {
@@ -391,23 +386,18 @@
return true;
}
-bool NetlinkManager::SendMessageInternal(const NL80211Packet& packet, int fd,
- InterceptedSocket nl_destination) {
+bool NetlinkManager::SendMessageInternal(const NL80211Packet& packet, int fd) {
const vector<uint8_t>& data = packet.GetConstData();
- struct sockaddr_nl sa = nl_destination;
-
- ssize_t bytes_sent = TEMP_FAILURE_RETRY(
- sendto(fd, data.data(), data.size(), 0, reinterpret_cast<struct sockaddr*>(&sa), sizeof(sa))
- );
+ ssize_t bytes_sent =
+ TEMP_FAILURE_RETRY(send(fd, data.data(), data.size(), 0));
if (bytes_sent == -1) {
PLOG(ERROR) << "Failed to send netlink message";
- CHECK(!nlinterceptor::isEnabled()) << "Interceptor died, restarting wificond...";
return false;
}
return true;
}
-bool NetlinkManager::SetupSocket(unique_fd* netlink_fd, InterceptedSocket* nl_destination) {
+bool NetlinkManager::SetupSocket(unique_fd* netlink_fd) {
struct sockaddr_nl nladdr;
memset(&nladdr, 0, sizeof(nladdr));
@@ -435,15 +425,6 @@
PLOG(ERROR) << "Failed to bind netlink socket";
return false;
}
-
- if (!nlinterceptor::isEnabled()) {
- nl_destination = {}; // sets portId to 0, talk directly to kernel.
- return true;
- }
-
- auto interceptorSocketMaybe = nlinterceptor::createSocket(*netlink_fd, "Wificond");
- CHECK(interceptorSocketMaybe.has_value()) << "Failed to create interceptor socket!";
- *nl_destination = *interceptorSocketMaybe;
return true;
}
@@ -491,16 +472,6 @@
return false;
}
uint32_t group_id = groups[group];
-
- if (nlinterceptor::isEnabled()) {
- if (!nlinterceptor::subscribe(async_netlink_destination_, group_id)) {
- LOG(ERROR) << "Failed to subscribe " << async_netlink_destination_.portId
- << " to group " << group_id << "!";
- return false;
- }
- return true;
- }
-
int err = setsockopt(async_netlink_fd_.get(),
SOL_NETLINK,
NETLINK_ADD_MEMBERSHIP,
diff --git a/net/netlink_manager.h b/net/netlink_manager.h
index e73ebe4..51bc2c4 100644
--- a/net/netlink_manager.h
+++ b/net/netlink_manager.h
@@ -26,7 +26,6 @@
#include <android-base/macros.h>
#include <android-base/unique_fd.h>
-#include <libnlinterceptor/libnlinterceptor.h>
#include "event_loop.h"
@@ -98,7 +97,6 @@
BW_80,
BW_80P80,
BW_160,
- BW_320,
};
// This describes a type of function handling channel switch notification.
@@ -275,13 +273,11 @@
virtual void UnsubscribeFrameTxStatusEvent(uint32_t interface_index);
private:
- bool SetupSocket(android::base::unique_fd* netlink_fd,
- android::nlinterceptor::InterceptedSocket* nl_destination);
+ bool SetupSocket(android::base::unique_fd* netlink_fd);
bool WatchSocket(android::base::unique_fd* netlink_fd);
void ReceivePacketAndRunHandler(int fd);
bool DiscoverFamilyId();
- bool SendMessageInternal(const NL80211Packet& packet, int fd,
- android::nlinterceptor::InterceptedSocket nl_destination);
+ bool SendMessageInternal(const NL80211Packet& packet, int fd);
void BroadcastHandler(std::unique_ptr<const NL80211Packet> packet);
void OnRegChangeEvent(std::unique_ptr<const NL80211Packet> packet);
void OnMlmeEvent(std::unique_ptr<const NL80211Packet> packet);
@@ -303,12 +299,6 @@
// rescheduling.
android::base::unique_fd sync_netlink_fd_;
android::base::unique_fd async_netlink_fd_;
-
- // Each netlink socket will either communicate directly with the kernel (pid = 0), or will be
- // assigned a Netlink Interceptor socket, and will have a non-zero pid to which messages should be
- // sent.
- android::nlinterceptor::InterceptedSocket sync_netlink_destination_ = {NETLINK_GENERIC, 0};
- android::nlinterceptor::InterceptedSocket async_netlink_destination_ = {NETLINK_GENERIC, 0};
EventLoop* event_loop_;
// This is a collection of message handlers, for each sequence number.
diff --git a/net/netlink_utils.cpp b/net/netlink_utils.cpp
index dc2e4be..57b4239 100644
--- a/net/netlink_utils.cpp
+++ b/net/netlink_utils.cpp
@@ -71,9 +71,6 @@
constexpr uint8_t kHe160MhzBitMask = 0x8;
constexpr uint8_t kHe80p80MhzBitMask = 0x10;
-constexpr uint8_t kEhtCapPhyNumByte = 8;
-constexpr uint8_t kEht320MhzBitMask = 0x2;
-
bool IsExtFeatureFlagSet(
const std::vector<uint8_t>& ext_feature_flags_bytes,
enum nl80211_ext_feature_index ext_feature_flag) {
@@ -135,9 +132,8 @@
netlink_manager_->GetSequenceNumber(),
getpid());
get_wiphy.AddFlag(NLM_F_DUMP);
- int ifindex;
if (!iface_name.empty()) {
- ifindex = if_nametoindex(iface_name.c_str());
+ int ifindex = if_nametoindex(iface_name.c_str());
if (ifindex == 0) {
PLOG(ERROR) << "Can't get " << iface_name << " index";
return false;
@@ -146,8 +142,7 @@
}
vector<unique_ptr<const NL80211Packet>> response;
if (!netlink_manager_->SendMessageAndGetResponses(get_wiphy, &response)) {
- LOG(ERROR) << "NL80211_CMD_GET_WIPHY dump failed, ifindex: "
- << ifindex << " and name: " << iface_name.c_str();
+ LOG(ERROR) << "NL80211_CMD_GET_WIPHY dump failed";
return false;
}
if (response.empty()) {
@@ -475,7 +470,6 @@
LOG(ERROR) << "Failed to get the list of attributes under iftype_data_attr";
return;
}
-
NL80211NestedAttr attr = attrs[0];
if (attr.HasAttribute(NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY)) {
out_band_info->is_80211ax_supported = true;
@@ -484,10 +478,6 @@
if (attr.HasAttribute(NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET)) {
ParseHeMcsSetAttribute(attr, out_band_info);
}
- if (attr.HasAttribute(NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY)) {
- out_band_info->is_80211be_supported = true;
- ParseEhtCapPhyAttribute(attr, out_band_info);
- }
return;
}
@@ -663,6 +653,7 @@
if (vht_cap & kVht80p80MhzBitMask) {
out_band_info->is_80p80_mhz_supported = true;
}
+
}
void NetlinkUtils::ParseHeCapPhyAttribute(const NL80211NestedAttr& attribute,
@@ -688,25 +679,6 @@
}
}
-void NetlinkUtils::ParseEhtCapPhyAttribute(const NL80211NestedAttr& attribute,
- BandInfo* out_band_info) {
- vector<uint8_t> eht_cap_phy;
- if (!attribute.GetAttributeValue(
- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY,
- &eht_cap_phy)) {
- LOG(ERROR) << " EHT CAP PHY is not found";
- return;
- }
-
- if (eht_cap_phy.size() < kEhtCapPhyNumByte) {
- LOG(ERROR) << "EHT Cap PHY size is incorrect";
- return;
- }
- if (eht_cap_phy[0] & kEht320MhzBitMask) {
- out_band_info->is_320_mhz_supported = true;
- }
-}
-
bool NetlinkUtils::GetStationInfo(uint32_t interface_index,
const array<uint8_t, ETH_ALEN>& mac_address,
StationInfo* out_station_info) {
diff --git a/net/netlink_utils.h b/net/netlink_utils.h
index 3b334d9..c64a208 100644
--- a/net/netlink_utils.h
+++ b/net/netlink_utils.h
@@ -58,10 +58,8 @@
is_80211n_supported(false),
is_80211ac_supported(false),
is_80211ax_supported(false),
- is_80211be_supported(false),
is_160_mhz_supported(false),
is_80p80_mhz_supported(false),
- is_320_mhz_supported(false),
max_tx_streams(1),
max_rx_streams(1) {};
// Frequencies for 2.4 GHz band.
@@ -80,14 +78,10 @@
bool is_80211ac_supported;
// support for 802.11ax
bool is_80211ax_supported;
- // support for 802.11be
- bool is_80211be_supported;
// support for 160Mhz channel width
bool is_160_mhz_supported;
// support for 80+80Mhz channel width
bool is_80p80_mhz_supported;
- // support for 320Mhz channel width
- bool is_320_mhz_supported;
// Max number of transmit spatial streams
uint32_t max_tx_streams;
// Max number of receive spatial streams
@@ -326,8 +320,6 @@
BandInfo* out_band_info);
void ParseHeCapPhyAttribute(const NL80211NestedAttr& attribute,
BandInfo* out_band_info);
- void ParseEhtCapPhyAttribute(const NL80211NestedAttr& attribute,
- BandInfo* out_band_info);
bool ParseScanCapabilities(const NL80211Packet* const packet,
ScanCapabilities* out_scan_capabilities);
diff --git a/scanning/scanner_impl.cpp b/scanning/scanner_impl.cpp
index c7857df..48ca30f 100644
--- a/scanning/scanner_impl.cpp
+++ b/scanning/scanner_impl.cpp
@@ -134,15 +134,6 @@
return Status::ok();
}
-Status ScannerImpl::getMaxSsidsPerScan(int32_t* out_max_ssids_per_scan) {
- if (!CheckIsValid()) {
- *out_max_ssids_per_scan = 0;
- return Status::ok();
- }
- *out_max_ssids_per_scan = static_cast<int32_t>(scan_capabilities_.max_num_scan_ssids);
- return Status::ok();
-}
-
Status ScannerImpl::scan(const SingleScanSettings& scan_settings,
bool* out_success) {
if (!CheckIsValid()) {
@@ -225,18 +216,6 @@
vector<vector<uint8_t>> skipped_match_ssids;
std::set<int32_t> unique_frequencies;
int num_networks_no_freqs = 0;
- // Get the list of supported frequencies
- const auto band_2g = client_interface_->GetBandInfo().band_2g;
- const auto band_5g = client_interface_->GetBandInfo().band_5g;
- const auto band_dfs = client_interface_->GetBandInfo().band_dfs;
- const auto band_6g = client_interface_->GetBandInfo().band_6g;
- const auto band_60g = client_interface_->GetBandInfo().band_60g;
- std::set<uint32_t> all_freqs;
- all_freqs.insert(band_2g.begin(), band_2g.end());
- all_freqs.insert(band_5g.begin(), band_5g.end());
- all_freqs.insert(band_dfs.begin(), band_dfs.end());
- all_freqs.insert(band_6g.begin(), band_6g.end());
- all_freqs.insert(band_60g.begin(), band_60g.end());
for (auto& network : pno_settings.pno_networks_) {
// Add hidden network ssid.
if (network.is_hidden_) {
@@ -257,27 +236,26 @@
// build the set of unique frequencies to scan for.
for (const auto& frequency : network.frequencies_) {
- if (all_freqs.find(frequency) != all_freqs.end()) {
- unique_frequencies.insert(frequency);
- } else {
- LOG(INFO) << "filtered out invalid frequency " << frequency;
- }
+ unique_frequencies.insert(frequency);
}
if (network.frequencies_.empty()) {
num_networks_no_freqs++;
}
}
- // Also scan the default frequencies if more than kPercentNetworksWithFreq of
+ // Also scan the default frequencies if there is frequency data passed down but more than 30% of
// networks don't have frequency data.
- if (num_networks_no_freqs * 100 > kPercentNetworksWithFreq * match_ssids->size()) {
+ if (unique_frequencies.size() > 0 && num_networks_no_freqs * 100 / match_ssids->size()
+ > kPercentNetworksWithFreq) {
// Filter out frequencies not supported by chip.
+ const auto band_2g = client_interface_->GetBandInfo().band_2g;
for (const auto frequency : kPnoScanDefaultFreqs2G) {
if (std::find(band_2g.begin(), band_2g.end(), frequency) != band_2g.end()) {
unique_frequencies.insert(frequency);
}
}
// Note: kPnoScanDefaultFreqs5G doesn't contain DFS frequencies.
+ const auto band_5g = client_interface_->GetBandInfo().band_5g;
for (const auto frequency : kPnoScanDefaultFreqs5G) {
if (std::find(band_5g.begin(), band_5g.end(), frequency) != band_5g.end()) {
unique_frequencies.insert(frequency);
diff --git a/scanning/scanner_impl.h b/scanning/scanner_impl.h
index 449f454..6e23ea7 100644
--- a/scanning/scanner_impl.h
+++ b/scanning/scanner_impl.h
@@ -49,8 +49,6 @@
::android::binder::Status getPnoScanResults(
std::vector<android::net::wifi::nl80211::NativeScanResult>*
out_scan_results) override;
- ::android::binder::Status getMaxSsidsPerScan(
- int32_t* out_max_ssids_per_scan) override;
::android::binder::Status scan(
const android::net::wifi::nl80211::SingleScanSettings&
scan_settings,
diff --git a/server.cpp b/server.cpp
index 1fd10dd..9668bce 100644
--- a/server.cpp
+++ b/server.cpp
@@ -444,10 +444,8 @@
capabilities->value().is80211nSupported_ = band_info.is_80211n_supported;
capabilities->value().is80211acSupported_ = band_info.is_80211ac_supported;
capabilities->value().is80211axSupported_ = band_info.is_80211ax_supported;
- capabilities->value().is80211beSupported_ = band_info.is_80211be_supported;
capabilities->value().is160MhzSupported_ = band_info.is_160_mhz_supported;
capabilities->value().is80p80MhzSupported_ = band_info.is_80p80_mhz_supported;
- capabilities->value().is320MhzSupported_ = band_info.is_320_mhz_supported;
capabilities->value().maxTxStreams_ = band_info.max_tx_streams;
capabilities->value().maxRxStreams_ = band_info.max_rx_streams;
@@ -488,47 +486,16 @@
}
void Server::OnRegDomainChanged(uint32_t wiphy_index, std::string& country_code) {
- string current_country_code;
if (country_code.empty()) {
- LOG(DEBUG) << "Regulatory domain changed with empty country code (world mode?)";
- if (!netlink_utils_->GetCountryCode(¤t_country_code)) {
- LOG(ERROR) << "Fail to get country code on wiphy_index:" << wiphy_index;
- }
+ LOG(INFO) << "Regulatory domain changed";
} else {
- current_country_code = country_code;
- }
- if (!current_country_code.empty()) {
- LOG(INFO) << "Regulatory domain changed to country: " << current_country_code
- << " on wiphy_index: " << wiphy_index;
- BroadcastRegDomainChanged(current_country_code);
- }
- // Sometimes lower layer sends stale wiphy index when there are no
- // interfaces. So update band - wiphy index mapping only if an
- // interface exists
- if (!hasNoIfaceForWiphyIndex(wiphy_index)) {
- UpdateBandWiphyIndexMap(wiphy_index);
+ LOG(INFO) << "Regulatory domain changed to country: " << country_code
+ << " on wiphy_index: " << wiphy_index;
+ BroadcastRegDomainChanged(country_code);
}
LogSupportedBands(wiphy_index);
}
-android::binder::Status Server::notifyCountryCodeChanged() {
- LOG(INFO) << "Receive notifyCountryCodeChanged";
- uint32_t wiphy_index;
- for (auto& it : client_interfaces_) {
- if (netlink_utils_->GetWiphyIndex(&wiphy_index, it.first)) {
- UpdateBandWiphyIndexMap(wiphy_index);
- LogSupportedBands(wiphy_index);
- }
- }
- for (auto& it : ap_interfaces_) {
- if (netlink_utils_->GetWiphyIndex(&wiphy_index, it.first)) {
- UpdateBandWiphyIndexMap(wiphy_index);
- LogSupportedBands(wiphy_index);
- }
- }
- return Status::ok();
-}
-
void Server::LogSupportedBands(uint32_t wiphy_index) {
BandInfo band_info;
ScanCapabilities scan_capabilities;
diff --git a/server.h b/server.h
index b43ae0a..1368c83 100644
--- a/server.h
+++ b/server.h
@@ -109,8 +109,6 @@
const std::string& iface_name,
::std::optional<net::wifi::nl80211::DeviceWiphyCapabilities>* capabilities) override;
- android::binder::Status notifyCountryCodeChanged() override;
-
private:
// Request interface information from kernel and setup local interface object.
// This assumes that interface should be in STATION mode. Even if we setup
diff --git a/tests/scanner_unittest.cpp b/tests/scanner_unittest.cpp
index 869a21b..dde640e 100644
--- a/tests/scanner_unittest.cpp
+++ b/tests/scanner_unittest.cpp
@@ -51,8 +51,6 @@
constexpr uint32_t kFakeInterfaceIndex = 12;
constexpr uint32_t kFakeScanIntervalMs = 10000;
-vector<uint32_t> kDefaultFrequencies = {2412, 2417, 2422, 2427, 2432, 2437, 2447, 2452, 2457,
- 2462, 5180, 5200, 5220, 5240, 5745, 5765, 5785, 5805};
// This is a helper function to mock the behavior of ScanUtils::Scan()
// when we expect a error code.
@@ -511,9 +509,10 @@
pno_settings.pno_networks_.push_back(network);
pno_settings.pno_networks_.push_back(network2);
- std::set<uint32_t> frequencies(kDefaultFrequencies.begin(), kDefaultFrequencies.end());
- frequencies.insert(5640); // add frequency from saved network
- vector<uint32_t> expected_frequencies(frequencies.begin(), frequencies.end());
+ std::set<int32_t> default_frequencies = {2412, 2417, 2422, 2427, 2432, 2437, 2447, 2452, 2457,
+ 2462, 5180, 5200, 5220, 5240, 5745, 5765, 5785, 5805};
+ default_frequencies.insert(5640); // add frequency from saved network
+ vector<uint32_t> expected_frequencies(default_frequencies.begin(), default_frequencies.end());
// Mock BandInfo to make sure the default_frequencies don't get filtered out as invalid.
BandInfo band_info;
@@ -530,8 +529,8 @@
EXPECT_TRUE(success);
}
-// Verify that when there is no frequency data in pno networks, default frequencies is passed into
-// StartScheduledScan frequencies.
+// Verify that when there is no frequency data all pno networks, an empty list is passed into
+// StartScheduledScan in order to scan all frequencies.
TEST_F(ScannerTest, TestStartPnoScanEmptyList) {
bool success = false;
ScanCapabilities scan_capabilities_test_frequencies(
@@ -554,7 +553,7 @@
pno_settings.pno_networks_.push_back(network2);
EXPECT_CALL(
scan_utils_,
- StartScheduledScan(_, _, _, _, _, _, _, _, Eq(kDefaultFrequencies), _)).
+ StartScheduledScan(_, _, _, _, _, _, _, _, Eq(vector<uint32_t>{}), _)).
WillOnce(Return(true));
EXPECT_TRUE(scanner_impl.startPnoScan(pno_settings, &success).isOk());
EXPECT_TRUE(success);