Android 12 introduce la concorrenza AP/AP Wi-Fi, che consente ai dispositivi di creare due interfacce punto di accesso (AP). Questa funzionalità consente ai dispositivi di supportare il tethering tramite un hotspot Wi-Fi dual band simultaneo (DBS) (soft AP). Per informazioni dettagliate sul supporto del tethering tramite un singolo hotspot Wi-Fi, vedere Supporto hotspot Wi-Fi (Soft AP) .
Questa pagina descrive il comportamento del dispositivo quando questa funzionalità è abilitata e i dettagli di implementazione per produttori e fornitori di dispositivi.
Come funziona
Quando è supportata la concorrenza Wi-Fi AP/AP, il dispositivo può creare due interfacce AP, ad esempio, un'interfaccia che funziona sulla banda da 2,4 GHz e l'altra sulla banda da 5 GHz. I client possono quindi connettersi a ciascuna delle interfacce AP.
L'HAL Wi-Fi genera una singola interfaccia a ponte con le due interfacce AP e la espone allo stack Wi-Fi e di connettività quando lo stack abilita un soft AP. Dopo aver abilitato il soft AP, l'HAL Wi-Fi indica che sono disponibili due interfacce e aggiorna le informazioni (come canale operativo, larghezza di banda e BSSID) per ciascun AP.
Per risparmiare energia, il framework disabilita un AP non utilizzato (2,4 GHz, 5 GHz o 6 GHz) dopo un periodo di inattività. Il framework considera un AP inattivo quando nessun client è connesso. I produttori di dispositivi possono personalizzare la durata di questo periodo di inattività. Per ulteriori informazioni, vedere Personalizzare il periodo di inattività .
I dispositivi supportano la concorrenza AP/AP Wi-Fi utilizzando una delle seguenti configurazioni soft AP con bridge:
- Configurazione di due bande (il canale viene selezionato automaticamente dal framework o dal driver)
- Configurazione di due canali su un AP dual-band
Requisiti
Per implementare la concorrenza AP/AP Wi-Fi, i dispositivi devono soddisfare i seguenti requisiti:
Il chip o firmware Wi-Fi deve supportare due connessioni AP simultanee. Il firmware deve supportare tutte le combinazioni di canali e bande per entrambe le connessioni. Per evitare problemi di prestazioni, ti consigliamo di utilizzare un chip Wi-Fi compatibile con 2x2+2x2 DBS.
Il dispositivo deve supportare i seguenti metodi nell'HAL del fornitore Wi-Fi:
-
IWifiChip.createBridgedApIface()
-
IWifiChip.removeIfaceInstanceFromBridgedApIface()
-
IWifiApIface.resetToFactoryMacAddress()
-
IWifiApIface.getBridgedInstances()
-
Implementazione
Per implementare la concorrenza AP/AP Wi-Fi, procedere come segue:
Abilita almeno una delle seguenti funzioni (disabilitate per impostazione predefinita) utilizzando gli overlay delle risorse di runtime :
-
config_wifiBridgedSoftApSupported
: supporta più AP collegati tra loro. -
config_wifiStaWithBridgedSoftApConcurrencySupported
: supporta la concorrenza di una stazione (STA) e più AP con bridge.
-
Per i dispositivi che utilizzano AIDL Wi-Fi HAL o HIDL Wi-Fi HAL 1.6, definire
AP_BRIDGED
nella combinazione dell'interfaccia Wi-Fi HAL. Per ulteriori dettagli, consulta Concorrenza multi-interfaccia Wi-Fi .Configurare la configurazione del Soft AP con bridge richiamando uno dei seguenti metodi:
Registra una richiamata per ottenere le funzionalità del dispositivo utilizzando
WifiManager#registerSoftApCallback
. La richiamataSoftApCallback
fornisce i seguenti metodi per una configurazione soft AP con bridge:-
SoftApCallback#onInfoChanged
: fornisce informazioni sulle istanze Soft AP in esecuzione. -
SoftApCallback#onConnectedClientsChanged
: fornisce un elenco di client connessi per un'istanza soft AP.
-
Personalizza il periodo di inattività
Per personalizzare la durata del periodo di inattività, configurare il seguente overlay, che si trova in packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
:
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: l'intervallo di timeout di spegnimento predefinito. Valido solo seSoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
è abilitato.(Disponibile da 13)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
: indica se disabilitare il timer di spegnimento per inattività durante la ricarica.