Wi-Fi 7

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 funkcja 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 nl80211 NL80211_CMD_GET_WIPHY. Jeśli Atrybut NL80211_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:

Interfejsy API

Aplikacje mogą używać tych interfejsów API do określania zakresu na podstawie protokołu RTT w sieci Wi-Fi 7:

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.

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.

Schemat MLO

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.

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 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:

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:

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

Wybór sieci Wi-Fi MLO

Rysunek 2. Wybór sieci MLO.

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ń.

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:

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:

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().

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 znajduje się 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)

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.

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.

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.

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.

Dostawca sieci Wi-Fi powiadamia platformę Wi-Fi o mapowaniu TID-to-link zmienia się za pomocą następujących interfejsów AIDL:

Aplikacje mogą uzyskiwać informacje o zmianach mapowania TID na linki za pomocą następujące interfejsy API:

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-to-link. Interfejsy API

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.

Interfejsy API

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:

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()
    

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: raport avgRssiMgmt 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).

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.