Für Geräte mit Android 13 oder höher muss Android unterstützt den Wi-Fi 7-Standard (IEEE 802.11be). Auf dieser Seite wird Android beschrieben. Wi-Fi 7-Funktionen, einschließlich Baseline- und Multi-Link-Betrieb (Multi-Link Operation, MLO).
Baseline Wi-Fi 7-Funktionen
In diesem Abschnitt werden die grundlegenden Wi-Fi 7-Funktionen beschrieben, die in Android 13 oder höher.
Unterstützung für Wi-Fi 7 auf dem Gerät
Das Android-Framework umfasst die
WifiManager#isWifiStandardSupported(int standard)
die Apps mit dem
ScanResults.WIFI_STANDARD_11BE
Argument, um zu prüfen, ob ein Gerät Wi-Fi 7 unterstützt.
Wenn diese API aufgerufen wird,
WLAN-Modul
Prüft, ob das config_wifi11beSupportOverride
-Konfigurations-Overlay
wird als Überschreibung verwendet und führt Folgendes aus:
- Wenn das Overlay auf
true
gesetzt ist, wird angenommen, dass das Gerät Wi-Fi 7 unterstützt unabhängig von der Antwort von nl80211. Diese Überschreibung ist nur für von Geräteherstellern, die keine Treiber haben, die Wi-Fi 7 unterstützen. - Ist das Overlay auf
false
(Standardwert) gesetzt, verwendet das WLAN-Modul die Informationen von nl80211. Das WLAN-Modul fordert die Informationen von wificond an, das wiederum den nl80211-BefehlNL80211_CMD_GET_WIPHY
. Wenn die Das AttributNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
ist in der Antwort des wird angenommen, dass das Gerät Wi-Fi 7 unterstützt.
Unterstützung von gescannten AP Wi-Fi 7
Das Android-Framework umfasst die
int ScanResult#getWifiStandard()
API, die Apps aufrufen können, um zu prüfen, ob ein gescannter Zugangspunkt (AP)
unterstützt Wi-Fi 7. Wenn der ZP Wi-FI 7 unterstützt, gibt die API
ScanResults.WIFI_STANDARD_11BE
Das Gerät muss Wi-Fi 7 nicht unterstützen, damit Apps diese API verwenden können.
Wenn diese API aufgerufen wird, prüft das WLAN-Modul, ob EHT Capability IE
in den Ergebnissen des Konnektivitätsscans. EHT Capability IE
ist in
nicht gefunden, unterstützt der gescannte ZP Wi-Fi 7.
Die AOSP-Klasse WifiTracker
zeigt diese Supportinformationen im Nutzer an
wenn sie im ausführlichen Modus ausgeführt werden.
STA-Verbindungsmodus
Das Android-Framework umfasst die
int WifiInfo#getWifiStandard()
API, die Apps aufrufen können, um zu prüfen, ob die Verbindung der aktuellen Station (STA) angezeigt wird
ist Wi-Fi 7. Der STA-Verbindungsmodus ist Wi-Fi 7, wenn sowohl das Gerät als auch
unterstützt der verbundene ZP Wi-Fi 7. Lautet der Verbindungsmodus Wi-Fi 7,
Rücksendungen
ScanResults.WIFI_STANDARD_11BE
Wenn die getWifiStandard
aufgerufen wird, bestimmt das WLAN-Modul den Modus durch
das Aufrufen der
ISupplicantStaIface#getConnectionCapabilities()
HAL API. Die
Die Implementierung dieser HAL API in der AIDL-Ebene wpa_supplicant
prüft,
EHT Capability IE
ist während des folgenden Zeitraums sowohl in AssocReq
als auch in AssocRsp
enthalten:
Verbindungseinrichtung.
Netzwerkauswahl
In Android 13 werden für die Netzwerkauswahl
um zu bestimmen, zu welchem ZP eine Verbindung hergestellt werden soll. Einer der Parameter ist der
des AP, der mithilfe des
ThroughputPredictor
Block. Die
Der ThroughputPredictor
-Block verwendet die PHY-Parameter des Geräts und des
gescannten ZP.
In Android 13 verwendet ThroughputPredictor
die Methode
folgende AP-Funktionen bei der Berechnung berücksichtigt:
- Unterstützung von Wi-Fi 7 (802.11be)
- Unterstützung einer Kanalbreite von 320 MHz
Die Aufnahme dieser Funktionen in die ThroughputPredictor
-Logik erhöht die
die Chancen stehen, Wi-Fi 7-fähige ZPs auszuwählen, wenn das Gerät diese nutzen kann
Funktionen.
RTT-basierte WLAN-Entfernung
Android bietet API-Unterstützung für die EHT-Präambel und eine Kanalbreite von 320 MHz für WLAN-RTT: Dadurch können Sie die Unterstützung von Wi-Fi 7-bezogenen Funktionen bei der RTT-Entfernung, unterstützt wird.
HAL-APIs
Die folgenden HAL APIs unterstützen die Wi-Fi 7-Funktionen für RTT-basierte Bereichserkennung:
EHT
: Konstante inenum RttPreamble
undenum WifiRatePreamble
WIDTH_320
: Konstante inenum WifiChannelWidthInMhz
BW_320MHz
: Konstante inenum RttBw
APIs
Apps können die folgenden APIs für die RTT-basierte WLAN-Reichweitenerkennung verwenden:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemAPI)
Soft-AP
Android unterstützt Wi-Fi 7 in Soft AP und bietet Folgendes: Funktionen.
Soft-AP starten
Android unterstützt den Start von Soft AP im Wi-Fi 7-Modus.
Dies wird durch das Overlay config_wifiSoftapIeee80211beSupported
geregelt
Konfiguration.
Das WLAN-Modul verwendet das Overlay config_wifiSoftapIeee80211beSupported
, um
den booleschen Wert HwModeParams#enable80211BE
im
IHostApd#addAccessPoint()
API-Aufruf. In der hostapd-AIDL-Ebene ist dieser Wert
zum Festlegen der hostapd.conf
-Parameter.
HAL-APIs
Die
enable80211BE
Der boolesche Wert in HwModeParams
im hostapd-HAL unterstützt
Soft AP wird im Wi-Fi 7-Modus gestartet.
Soft AP-Informationen melden
Android umfasst API-Unterstützung, um Wi-Fi-Kanalbreite 7 und 320 MHz zu berücksichtigen Informationen in den gemeldeten Soft AP-Informationen.
HAL-APIs
Die WIFI_STANDARD_11BE
-Konstante in der
Generation.aidl
AIDL-Schnittstelle im hostapd-HAL, die verwendet wird
in den ApInfo
gemeldet im IHostapdCallback#onApInstanceInfoChanged()
Callback verwendet, unterstützt die Berichterstellung zu Soft AP-Informationen.
APIs
Apps können die folgenden Methoden (System-APIs) in
SoftApInfo
um Soft AP-Informationen zu melden.
SoftApInfo#getWifiStandard()
: RückgabenScanResults.WIFI_STANDARD_11BE
wenn der Soft AP im Wi-Fi 7-Modus gestartet wird.SoftApInfo#getBandwidth()
: RückgabenSoftApInfo#CHANNEL_WIDTH_320MHZ
wenn die Kanalbreite 320 MHz verwendet wird.
MLO Wi-Fi 7-Funktionen
Der Multi-Link-Betrieb (MLO) ist die Hauptfunktion in Wi-Fi 7 (802.11be) Spezifikation zu ändern. MLO ist eine obligatorische Funktion für Multi-Link-Geräte (MLD) in Wi-Fi 7 ausgeführt wird, unabhängig davon, ob gleichzeitig oder nicht.
Abbildung 1: MLO-Diagramm
Wie in Abbildung 1 gezeigt, haben sowohl AP-MLD als auch STA-MLD mehrere AP oder STA. die bei jeder Verknüpfung ausgeführt werden. Jeder Link hat eine separate AP- oder STA-MAC-Adresse. Der AP oder STA verfügt außerdem über eine MLD-MAC-Adresse zur Identifizierung des Geräts.
Darstellung der MLO-Verknüpfung
Die
android.net.wifi.MloLink
-Klasse den MLO-Link darstellt. Diese Klasse enthält die folgenden Parameter:
int getLinkId()
: Die von AP MLD beworbene Link-ID.MacAddress getApMacAddress()
: AP-MAC-Adresse Die BSSID der AP-Instanz für diesen Link.MacAddress getStaMacAddress()
: STA-MAC-Adresse. Die lokal zugewiesene MAC-Adresse für die STA-Instanz in auf den Link.int getChannel()
: Kanal verknüpfen. Die Kanalnummer des Links.int getBand()
: Gliederarmband. Das Band des Links.int getState()
: Verknüpfungsstatus. Folgende Status sind möglich:MLO_LINK_STATE_INVALID
: Ungültig. Wird für Initialisierungs- und Fehlerfälle verwendet.MLO_LINK_STATE_UNASSOCIATED
: Verknüpfung aufgehoben. Der Link ist mit keinem ZP verknüpft.MLO_LINK_STATE_IDLE
: Inaktiv. Die Verknüpfung ist verknüpft, aber nicht aktiv (keine Traffic-ID (TID)). dem Link zugeordnet ist).MLO_LINK_STATE_ACTIVE
: Aktiv. Die Verknüpfung ist verknüpft und aktiv (mindestens eine TID ist zugeordnet) auf den Link). Eine aktive Verbindung kann sich im Energiesparmodus befinden, überwacht das Framework nicht den Energiestatus des Links.
Gescannte Wi-Fi 7 AP MLO-Informationen
Apps können die MLO-Parameter für ein Wi-Fi 7 AP MLD abrufen, wenn das WLAN-Modul
erhält ein
ScanResult
-Objekt aus AP-MLD. Der AOSP-WifiTracker
zeigt die MLO-Parameter an, wenn
im ausführlichen Modus ausgeführt werden.
Das WLAN-Modul erfasst die MLO-Daten auf folgende Weise:
- das Multi-Link-Informationselement (IE) parst, das im Beacon oder Testantwort, um die AP-MLD-MAC-Adresse und die aktuelle Verknüpfungs-ID zu lesen.
- Analysiert den im Beacon oder an der Prüfung enthaltenen IE im Bericht zum eingeschränkten Nachbarn Antwort, um die Liste der Informationen zu den zugehörigen Links zu lesen.
APIs
Zum Abrufen gescannter AP-MLO-Informationen können Apps die folgenden APIs verwenden:
ScanResult#BSSID
: Die MAC-Adresse der AP-Instanz (für die Verbindung, auf der das Scanergebnis angezeigt wird) erhalten)MacAddress ScanResult#getApMldMacAddress()
: Gibt die MLD-MAC-Adresse des Zugangspunkts zurückint ScanResult#getApMloLinkId()
: Gibt die Link-ID für den Link zurück, über den das ScanResult-Objekt empfangen wurde.List<MloLink> ScanResult#getAffiliatedMloLinks()
: Gibt eine Liste vonMloLink
-Objekten für alle Links zurück, die durch den AP-MLD mit dem Link, über den das ScanResult empfangen wurde.
Verbundenes WLAN 7 AP MLO-Informationen
Wenn sich ein Gerät mit einem Wi-Fi 7 AP-MLD verbindet, erfasst das Framework
MLO-Parameter der Verbindung aus dem Objekt WifiInfo
. Der AOSP
Das WifiTracker
-Objekt zeigt diese Informationen im ausführlichen Modus an.
Sobald sich das Gerät mit dem AP-MLD verbindet, kopiert das WLAN-Modul das MLO.
Informationen vom ScanResult
-Objekt, das vom ZP empfangen wurde. Das Modul
ruft die ISupplicantStaIface#getConnectionMloLinksInfo()
HAL API auf
um die MAC-Adressen der einzelnen Links für AP und STA zu lesen und
den Status der verknüpften Links.
APIs
Zum Abrufen von MLO-Verbindungsinformationen können Anwendungen die folgenden APIs verwenden:
WifiInfo#getBSSID()
: Gibt die MAC-Adresse der AP-Instanz zurück (für die Verbindung, auf der sich das Gerät befindet) verknüpft).MacAddress WifiInfo#getApMldMacAddress()
: Gibt die MLD-MAC-Adresse des Zugangspunkts zurückint WifiInfo#getApMloLinkId()
: Gibt die Link-ID für den Link zurück, auf dem die STA mit dem verknüpft ist. ZP.List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Gibt eine Liste vonMloLink
-Objekten für alle Links zurück, die durch den AP-MLD mit dem zugehörigen Link. Sowohl die AP- als auch die STA-MAC-Adresse können für jedesMloLink
-Objekt abgefragt werden.
AP-MLD-Scan
Die Software des Anbieters stellt dem WLAN-Framework die Scanergebnisse erhalten. Das bedeutet, dass das WLAN Framework:
- Er erhält möglicherweise mehrere
ScanResults
-Objekte von derselben AP-MLD, kann der AP mehrere Beaconing-Links haben. - Erhält möglicherweise nur einen Teil der Scanergebnisse für die AP-Links von da einige dieser Linksignale möglicherweise nicht vom Firmware-Version.
Die Software des Anbieters meldet nur Over The Air-Scanergebnisse und muss keine Scanergebnisse auf der Grundlage beworbener Links erstellen (künstlich synthetisieren) AP-MLD.
Die Anbietersoftware muss die Basisvariante „Multi-Link“ und die RNR-IEs enthalten die von den AP-Instanzen in den gemeldeten Scanergebnissen empfangen wurden. Falls zugehöriger Anbieter keine Details in den Scanergebnissen fehlen, kann die Anbietersoftware Prüfanfragen (Prüfungsanfrageframe mit einer Mehrfachverknüpfung für eine Prüfungsanfrage) -Element) enthalten, um den vollständigen oder teilweisen Satz von Funktionen, Parametern und des AP mit den angegriffenen AP-MLD in der Antwort-Frame.
Die Anbietersoftware kann ML-Prüfungen auslösen (mit „Prüfung req Variante ML IE im Prüfungs reqframe“-Frame). falls erforderlich.
AP-MLD-Netzwerkverknüpfung
Wenn ein Gerät mit einem AP-MLD-Netzwerk verbunden wird, verwendet die Anbietersoftware den ausgewählten AP Link (verknüpfter Link) für Signalisierung. Die Anbietersoftware kann die mit allen oder einigen Links verknüpft sind, die vom Gerät unterstützt werden.
Nach erfolgreicher Verknüpfung meldet der Fahrer
ISupplicantStaIfaceCallback#onStateChanged()
durch die BSSID eines Links für
AP-MLD. Der Fahrer wählt dann einen Link der AP-MLD aus, sofern
Scanergebnisse für diesen Link an das Framework gemeldet.
Netzwerkbewertung
Bei Geräten mit Android 14 oder höher: Android-WLAN-Auswahl unterstützt Wi-Fi 7 MLO. Das bedeutet, dass Android WLAN für das Gerät auf Grundlage der Anzahl der Links, die für MLO verfügbar sind.
Zur Unterstützung von MLO verwendet der Netzwerkauswahl-Algorithmus die folgende MLO Funktionen des WLAN-Chips:
- Maximale Anzahl von STR-Links
- Maximale Anzahl von Verknüpfungslinks
- Kombinationen simultaner Bänder
Abbildung 2: MLO-Netzwerkauswahl
Maximale Anzahl von STR-Links
Gleichzeitige Übertragung und Empfang (Simultaneous Transmit & Receive, STR) ist ein Wi-Fi-Medium-Konflikt Verwendung mehrerer Verbindungen. Die Signalisolierung zwischen verschiedenen Verbindungen ist ausreichend damit die Links unabhängig voneinander funktionieren und in der Lage sind, die gleichzeitig über verschiedene Links empfangen werden. Die Umsatzrate unterscheidet sich von der alten Single Link (SL) STA und Legacy Dual Band Dual gleichzeitig (DBDC) STA. Standard-Shopping-Anzeigen mit einem STA MLD, eine gemeinsame Sendersequenznummer (SN) und eine gemeinsame Platz für die Datenübertragung, der verschiedenen Links zugewiesen ist, wenn mehrere Links vorhanden sind Übertragung dieselbe Zugriffskategorie haben.
Die maximale Anzahl der verwendeten STR-Links kann von der maximalen Anzahl abweichen. der vom Chip unterstützten Funkschnittstellen. Im Beispiel in Abbildung 2 ist die maximale Umsatzrate Anzahl der Links beträgt 2.
Die folgenden AIDL HAL-Schnittstellen unterstützen die maximale Anzahl von STR-Links und maximale Anzahl von Funktionen zum Zählen von Verknüpfungslinks:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Maximale Anzahl von Verknüpfungslinks
Mit dem Konfliktschema können mehrere Links in einem einzelnen Radiosender betrieben werden. Enhanced Multi-Link Single Radio (eMLSR) Ein Gerät mit mehreren Verbindungen nutzt eMLSR statt einer wenn sie bestimmte Basis-Control-Frames empfangen und CCA für mehrere Links gleichzeitig nutzen. Die MLD Daten nur über einen Link (der ausgewählte Link) überträgt oder empfängt dynamisch in jeder Sendemöglichkeit (TXOP) gleichzeitig.
Eine MLD-Station kann die Anzahl der Verknüpfungslinks maximieren, um Zuverlässigkeit, höherer Durchsatz und geringere Latenz (im Vergleich zu einem einzelnen Link) alten Station) durch gleichzeitigen Betrieb in STR und eMLSR, sofern dies vom Chip. In Abbildung 2 ist die maximale Anzahl von Verknüpfungslinks 3.
Die folgenden AIDL HAL-Schnittstellen unterstützen die maximale Anzahl von Verknüpfungslinks Funktion:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kombinationen simultaner Bänder
Das Framework fragt den Chip ab, um die zulässigen Funkkombinationen (durch
der AIDL-Schnittstelle IWifiChip.aidl
), die gleichzeitig verwendet werden können. Von dieser
ermittelt das Framework mögliche gleichzeitige Bandkombinationen. Die
Im Folgenden finden Sie eine Beispielliste für Kombinationen aus gleichzeitigen Bändern (GHz):
- 2.4
- 5
- 6
- 2,4 x 5
- 2,4 x 6
- 5 x 6
Die folgende AIDL HAL-Schnittstelle unterstützt gleichzeitige Funkkombinationen:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Netzwerkauswahl
Bei der Netzwerkauswahl (MLO) wird die Kandidatenliste nach Mitgliedern mit den mit derselben MLD-MAC-Adresse. Der maximal vorhergesagte Wert für den Multi-Link-Durchsatz beträgt für jede Gruppe berechnet, basierend auf der maximalen STR-Link-Anzahl und gleichzeitigen vom Chip unterstützte Bandkombinationen. Ob der Kandidat Mehrfachverknüpfungen unterstützt und der Chip STR unterstützt, wird der vorhergesagte Durchsatzwert durch den Prädizierter Durchsatzwert für mehrere Links. Dies stärkt die MLO-Kandidaten während der Netzwerkauswahl.
Beim Verbinden mit einem AP-MLD-Netzwerk führt das Framework die SSID-Auswahl anhand
zu Informationen, die im ScanResults
-Objekt erhalten wurden, wie vom Anbieter gemeldet
Software. Nach Auswahl der SSID durch das Framework wird die Anbietersoftware
für die Auswahl der BSSID für den am besten geeigneten AP (oder AP-Link) für
Verknüpfung.
Verarbeitung der STA-MAC-Adresse des Geräts
In diesem Abschnitt wird beschrieben, wie die STA-MAC-Adressen (MLD-MAC-Adressen) von Geräten und STA-MAC-Adressen pro Link) verarbeitet werden.
MLD-MAC-Adresse
Das Wi-Fi-Framework verwaltet die MLD-MAC-Adresse des Geräts. MLD-MAC
Adresse wird genauso behandelt wie ein Nicht-MLD-Gerät mit seiner eigenen MAC-Adresse.
Die MAC-Adresse kann eine zufällige MAC-Adresse oder eine von der Hardware bereitgestellte MAC-Adresse sein.
je nach Auswahl des Nutzers. Die MLD-MAC-Adresse wird vom Framework festgelegt
mit der IWifiStaIface#setMacAddress()
HAL API.
STA-MAC-Adresse pro Link
Die Anbietersoftware verwaltet die STA-MAC-Adressen der Instanz (für jede Verbindung). Wenn ein mit einem ZP verknüpft ist, weist die Anbietersoftware eine Instanz-MAC zu. Adresse für jeden verknüpften Link.
Die Anbietersoftware weist Pro-Link-MAC-Adressen basierend auf ihrem Algorithmus zu. Die Algorithmus muss wiederholbar sein und folgende Funktion haben:
- STA-MLD-MAC-Adresse, die vom Wi-Fi-Framework festgelegt wird
- Link-ID (von AP erhalten)
Wenn das Framework also dieselbe MLD-MAC-Adresse wiederverwendet, kann der Anbieter dieselben instanzspezifischen MAC-Adressen wiederverwenden und umgekehrt. Dieses garantiert, dass bei vom Framework generierten STA-MLD-Adresse eine persistente eine SSID, sind auch die MAC-Adressen pro Standard-STA dauerhaft.
Im Folgenden finden Sie einen Beispielalgorithmus für die Zuweisung von STA-MAC-Adressen pro Link (Anbieter können jeden Algorithmus implementieren, der die Kriterien des Algorithmus erfüllt):
- Oktober 0: Achten Sie darauf, dass das lokal verwaltete Bit festgelegt ist
- 1.–4. Okt.: Wie STA-MLD-MAC-Adresse
- 5. Okt.: Pro-STA = (STA-MLD + Link-ID + 1) MOD (256)
Umgang mit mehreren Verbindungen
Die Firmware des Anbieters kann einen Linkwechsel durchführen und den Energiesparmodus verwalten der Links zur Aktivierung oder Deaktivierung ohne Eingabe über das WLAN Framework.
Das WLAN-Framework erwartet keine Benachrichtigung, wenn der Verknüpfungsstatus lautet. geändert.
Verwaltung des Energiesparmodus
Der Energiesparmodus ist im WLAN-Framework standardmäßig aktiviert. Im Energiesparmodus verwaltet wird, verwaltet die Firmware des Anbieters den Status einzelner Links basierend auf Zugriffsmustern und Linkaktivierung oder Deaktivierungsentscheidungen.
Das WLAN-Framework kann jedoch erzwingen, dass der Energiesparmodus deaktiviert wird, indem Sie
durch Aufrufen der ISupplicantStaIface::setPowerSave(false)
HAL API Wenn die
der Energiesparmodus durch das Framework deaktiviert ist, muss die Firmware des Anbieters
Mindestens ein Link ist aktiv (Energiesparmodus deaktiviert). In diesem Status weist die Firmware
wird bei der Implementierung entschieden,
welche Verknüpfung festgelegt wird.
Datenpfad
Hier wird die Firmware-Implementierung des Anbieters für die Uplink- und Download-Traffic.
Uplink-Traffic
Die Firmware leitet Uplink-Traffic basierend auf der internen Implementierung. Die Anbieterfirmware entscheidet, wann das Load-Balancing stattfindet, Duplizierung oder Aggregierung von Traffic auf Grundlage von Traffic-Mustern. Wir empfehlen, dupliziert die Firmware in den folgenden Fällen den Traffic auf mehrere Links:
- Wenn der Modus für geringe Latenzzeit über die
IWifiChip#setLatencyMode()
eingestellt wird HAL API. - Bei Traffic mit Nutzerpriorität 6 und 7
Downlink-Traffic
Die Firmware muss die (Ziel) proSTA-MAC-Adresse des MAC ersetzen. mit dem MLD-STA-MAC und dem (Quelle) Pro-AP-MAC Adresse des MAC-Headers mit der MLD-AP-MAC-Adresse. Die Firmware muss diese MAC-Adressersetzung vor der Übergabe des APF-Filters an, da die APF-Filterbefehle enthalten Filter, die auf MLD-MAC-Adressen basieren. Es gibt eine APF-Filter für alle Links einer AP-MLD.
Nebenläufigkeit
Nebenläufigkeitsszenarien, bei denen ein Funkschnittstelle für eine neue Benutzeroberfläche verwendet wird, müssen Vorrang vor der Bereitstellung mehrerer Funkschnittstellen für Links derselben Oberfläche. Gleichzeitigkeitsszenarien müssen auch Vorrang vor MLO haben, unabhängig davon, was . Die Verwendung mehrerer Links für eine einzige Schnittstelle ist opportunistisch. Das bedeutet, dass mehrere Links nur in folgenden Fällen verwendet werden:
- MLO ist basierend auf der Firmware-Entscheidung für das Load-Balancing erforderlich. Aggregation oder Duplizierung.
- MLO ist verfügbar, d. h., für eine andere Schnittstelle ist keine Funkschnittstelle erforderlich.
Zuordnung von TID zu Link
Wenn auf Geräten mit Android 14 oder höher der Wi-Fi 7 AP kündigt die vorübergehende Deaktivierung einer der Verbindungen über eine TID-zu-Link-Zuordnungselement, das in Beacon, Sondenantwort und Verbindungsantwort-Frames verwendet wird, hält die Wi-Fi 7-Station die Verbindung mit der AP mit den verbleibenden, bereits eingerichteten Links verwendet, ohne einen weiteren Verknüpfung.
Bei Geräten mit Android 13 oder niedriger unterstützt das Framework nicht den Empfang von Benachrichtigungen, wenn der Linkstatus aufgrund der Zuordnung von TID zu Link geändert, auch wenn der verknüpfte Link nicht mit eine TID.
AIDL HAL
Der Wi-Fi-supplicant benachrichtigt das WLAN-Framework über die TID-zu-Link-Zuordnung über die folgenden AIDL-Schnittstellen ändert:
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/MloLinksInfo.aidl
APIs
Apps können Informationen zu Änderungen der Zuordnung zwischen TID und Link abrufen, indem sie die folgenden APIs:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Vom Framework ausgelöster Netzwerk-Callback, wenn eine TID-Verknüpfung vorhanden ist Zuordnungsänderung.WifiInfo#getAssociatedMloLinks()
: Gibt die verknüpften MLO-Links zurück.MloLink#getState()
: Gibt den Status des Links zurück,MLO_LINK_STATE_ACTIVE
oderMLO_LINK_STATE_IDLE
Verhandlungsfunktionen für die Zuordnung zwischen TID und Link
Für Geräte mit Android 14 oder höher: Es sind APIs verfügbar, um die Verhandlungsfunktionen der TID-zu-Link-Karte für die Station und den ZP.
Chip-Fähigkeit
Die folgenden Schnittstellen unterstützen die Chipfunktion für die TID-zu-Link-Zuordnung Verhandlungsgeschick.
AIDL HAL
Die AIDL-Schnittstelle für die Verhandlung der TID-zu-Link-Zuordnung befindet sich in FeatureSetMask
in hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Die
T2LM_NEGOTIATION = 1 << 8
gibt an, dass der Chip
Zuordnung von TID zu Link.
APIs
WifiManager.isTidToLinkMappingNegotiationSupported()
: Gibt den Chip zurück, der die Verhandlung der TID-zu-Link-Zuordnung unterstützt.
ZP-Funktionen
Die folgenden Schnittstellen unterstützen die AP-Funktion für die Zuordnung zwischen TID und Link Verhandlungsgeschick.
AIDL HAL
Das Framework fragt die ZP-Funktionen des Supplycanten zusammen mit dem der aktuellen Verbindungskapazität.
apTidToLinkMapNegotiationSupported
: Prüft, ob ein ZP die TID-zu-Link-Funktion zum Aushandeln von Karten unterstützt.
APIs
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Gibt zurück, ob AP die Verhandlung zwischen TID und Link unterstützt.
Statistiken der Linkebene
Die Statistiken der Linkebene enthalten WLAN-Link-spezifische Details wie RSSI, verschiedene TX und RX-Paketzähler sowie Radiostatistiken. Das Wi-Fi-Framework fragt regelmäßig ab Link-Layer-Statistiken und RSSI zur Auswahl des besten Netzwerks oder zur Qualitätsbewertung des verbundenen Netzwerks. Für Geräte mit Android ab 14 Jahren, Statistiken der Linkebene enthalten Multi-Link-Unterstützung. Zur Unterstützung von Wi-Fi 7 unterstützt Android MLO in beiden Verbindungsebene. Statistiken und Signalabfragen.
Linkspezifische Statistiken finden Sie in den folgenden AIDL-Schnittstellen der Linkebene:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
Die
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
die System-API alle Verknüpfungsebenen-Statistiken überwacht. Das Framework ruft regelmäßig
über diese API, um die Statistiken zur WLAN-Nutzung zu aktualisieren.
Die folgenden linkspezifischen APIs sind verfügbar in
android.net.wifi.WifiUsabilityStatsEntry
int getRssi(int linkId)
int getLinkState(int linkId)
int getRadioId(int linkId)
int getTxLinkSpeedMbps(int linkId)
long getTotalTxSuccess(int linkId)
long getTotalTxRetries(int linkId)
long getTotalTxBad(int linkId)
long getTotalRxSuccess(int linkId)
long getTotalBeaconRx(int linkId)
int getRxLinkSpeedMbps(int linkId)
int getTimeSliceDutyCycleInPercent(int linkId)
ContentionTimeStats getContentionTimeStats(int linkId, @WmeAccessCategory int ac)
List<RateStats> getRateStats(int linkId)
Um verfügbare Verknüpfungs-IDs abzufragen, können Apps die Methode
android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
.
APIs in
android.net.wifi.WifiUsabilityStatsEntry
für einzelne Links (nicht MLO) die aggregierten Statistiken für MLO-Verbindungen zurückgeben. Die
sind folgende Aggregationskriterien:
Die folgenden aggregierten Paketstatistiken verwenden die Summe der Statistiken pro Verbindung:
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
Für die folgenden Statistiken werden die Daten des Links mit dem höchsten RSSI verwendet:
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
Statistiken der Linkebene in Android 13
Für Geräte mit Android 13: Statistiken der Linkebene
berücksichtigen Sie nicht die
Verwendung mehrerer Links für eine einzige Schnittstelle. Zur Unterstützung von MLO wird Software von Anbietern
muss bei der Berichterstellung für LinkLayerStats
die folgende Aggregationslogik anwenden
über die IWifi# getLinkLayerStats_1_6()
HAL API. Der beste Link ist die
mit dem höchsten RSSI verknüpft.
StaLinkLayerStats.iface.beaconRx
: Beacon-Anzahl für die bestmögliche Leistung melden für die Schnittstelle verwendet.StaLinkLayerStats.iface.avgRssiMgmt
:avgRssiMgmt
melden für den besten Link für die Benutzeroberfläche.StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): Bericht Die aggregierten Paketstatistiken (insgesamt) über die Links der Schnittstelle.StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): Meldet die Statistik der Konfliktzeit für den besten Link im (Statistik mit den geringsten Konflikten).
Neukonfiguration der MLO-Verknüpfung
Wenn einer der Verbindungen des Wi-Fi 7-Zugangspunkts umfunktioniert wird, die Entfernung des Links durch die Neukonfiguration des MLO-Links ankündigen kann. Sender eine nahtlose Verbindung mit dem ZP aufrechterhalten, ohne dass eine erneute Verbindung mit dem ZP hergestellt werden muss. verbleibenden Links.
Die
onMloLinksInfoChanged
AIDL-Schnittstelle, die sich im Wi-Fi-supplicant unter
ISupplicantStaIfaceCallback.aidl
unterstützt die Neukonfiguration von Verbindungen (ZP-Entfernung des Links).
Wenn das WLAN-Framework das Entfernen einer Verbindung verarbeitet, wird der Verbindungsstatus festgelegt.
bis
MLO_LINK_STATE_UNASSOCIATED
Das Framework löst dann
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
auf eine Änderung des Verknüpfungsstatus.
Die
WifiInfo#getAffiliatedMloLinks
-Methode gibt die verknüpften MLO-Links zurück. Die
MloLink#getState
gibt den Status des Links zurück. Wenn der Link entfernt wird, wird der zurückgegebene Link
Bundesland ist
MLO_LINK_STATE_UNASSOCIATED
MLO-Strategie für Chips
MLO ermöglicht es Geräten, Daten über mehrere WLAN-Verbindungen gleichzeitig zu senden und zu empfangen Dadurch kann die Leistung von Apps mit spezifischen Anforderungen wie niedrige Latenz, hohe Bandbreite und geringer Energieverbrauch. Chip-Anbieter entwickeln wie die verfügbaren Links verwendet werden.
Privilegierte Apps können diese Algorithmen mithilfe der
setMloMode
in Wifimanager
und legen Sie
folgenden Modi:
MLO_MODE_DEFAULT = 0
MLO_MODE_LOW_LATENCY = 1
MLO_MODE_HIGH_THROUGHPUT = 2
MLO_MODE_LOW_POWER = 3
Das Framework verwendet
setMloMode
in der AIDL-Schnittstelle IWifiChip
um den MLO-Modus einzustellen.