Współbieżność AP/AP Wi-Fi

W systemie Android 12 wprowadzono współbieżność punktów dostępu Wi-Fi/AP, która umożliwia urządzeniom tworzenie dwóch interfejsów punktów dostępu (AP). Ta funkcja umożliwia urządzeniom obsługę tetheringu przez dwuzakresowy, symultaniczny (DBS) hotspot Wi-Fi (miękki punkt dostępowy). Aby uzyskać szczegółowe informacje na temat obsługi tetheringu przez pojedynczy hotspot Wi-Fi, zobacz Obsługa hotspotu Wi-Fi (programowy punkt dostępowy) .

Na tej stronie opisano zachowanie urządzenia, gdy ta funkcja jest włączona, oraz szczegóły implementacji dla producentów i dostawców urządzeń.

Jak to działa

Gdy obsługiwana jest współbieżność Wi-Fi AP/AP, urządzenie może utworzyć dwa interfejsy AP, na przykład jeden pracujący w paśmie 2,4 GHz, a drugi w paśmie 5 GHz. Klienci mogą następnie połączyć się z każdym z interfejsów AP.

Wi-Fi HAL generuje pojedynczy mostkowany interfejs z dwoma interfejsami AP i udostępnia go stosowi Wi-Fi i łączności, gdy stos umożliwia miękki punkt dostępowy. Po włączeniu miękkiego punktu dostępowego warstwa Wi-Fi HAL wskazuje, że dostępne są dwa interfejsy i aktualizuje informacje (takie jak kanał operacyjny, przepustowość i identyfikator BSSID) dla każdego punktu dostępowego.

Aby oszczędzać energię, platforma wyłącza nieużywany punkt dostępowy (2,4 GHz, 5 GHz lub 6 GHz) po pewnym okresie bezczynności. Struktura uważa punkt dostępowy za nieaktywny, gdy żaden klient nie jest podłączony. Producenci urządzeń mogą dostosować długość tego okresu nieaktywności. Aby uzyskać więcej informacji, zobacz Dostosowywanie okresu bezczynności .

Urządzenia obsługują współbieżność punktów dostępowych Wi-Fi/AP, korzystając z jednej z następujących konfiguracji programowych punktów dostępowych z mostkiem:

  • Konfiguracja dwóch pasm (kanał wybierany jest automatycznie przez framework lub sterownik)
  • Konfiguracja dwóch kanałów w dwuzakresowym punkcie dostępowym

Wymagania

Aby wdrożyć współbieżność Wi-Fi AP/AP, urządzenia muszą spełniać następujące wymagania:

  • Układ Wi-Fi lub oprogramowanie sprzętowe muszą obsługiwać dwa jednoczesne połączenia AP. Oprogramowanie sprzętowe musi obsługiwać wszystkie kombinacje kanałów i pasm dla obu połączeń. Aby uniknąć problemów z wydajnością, zalecamy użycie chipa Wi-Fi obsługującego 2x2+2x2 DBS.

  • Urządzenie musi obsługiwać następujące metody w warstwie HAL dostawcy Wi-Fi:

    • IWifiChip.createBridgedApIface()
    • IWifiChip.removeIfaceInstanceFromBridgedApIface()
    • IWifiApIface.resetToFactoryMacAddress()
    • IWifiApIface.getBridgedInstances()

Realizacja

Aby zaimplementować współbieżność Wi-Fi AP/AP, wykonaj następujące czynności:

  1. Włącz co najmniej jedną z następujących funkcji (domyślnie wyłączona) przy użyciu nakładek zasobów środowiska wykonawczego :

    • config_wifiBridgedSoftApSupported : Obsługuje wiele punktów dostępowych połączonych ze sobą mostkiem.
    • config_wifiStaWithBridgedSoftApConcurrencySupported : Obsługuje współbieżność stacji (STA) i wielu mostkowanych punktów dostępowych.
  2. W przypadku urządzeń korzystających z AIDL Wi-Fi HAL lub HIDL Wi-Fi HAL 1.6 zdefiniuj AP_BRIDGED w kombinacji interfejsów Wi-Fi HAL. Aby uzyskać więcej informacji, zobacz temat Współbieżność wielu interfejsów Wi-Fi .

  3. Skonfiguruj konfigurację miękkiego punktu dostępowego z mostkiem, wywołując jedną z następujących metod:

  4. Zarejestruj wywołanie zwrotne, aby uzyskać możliwości urządzenia za pomocą WifiManager#registerSoftApCallback . Wywołanie zwrotne SoftApCallback udostępnia następujące metody konfiguracji miękkiego punktu dostępowego z mostkiem:

Dostosuj okres bezczynności

Aby dostosować długość okresu bezczynności, skonfiguruj następującą nakładkę, która znajduje się w packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml :

  • config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond : Domyślny interwał limitu czasu zamknięcia. Prawidłowe tylko wtedy, gdy włączona jest SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled .

  • (Dostępne od wersji 13) config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging : Wskazuje, czy wyłączyć licznik czasu braku aktywności podczas ładowania.