Na urządzeniach z Androidem 13 lub nowszym obsługuje standard Wi-Fi 7 (IEEE 802.11be). Na tej stronie opisujemy Androida funkcje Wi-Fi 7, w tym operacja bazowa i połączenie z wieloma linkami (MLO);
Funkcje Baseline Wi-Fi 7
W tej sekcji opisano podstawowe funkcje Wi-Fi 7 Android 13 lub nowszy.
Obsługa Wi-Fi 7 urządzenia
Platforma Androida obejmuje
WifiManager#isWifiStandardSupported(int standard)
API, który aplikacje mogą wywoływać za pomocą
ScanResults.WIFI_STANDARD_11BE
, aby sprawdzić, czy urządzenie obsługuje Wi-Fi 7.
Wraz z wywołaniem tego interfejsu API metoda
Moduł Wi-Fi
sprawdza, czy nakładka konfiguracji config_wifi11beSupportOverride
jest
jest używany jako zastąpienie i wykonuje te działania:
- Jeśli nakładka ma ustawienie
true
, urządzenie przyjmuje, że obsługuje Wi-Fi 7. niezależnie od odpowiedzi z nl80211. To zastąpienie jest przydatne tylko w przypadku urządzeń producentów, którzy nie mają sterowników obsługujących Wi-Fi 7. - Jeśli nakładka ma wartość
false
(wartość domyślna): moduł Wi-Fi korzysta z informacji z nl80211. Moduł Wi-Fi prosi o informacje od ikony, która łączy polecenia nl80211NL80211_CMD_GET_WIPHY
. Jeśli AtrybutNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
jest w odpowiedzi z tagu sterownika, przyjmuje się, że urządzenie obsługuje Wi-Fi 7.
Obsługa zeskanowanego punktu dostępu Wi-Fi 7
Platforma Androida obejmuje
int ScanResult#getWifiStandard()
interfejsu API, które aplikacje mogą wywoływać, aby sprawdzić, czy skanowany punkt dostępu (AP)
obsługuje Wi-Fi 7. Jeśli punkt dostępu obsługuje Wi-Fi 7, interfejs API zwraca
ScanResults.WIFI_STANDARD_11BE
Aby aplikacje mogły korzystać z tego interfejsu API, urządzenie nie musi obsługiwać Wi-Fi 7.
Po wywołaniu tego interfejsu API moduł Wi-Fi sprawdza, czy EHT Capability IE
w zwróconych wynikach skanowania połączeń. Jeśli EHT Capability IE
jest w
skanowany punkt dostępu obsługuje Wi-Fi 7.
Klasa AOSP WifiTracker
wyświetla te informacje o pomocy w interfejsie użytkownika
w trybie szczegółowym.
Tryb połączenia STA
Platforma Androida obejmuje
int WifiInfo#getWifiStandard()
API, które aplikacje mogą wywoływać, aby sprawdzić, czy bieżące połączenie stacji (STA) jest możliwe.
tryb to Wi-Fi 7. Tryb połączenia STA to Wi-Fi 7, gdy zarówno urządzenie, jak i
czy połączony punkt dostępu obsługuje Wi-Fi 7. Jeśli tryb połączenia to Wi-Fi 7, interfejs API
zwraca
ScanResults.WIFI_STANDARD_11BE
Po wywołaniu funkcji getWifiStandard
moduł Wi-Fi określa tryb przez
Wywołując funkcję
ISupplicantStaIface#getConnectionCapabilities()
Interfejs API HAL.
wdrożenie tego interfejsu HAL API w warstwie AIDL wpa_supplicant
sprawdza, czy
EHT Capability IE
znajduje się zarówno w: AssocReq
, jak i AssocRsp
w
konfigurację połączenia.
Wybór sieci
Na Androidzie 13 wybór sieci używa kilku
parametry określające, z którym punktem dostępu chcesz się połączyć. Jednym z parametrów jest parametr
szacowana przepustowość punktu dostępu, która jest szacowana na podstawie
Blok ThroughputPredictor
.
Blok ThroughputPredictor
korzysta z parametrów PHY zarówno urządzenia, jak i obiektu
przeskanowanego AP.
W Androidzie 13 ThroughputPredictor
używa funkcji
przy obliczaniu tych parametrów:
- Obsługa Wi-Fi 7 (802.11be)
- Obsługa szerokości kanału 320 MHz
Uwzględnienie tych funkcji w logice ThroughputPredictor
poprawia
szans na wybranie punktów dostępu obsługujących Wi-Fi 7, gdy urządzenie może ich używać.
funkcje zabezpieczeń.
Określanie zakresu przy użyciu sieci Wi-Fi RTT
Android obsługuje interfejs API w przypadku wprowadzenia EHT i szerokości kanału 320 MHz RTT Wi-Fi. Dzięki temu i obsługuje funkcje Wi-Fi 7 w czasie RTT, niezależnie od tego, obsługiwane przez układ.
Interfejsy API HAL
Poniższe interfejsy API HAL obsługują możliwości Wi-Fi 7 w zakresie opartym na RTT:
EHT
: stały wenum RttPreamble
. orazenum WifiRatePreamble
WIDTH_320
: stały wenum WifiChannelWidthInMhz
.BW_320MHz
: stały wenum RttBw
.
Interfejsy API
Aplikacje mogą używać tych interfejsów API do określania zakresu na podstawie protokołu RTT w sieci Wi-Fi 7:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
Miękki punkt dostępu
Android obsługuje protokół Wi-Fi 7 w trybie Soft AP i zapewnia: funkcje zabezpieczeń.
Uruchom Soft AP
Android obsługuje uruchamianie funkcji Punkt dostępu w trybie Wi-Fi 7.
Zależy to od nakładki config_wifiSoftapIeee80211beSupported
konfiguracji.
Moduł Wi-Fi używa nakładki config_wifiSoftapIeee80211beSupported
do skonfigurowania
wartość logiczna HwModeParams#enable80211BE
w funkcji
IHostApd#addAccessPoint()
wywołanie interfejsu API. W warstwie hostapd AIDL ta wartość to
służy do konfigurowania parametrów hostapd.conf
.
Interfejsy API HAL
enable80211BE
boolean w HwModeParams
w hosta HAL obsługuje
uruchamianie funkcji programowego punktu dostępu w trybie Wi-Fi 7.
Przesyłaj informacje dotyczące Soft AP
Android obsługuje interfejsy API, które umożliwiają uwzględnianie sieci Wi-Fi 7 i kanału o szerokości 320 MHz. w informacjach o programie Soft AP.
Interfejsy API HAL
Stała WIFI_STANDARD_11BE
w parametrach
Generation.aidl
.
interfejsu AIDL w hosta HAL hosta, który jest używany
w ApInfo
podanych w IHostapdCallback#onApInstanceInfoChanged()
r.
oddzwanianie, obsługuje raportowanie informacji dla Soft AP.
Interfejsy API
Aplikacje mogą korzystać z tych metod (systemowych interfejsów API) w
SoftApInfo
w celu przesłania informacji dotyczących Soft AP.
SoftApInfo#getWifiStandard()
: ZwrotyScanResults.WIFI_STANDARD_11BE
jeśli funkcja programowego punktu dostępu jest uruchomiona w trybie Wi-Fi 7.SoftApInfo#getBandwidth()
: ZwrotySoftApInfo#CHANNEL_WIDTH_320MHZ
jeśli używana jest szerokość kanału 320 MHz.
Funkcje MLO Wi-Fi 7
Operacja z wieloma linkami to główna funkcja Wi-Fi 7 (802.11be) specyfikacji. MLO jest obowiązkową funkcją w przypadku urządzeń z wieloma linkami działające w sieci Wi-Fi 7, zarówno równocześnie, jak i niejednocześnie.
Rysunek 1. Schemat MLO.
Jak widać na rys. 1, zarówno AP-MLD, jak i STA-MLD mają wiele punktów AP lub STA w przypadku każdego połączenia. Każdy link ma oddzielny adres MAC (AP lub STA MAC). AP lub STA ma też adres MAC MLD umożliwiający identyfikację urządzenia.
Reprezentacja linku MLO
android.net.wifi.MloLink
klasa reprezentuje link MLO. Ta klasa zawiera te parametry:
int getLinkId()
: Identyfikator linku reklamowany przez AP MLD.MacAddress getApMacAddress()
: Adres MAC punktu dostępu. Identyfikator BSSID instancji punktu dostępu dla tego linku.MacAddress getStaMacAddress()
: Adres MAC STA. Przypisany lokalnie adres MAC dla instancji STA w domenie kliknij link.int getChannel()
: Połącz kanał. Numer kanału, do którego prowadzi link.int getBand()
: Pasek. Pasmo linku.int getState()
: Stan połączenia. Może mieć jeden z tych stanów:MLO_LINK_STATE_INVALID
: Nieprawidłowe. Służy do obsługi inicjowania i przypadków błędów.MLO_LINK_STATE_UNASSOCIATED
: Niepowiązane. Link nie jest powiązany z AP.MLO_LINK_STATE_IDLE
: Bezczynny. Link jest powiązany, ale nieaktywny (brak identyfikatora ruchu, TID). jest zmapowany na link).MLO_LINK_STATE_ACTIVE
: Aktywny. Połączenie jest powiązane i aktywne (co najmniej 1 identyfikator TID jest zmapowany na element) kliknij link). Aktywny link może działać w trybie oszczędzania energii, ponieważ platforma nie monitoruje stanu zasilania połączenia.
Informacje o zeskanowanym MLO dla sieci Wi-Fi 7 AP
Aplikacje mogą pobierać parametry MLO dla Wi-Fi 7 AP MLD, gdy moduł Wi-Fi
otrzymuje
ScanResult
z obiektu AP-MLD. AOSP WifiTracker
wyświetla parametry MLO, gdy
który działa w trybie szczegółowym.
Moduł Wi-Fi zbiera informacje dotyczące MLO w następujący sposób:
- Analizuje element informacyjny o wielu linkach (IE) zawarty w obrazie typu beacon lub odpowiedź sondowania, aby odczytać adres MAC AP MLD i bieżący identyfikator linku.
- Analizuje IE w raporcie o sąsiadach o ograniczonym dostępie (RNR) uwzględnionym w beaconie lub sondzie aby zapoznać się z listą informacji o linkach stowarzyszonych.
Interfejsy API
Aby uzyskać zeskanowane informacje dotyczące MLO punktu dostępowego, aplikacje mogą używać tych interfejsów API:
ScanResult#BSSID
: Adres MAC instancji punktu dostępu (w przypadku linku, dla którego wynik skanowania jest odebrane)MacAddress ScanResult#getApMldMacAddress()
: Zwraca adres MAC MLD punktu dostępu.int ScanResult#getApMloLinkId()
: Zwraca identyfikator linku, dla którego otrzymano wynik ScanResult.List<MloLink> ScanResult#getAffiliatedMloLinks()
: Zwraca listę obiektówMloLink
dla wszystkich linków reklamowanych przez AP-MLD wraz z linkiem, za pomocą którego otrzymano wynik ScanResult.
Informacje o połączonym MLO przez sieć Wi-Fi 7 AP
Gdy urządzenie łączy się z siecią Wi-Fi 7 AP-MLD, platforma gromadzi
Parametry MLO połączenia z obiektu WifiInfo
. AOSP
Obiekt WifiTracker
wyświetla te informacje w trybie szczegółowym.
Gdy urządzenie połączy się z AP-MLD, moduł Wi-Fi skopiuje MLO.
z obiektu ScanResult
otrzymanego z AP. Moduł potem
wywołuje interfejs HAL API ISupplicantStaIface#getConnectionMloLinksInfo()
odczytuje adresy MAC każdego linku zarówno punktu dostępu, jak i STA
o stanie powiązanych linków.
Interfejsy API
Aby uzyskać informacje o połączeniu MLO, aplikacje mogą używać następujących interfejsów API:
WifiInfo#getBSSID()
: Zwraca adres MAC instancji punktu dostępu (w przypadku linku, powiązane).MacAddress WifiInfo#getApMldMacAddress()
: Zwraca adres MAC MLD punktu dostępu.int WifiInfo#getApMloLinkId()
: Zwraca identyfikator linku, z którym użytkownik Sta jest powiązany z identyfikatorem AP.List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Zwraca listę obiektówMloLink
dla wszystkich linków reklamowanych przez AP-MLD wraz z powiązanym linkiem. Zarówno adres MAC, jak i adres MAC sieci STA w przypadku każdego obiektuMloLink
.
skanowanie AP-MLD
Oprogramowanie dostawcy udostępnia platformę Wi-Fi z wynikami skanowania każdego otrzymanego sygnału lub sondy. Oznacza to, że sieć Wi-Fi platforma:
- Może otrzymać wiele obiektów
ScanResults
z tego samego AP-MLD (ponieważ punkt dostępu może mieć wiele linków beaconingowych). - Może otrzymać tylko częściowy zestaw wyników skanowania dla linków AP AP-MLD, ponieważ niektóre z tych sygnałów mogą nie być odbierane przez oprogramowanie układowe.
Oprogramowanie dostawcy zgłasza tylko wyniki skanowania otrzymane bezprzewodowo i musi nie tworzyć (sztucznie syntetyzować) wyników skanowania na podstawie reklamowanych linków przez ustawę AP-MLD.
Oprogramowanie dostawcy musi zawierać podstawową wersję połączenia z wieloma linkami i interfejsy IE RNR z instancji punktu dostępu w raportowanych wynikach skanowania. Jeśli stowarzyszony AP w wynikach skanowania brakuje szczegółów, oprogramowanie dostawcy może wysyłać wiele linków żądania sond (ramka żądania sondowania, która zawiera sondę żądanie z wieloma linkami ) uwzględniający pełny lub częściowy zestaw funkcji, parametrów elementów działań AP z docelowym AP-MLD ramki odpowiedzi.
Oprogramowanie dostawcy może aktywować sondowanie ML (z użyciem wariantu żądania sondowania ML IE w ramce żądania sondowania) w razie potrzeby.
Powiązanie sieci AP-MLD
Gdy urządzenie dołącza do sieci AP-MLD, oprogramowanie dostawcy używa wybranego punktu dostępu link (powiązany link) do sygnalizacji. Oprogramowanie dostawcy może ze wszystkimi lub tylko z wybranymi linkami obsługiwanymi przez urządzenie.
Po udanym powiązaniu kierowca zgłasza, że
ISupplicantStaIfaceCallback#onStateChanged()
z identyfikatorem BSSID linku dla
ustawę AP-MLD. Kierowca wybiera link do dokumentu AP-MLD, pod warunkiem że
wyniki skanowania zostały zgłoszone do platformy dla tego linku.
Ocena sieci
Na urządzeniach z Androidem 14 lub nowszym Wybór sieci Wi-Fi na Androidzie obsługuje Wi-Fi 7 MLO. Oznacza to, że Android wybiera najlepsze Sieć Wi-Fi urządzenia określona na podstawie liczby połączeń dostępnych w ramach MLO.
Do obsługi MLO algorytm wyboru sieci używa poniższego MLO dzięki układowi Wi-Fi:
- Maksymalna liczba linków STR
- Maksymalna liczba linków powiązania
- Kombinacje pasm równoczesnych
Rysunek 2. Wybór sieci MLO.
Maksymalna liczba linków STR
STR (Jednoczesne wysyłanie i odbieranie) to schemat rywalizacji o medium Wi-Fi operacji z wieloma linkami. Odizolowanie sygnałów między różnymi połączeniami jest wystarczające tak aby linki działały niezależnie oraz mogły przesyłać i które odbierają jednocześnie w różnych linkach. STR różni się od liczby starszych singli link (SL) STA i starszy dwuzakresowy moduł równoczesny (DBDC) STA. Podmioty stowarzyszone (STA) z STA MLD mają wspólny numer sekwencyjny nadawcy (SN) i wspólny przestrzeń do przesyłania danych przydzielana różnym połączeniom, jeśli istnieje kilka połączeń mają tę samą kategorię dostępu (AC).
Maksymalna liczba używanych linków STR może się różnić od maksymalnej liczby i obsługuje układ scalony. W przykładzie na Rys. 2 maksymalny STR wynosi 2.
Następujące interfejsy AIDL HAL obsługują maksymalną liczbę linków STR i maksymalną liczbę powiązań.
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Maksymalna liczba linków powiązania
W jednym radiu może działać wiele linków przy użyciu schematu rywalizacji, Ulepszone pojedyncze radio z wieloma linkami (eMLSR). Urządzenie z wieloma linkami korzysta z eMLSR o ile może otrzymywać określone podstawowe ramki kontrolne i działać prawidłowo oceny kanału (CCA) jednocześnie w zbiorze linków. MLD przesyła lub odbiera dane tylko za pomocą jednego linku (wybrany link dynamicznie w każdym okresie możliwości transmisji (TXOP) w czasie.
Stacja MLD może zmaksymalizować liczbę linków powiązań, niezawodność, większa przepustowość i mniejsze opóźnienia (w porównaniu z pojedynczym linkiem starszej stacji) przez równoczesne działanie STR i eMLSR, jeśli jest obsługiwana . Na rys. 2 maksymalna liczba powiązań wynosi 3.
Następujące interfejsy AIDL HAL obsługują maksymalną liczbę powiązań powiązań funkcje:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kombinacje pasm równoczesnych
Platforma wysyła zapytanie do elementu, aby uzyskać dozwolone kombinacje opcji (przez
interfejsu AIDL IWifiChip.aidl
), które mogą działać jednocześnie. Z tego
informacje, schemat czerpie możliwe kombinacje równoczesnych pasm.
poniżej znajdziesz przykładową listę kombinacji pasm równoczesnych (GHz):
- 2.4
- 5
- 6
- 2,4 x 5
- 2,4 x 6
- 13 × 15 cm
Następujący interfejs AIDL HAL obsługuje jednoczesne kombinacje opcji radiowych:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Wybór sieci
Podczas wyboru sieci (MLO) lista kandydatów jest grupowana według użytkowników z ten sam adres MAC MLD. Maksymalna prognozowana przepustowość wielu linków to obliczone dla każdej grupy na podstawie maksymalnej liczby linków STR i równoczesnych kombinacji pasm obsługiwanych przez element. czy kandydat może obsługiwać wiele linków, a układ obsługuje STR, prognozowany wynik przepustowości jest zastępowany predykowany wynik przepustowości wielu linków. Zapewnia to korzyści kandydatom MLO podczas wybierania sieci.
Przy dołączaniu do sieci AP-MLD platforma wykonuje wybór identyfikatora SSID na podstawie
na podstawie informacji otrzymanych w obiekcie ScanResults
zgłoszonych przez dostawcę
i oprogramowaniu. Po wybraniu identyfikatora SSID przez platformę oprogramowanie dostawcy jest
odpowiada za wybór identyfikatora BSSID dla najlepszego punktu dostępowego (lub linku AP) do użycia
z osobna.
Obsługa adresu MAC STA urządzenia
W tej sekcji opisaliśmy, jak adresy MAC STA (adresy MAC) urządzeń (MLD) adresów MAC STA dla poszczególnych linków).
Adres MAC MLD
Platforma Wi-Fi zarządza adresem MAC MLD urządzenia. MLD MAC
jest obsługiwany w taki sam sposób, w jaki urządzenie inne niż MLD obsługuje własny adres MAC.
Adres MAC może być losowym adresem MAC lub adresem MAC udostępnionym sprzętowo
zgodnie z wyborem użytkownika. Adres MAC MLD jest ustawiany przez platformę
za pomocą interfejsu HAL API IWifiStaIface#setMacAddress()
.
Adres MAC STA dla konkretnego linku
Oprogramowanie dostawcy zarządza adresami MAC STA dla instancji (dla każdego linku). Gdy urządzenie zostanie powiązane z punktem dostępu, oprogramowanie dostawcy przypisze adres MAC instancji dla każdego powiązanego linku.
Oprogramowanie dostawcy przypisuje adresy MAC poszczególnym linkom zgodnie ze swoim algorytmem. algorytm musi być powtarzalny i być funkcją:
- Adres MAC STA-MLD ustawiony przez platformę Wi-Fi.
- Identyfikator linku (otrzymany od punktu dostępu)
Oznacza to, że jeśli platforma używa tego samego adresu MAC MLD, dostawca musi używać tych samych powiązanych adresów MAC poszczególnych instancji i na odwrót. Ten gwarantuje, że gdy adres STA-MLD wygenerowany przez platformę jest trwały przez identyfikatora SSID, adresy MAC adresów STA również są trwałe.
Poniżej znajdziesz przykładowy algorytm przypisywania adresów MAC STA dla poszczególnych linków (dostawcy mogą wdrożyć dowolny algorytm, który spełnia kryteria algorytmu):
- Oktet 0: upewnij się, że ustawiony jest bit zarządzany lokalnie
- Oktet 1–4: taki sam jak adres MAC STA-MLD
- Oktet 5: Per-STA = (STA-MLD + identyfikator linku + 1) MOD (256)
Obsługa wielu linków
Oprogramowanie dostawcy może przełączać połączenia i zarządzać stanem oszczędzania energii linków do aktywacji lub dezaktywacji bez danych sieci Wi-Fi platformy.
Platforma Wi-Fi nie oczekuje powiadomienia, gdy stan połączenia to została zmieniona.
Zarządzanie stanem oszczędzania energii
Stan oszczędzania energii jest domyślnie włączony w ramach platformy Wi-Fi. W stanu oszczędzania energii, oprogramowanie dostawcy zarządza oszczędzaniem energii stanu poszczególnych linków zależnie od wzorców ruchu w witrynie i aktywacji linków, decyzji o dezaktywacji.
Struktura Wi-Fi może jednak wymusić wyłączenie stanu oszczędzania energii przez
wywołanie interfejsu HAL API ISupplicantStaIface::setPowerSave(false)
. Jeśli
tryb oszczędzania energii jest wyłączony przez platformę, oprogramowanie dostawcy musi utrzymywać
co najmniej jeden aktywny link (oszczędzanie energii wyłączone). W tym stanie oprogramowanie układowe
lub implementacja decyduje o tym, który link zostanie ustawiony.
Ścieżka danych
Opisuje implementację oprogramowania dostawcy na potrzeby obsługi przesyłania i przesyłania danych. związane z pobieraniem.
Ruch wychodzący
Oprogramowanie układowe kieruje ruch przychodzący do co najmniej jednego linku, na podstawie jego implementacji. Oprogramowanie dostawcy decyduje, kiedy należy przeprowadzić równoważenie obciążenia. duplikacji lub agregacji ruchu na podstawie wzorców ruchu. Zalecamy oprogramowanie układowe powiela ruch do wielu linków w następujących przypadkach:
- Gdy tryb małego opóźnienia jest ustawiony na urządzeniu
IWifiChip#setLatencyMode()
Interfejs HAL API. - Gdy występuje ruch o priorytetach użytkowników 6 i 7.
Ruch przy pobieraniu
Oprogramowanie układowe musi zastąpić (miejsce docelowe) adres MAC MAC sieci STA nagłówek z adresem MAC MLD-STA i adresem MAC (źródło) adres nagłówka MAC z adresem MAC MLD-AP. Oprogramowanie układowe musi działać przez zastąpienie tego adresu MAC przed przejściem przez filtr APF, ponieważ Polecenia filtra APF zawierają filtry oparte na adresach MAC MLD. Jest jeden Filtr APF dla wszystkich linków AP-MLD.
Równoczesność
Scenariusze równoczesności, w których radio jest wykorzystywane w nowym interfejsie, muszą mieć ma wyższy priorytet niż przeznaczenie wielu opcji na potrzeby linków tego samego interfejsu. Scenariusze równoczesności muszą też mieć wyższy priorytet niż MLO niezależnie od . Użycie wielu linków w jednym interfejsie jest oportunistyczne. Oznacza że wiele linków jest używanych tylko wtedy, gdy:
- MLO jest wymagane na podstawie decyzji dotyczącej oprogramowania układowego na potrzeby równoważenia obciążenia, agregacji lub powielania.
- MLO jest dostępne, co oznacza, że inny interfejs nie wymaga radia.
Mapowanie TID-to-link
Na urządzeniach z Androidem 14 lub nowszym, gdy Sieć Wi-Fi 7 AP informuje o tymczasowym wyłączeniu jednego z linków element mapowania TID-to-link przesyłany w trybie beacon, odpowiedzi sondowania i ramki odpowiedzi powiązania, stacja Wi-Fi 7 będzie kontynuować połączenie z punktu dostępu, używając pozostałych skonfigurowanych linków, bez wykonywania kolejnego z osobna.
Na urządzeniach z Androidem 13 lub starszym moduł Wi-Fi platforma nie obsługuje otrzymywania powiadomień, gdy stan linku to została zmieniona z powodu mapowania identyfikatora TID na link, nawet jeśli powiązany link nie jest połączony z TID.
HAL AIDL
Dostawca sieci Wi-Fi powiadamia platformę Wi-Fi o mapowaniu TID-to-link zmienia się za pomocą następujących interfejsów AIDL:
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
Interfejsy API
Aplikacje mogą uzyskiwać informacje o zmianach mapowania TID na linki za pomocą następujące interfejsy API:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Wywołanie zwrotne sieci aktywowane przez platformę, gdy występuje identyfikator TID-to-link zmiany mapowania.WifiInfo#getAssociatedMloLinks()
: Zwraca powiązane linki MLO.MloLink#getState()
: Zwraca stan linku,MLO_LINK_STATE_ACTIVE
lubMLO_LINK_STATE_IDLE
.
Możliwość negocjowania mapowania identyfikatorów TID na link
W przypadku urządzeń z Androidem 14 lub nowszym: Dostępne są interfejsy API umożliwiające negocjowanie map TID-to-link dla i stacji radiowej.
Potencjał układu
Poniższe interfejsy obsługują funkcję układu scalonego w mapowaniu TID-to-link negocjacjami.
HAL AIDL
Interfejs AIDL do negocjacji mapowania mapowania TID na link jest w języku: FeatureSetMask
w aplikacji hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
.
Możliwości T2LM_NEGOTIATION = 1 << 8
wskazują, że element obsługuje
Mapowanie TID na link.
Interfejsy API
WifiManager.isTidToLinkMappingNegotiationSupported()
: Zwraca element, który obsługuje negocjowanie mapowania mapowania TID na link.
Funkcjonalność punktu dostępu
Poniższe interfejsy obsługują funkcję punktu dostępu dla mapowania TID-to-link negocjacjami.
HAL AIDL
Platforma wysyła zapytania o możliwości punktu dostępu od dostawcy razem z dostępnych obecnie funkcji połączenia.
apTidToLinkMapNegotiationSupported
: Sprawdza, czy punkt dostępu obsługuje funkcję negocjowania mapy TID-to-link.
Interfejsy API
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Zwraca, czy punkt dostępu obsługuje negocjowanie mapowania mapowania TID na link.
Statystyki warstwy linków
Statystyki warstwy linków obejmują szczegóły dotyczące połączenia Wi-Fi, takie jak RSSI, różne połączenia z siecią Wi-Fi liczniki pakietów RX oraz statystyki radiowe. Platforma Wi-Fi okresowo przeprowadza sondowanie statystyki warstwy linków i dane RSSI w celu wyboru najlepszej sieci lub oceny jakości połączonej sieci. Urządzenia z Androidem 14 lub nowszej, statystyki warstwy linków obejmują i obsługuje wiele linków. Aby obsługiwać Wi-Fi 7, Android obsługuje MLO w obu warstwach linków oraz sondowanie sygnałów.
Statystyki dotyczące linków można znaleźć w następujących interfejsach warstwy linków AIDL:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
systemowy interfejs API nasłuchuje wszystkich statystyk warstwy linków. Platforma okresowo wywołuje
ten interfejs API, by aktualizować statystyki obsługi Wi-Fi.
Poniższe interfejsy API związane z linkami są dostępne w
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)
Aby przesłać zapytanie o dostępne identyfikatory połączeń, aplikacje mogą wywoływać metodę
android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
.
Interfejsy API w:
android.net.wifi.WifiUsabilityStatsEntry
dla pojedynczego linku (nie MLO) zwraca zbiorcze statystyki połączeń MLO.
są kryteria agregacji:
Te zagregowane statystyki pakietów wykorzystują sumę statystyk poszczególnych linków:
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
Poniższe statystyki korzystają z danych z linku o najwyższym RSSI:
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
Statystyki warstwy linków w Androidzie 13
Na urządzeniach z Androidem 13 statystyki warstwy połączeń
nie uwzględniają
wykorzystanie wielu linków w jednym interfejsie. Do obsługi MLO za pomocą oprogramowania dostawcy
podczas raportowania funkcji LinkLayerStats
musi stosować tę logikę agregacji
za pomocą interfejsu API HAL IWifi# getLinkLayerStats_1_6()
. Najlepszy link to
o najwyższym RSSI.
StaLinkLayerStats.iface.beaconRx
: zgłoś liczbę beaconów, by uzyskać jak najlepszy wynik używane w interfejsie.StaLinkLayerStats.iface.avgRssiMgmt
: raportavgRssiMgmt
dotyczący aby wybrać najlepszy link do interfejsu.StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): raport zbiorcze statystyki pakietów przez połączenia interfejsu.StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): zgłoś statystyki czasu rywalizacji dla najlepszego linku użytego w witrynie interfejsu (statystyki dotyczące najkrótszych czasów rywalizacji).
Ponowna konfiguracja połączenia MLO
W przypadku zmiany przeznaczenia jednego z linków punktu dostępu Wi-Fi 7 punkt dostępu może poinformować o usunięciu połączenia za pomocą ponownej konfiguracji połączenia MLO. Stacje mogą utrzymać bezproblemową łączność z punktem dostępu bez usuwania powiązań. .
onMloLinksInfoChanged
Interfejs AIDL znajdujący się u dostawcy Wi-Fi pod adresem
ISupplicantStaIfaceCallback.aidl
,
obsługuje ponowną konfigurację połączenia (usunięcie linku punktu dostępu).
Gdy platforma Wi-Fi usuwa link, stan połączenia zostaje ustawiony
do
MLO_LINK_STATE_UNASSOCIATED
Następnie platforma zostaje uruchomiona.
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
o zmianie stanu połączenia.
WifiInfo#getAffiliatedMloLinks
zwraca linki stowarzyszonego MLO.
MloLink#getState
zwraca stan linku. Jeśli link zostanie usunięty, zwrócony link
województwo to
MLO_LINK_STATE_UNASSOCIATED
Strategia MLO dla elementów
MLO umożliwia urządzeniom wysyłanie i odbieranie danych za pomocą wielu połączeń Wi-Fi jednocześnie co może zwiększyć wydajność aplikacji o określonych wymaganiach. takich jak małe opóźnienie, duża przepustowość i mała moc. Dostawcy chipsów mogą opracować algorytmów Google używa dostępnych linków.
Aplikacje z podwyższonymi uprawnieniami mogą modyfikować te algorytmy za pomocą
setMloMode
w Wifimanager
i ustaw dla
następujące tryby:
MLO_MODE_DEFAULT = 0
MLO_MODE_LOW_LATENCY = 1
MLO_MODE_HIGH_THROUGHPUT = 2
MLO_MODE_LOW_POWER = 3
Platforma wykorzystuje
setMloMode
w interfejsie AIDL IWifiChip
aby ustawić tryb MLO.