Merge "wifi: add basic support for 60GHz band"

This commit is contained in:
TreeHugger Robot
2020-09-08 06:24:25 +00:00
committed by Android (Google) Code Review
4 changed files with 79 additions and 0 deletions

View File

@@ -116,6 +116,16 @@ public class AccessPoint implements Comparable<AccessPoint> {
*/
public static final int HIGHER_FREQ_5GHZ = 5900;
/**
* Lower bound on the 60 GHz (802.11ad) WIGIG channels
*/
public static final int LOWER_FREQ_60GHZ = 58320;
/**
* Upper bound on the 60 GHz (802.11ad) WIGIG channels
*/
public static final int HIGHER_FREQ_60GHZ = 70200;
/** The key which identifies this AccessPoint grouping. */
private String mKey;

View File

@@ -93,6 +93,7 @@ public class WifiUtils {
StringBuilder visibility = new StringBuilder();
StringBuilder scans24GHz = new StringBuilder();
StringBuilder scans5GHz = new StringBuilder();
StringBuilder scans60GHz = new StringBuilder();
String bssid = null;
if (accessPoint.isActive() && info != null) {
@@ -115,9 +116,11 @@ public class WifiUtils {
int maxRssi5 = INVALID_RSSI;
int maxRssi24 = INVALID_RSSI;
int maxRssi60 = INVALID_RSSI;
final int maxDisplayedScans = 4;
int num5 = 0; // number of scanned BSSID on 5GHz band
int num24 = 0; // number of scanned BSSID on 2.4Ghz band
int num60 = 0; // number of scanned BSSID on 60Ghz band
int numBlockListed = 0;
// TODO: sort list by RSSI or age
@@ -152,6 +155,19 @@ public class WifiUtils {
verboseScanResultSummary(accessPoint, result, bssid,
nowMs));
}
} else if (result.frequency >= AccessPoint.LOWER_FREQ_60GHZ
&& result.frequency <= AccessPoint.HIGHER_FREQ_60GHZ) {
// Strictly speaking: [60000, 61000]
num60++;
if (result.level > maxRssi60) {
maxRssi60 = result.level;
}
if (num60 <= maxDisplayedScans) {
scans60GHz.append(
verboseScanResultSummary(accessPoint, result, bssid,
nowMs));
}
}
}
visibility.append(" [");
@@ -170,6 +186,14 @@ public class WifiUtils {
}
visibility.append(scans5GHz.toString());
}
visibility.append(";");
if (num60 > 0) {
visibility.append("(").append(num60).append(")");
if (num60 > maxDisplayedScans) {
visibility.append("max=").append(maxRssi60).append(",");
}
visibility.append(scans60GHz.toString());
}
if (numBlockListed > 0) {
visibility.append("!").append(numBlockListed);
}

View File

@@ -594,6 +594,27 @@ public final class ScanResult implements Parcelable {
*/
public static final int BAND_6_GHZ_END_FREQ_MHZ = 7105;
/**
* 60 GHz band first channel number
* @hide
*/
public static final int BAND_60_GHZ_FIRST_CH_NUM = 1;
/**
* 60 GHz band last channel number
* @hide
*/
public static final int BAND_60_GHZ_LAST_CH_NUM = 6;
/**
* 60 GHz band frequency of first channel in MHz
* @hide
*/
public static final int BAND_60_GHZ_START_FREQ_MHZ = 58320;
/**
* 60 GHz band frequency of last channel in MHz
* @hide
*/
public static final int BAND_60_GHZ_END_FREQ_MHZ = 70200;
/**
* Utility function to check if a frequency within 2.4 GHz band
* @param freqMhz frequency in MHz
@@ -627,6 +648,17 @@ public final class ScanResult implements Parcelable {
return freqMhz >= BAND_6_GHZ_START_FREQ_MHZ && freqMhz <= BAND_6_GHZ_END_FREQ_MHZ;
}
/**
* Utility function to check if a frequency within 60 GHz band
* @param freqMhz
* @return true if within 60GHz, false otherwise
*
* @hide
*/
public static boolean is60GHz(int freqMhz) {
return freqMhz >= BAND_60_GHZ_START_FREQ_MHZ && freqMhz <= BAND_60_GHZ_END_FREQ_MHZ;
}
/**
* Utility function to convert channel number/band to frequency in MHz
* @param channel number to convert
@@ -706,6 +738,13 @@ public final class ScanResult implements Parcelable {
return ScanResult.is6GHz(frequency);
}
/**
* @hide
*/
public boolean is60GHz() {
return ScanResult.is60GHz(frequency);
}
/**
* @hide
* anqp lines from supplicant BSS response

View File

@@ -595,6 +595,12 @@ public class WifiConfiguration implements Parcelable {
*/
public static final int AP_BAND_5GHZ = 1;
/**
* 60GHz band
* @hide
*/
public static final int AP_BAND_60GHZ = 2;
/**
* Device is allowed to choose the optimal band (2Ghz or 5Ghz) based on device capability,
* operating country code and current radio conditions.