O Android 12 apresenta a simultaneidade de AP/AP Wi-Fi, que permite que os dispositivos criem duas interfaces de ponto de acesso (AP). Esse recurso permite que os dispositivos suportem tethering por meio de um hotspot Wi-Fi simultâneo de banda dupla (DBS) (AP suave). Para obter detalhes sobre o suporte ao tethering por meio de um único ponto de acesso Wi-Fi, consulte Suporte ao ponto de acesso Wi-Fi (Soft AP) para tethering .
Esta página descreve o comportamento do dispositivo quando esse recurso está ativado e os detalhes de implementação para fabricantes e fornecedores de dispositivos.
Como funciona
Quando a simultaneidade de AP/AP Wi-Fi é suportada, o dispositivo pode criar duas interfaces de AP, por exemplo, uma interface trabalhando na banda de 2,4 Ghz e outra na banda de 5 Ghz. Os clientes podem então se conectar a cada uma das interfaces AP.
O Wi-Fi HAL gera uma única interface em ponte com as duas interfaces de AP e a expõe ao Wi-Fi e à pilha de conectividade quando a pilha habilita um soft AP. Após o soft AP ser habilitado, o Wi-Fi HAL indica que duas interfaces estão disponíveis e atualiza as informações (como canal de operação, largura de banda e BSSID) para cada AP.
Para economizar energia, a estrutura desativa um AP não utilizado (2,4 Ghz ou 5 GHz) após um período de inatividade. A estrutura considera um AP inativo quando nenhum cliente está conectado. Os fabricantes de dispositivos podem personalizar a duração desse período inativo. Para obter mais informações, consulte Personalizando o período de inatividade .
Os dispositivos oferecem suporte à simultaneidade de AP/AP Wi-Fi usando uma das seguintes configurações de AP flexível em ponte:
- Configurando duas bandas (o canal é selecionado automaticamente pelo framework ou pelo driver)
- Configurando dois canais em um AP de banda dupla
Requisitos
Para implementar a simultaneidade de AP/AP Wi-Fi, os dispositivos devem atender aos seguintes requisitos:
O chip ou firmware Wi-Fi deve suportar duas conexões AP simultâneas. O firmware deve suportar todas as combinações de canais e bandas para ambas as conexões. Para evitar problemas de desempenho, recomendamos o uso de um chip Wi-Fi compatível com DBS 2x2+2x2.
O dispositivo deve suportar as seguintes APIs no fornecedor HAL versão 1.5
-
IWifiChip.createBridgedApIface()
-
IWifiChip.removeIfaceInstanceFromBridgedApIface()
-
IWifiApIface.resetToFactoryMacAddress()
-
IWifiApIface.getBridgedInstances()
-
A combinação de interface Wi-Fi HAL não pode ter duas interfaces AP simultâneas expostas usando um formato de especificação como
[{AP} <= 2, ...]
. Isso ocorre porque o Wi-Fi HAL expõe uma única interface em ponte ao Wi-Fi e à pilha de conectividade. Para obter mais informações, consulte Simultaneidade de várias interfaces Wi-Fi .
Implementação
Para implementar a simultaneidade de AP/AP Wi-Fi, faça o seguinte:
Habilite pelo menos uma das seguintes funções (desabilitadas por padrão) usando sobreposições de recursos de tempo de execução :
-
config_wifiBridgedSoftApSupported
: Suporta vários APs conectados em ponte -
config_wifiStaWithBridgedSoftApConcurrencySupported
: Suporta simultaneidade de uma estação (STA) e vários APs em ponte
-
Configure a configuração do soft AP em ponte chamando um dos seguintes métodos:
Registre um retorno de chamada para obter os recursos do dispositivo usando
WifiManager#registerSoftApCallback
. O retorno de chamadaSoftApCallback
fornece os seguintes métodos para uma configuração de soft AP em ponte:-
SoftApCallback#onInfoChanged
: Fornece informações sobre as instâncias soft AP em execução -
SoftApCallback#onConnectedClientsChanged
: Fornece uma lista de clientes conectados para uma instância soft AP
-
Personalizando o período de inatividade
Para personalizar a duração do período de inatividade, configure a seguinte sobreposição, encontrada em packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
:
-
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: o intervalo de tempo limite de desligamento padrão. Válido somente seSoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
estiver habilitado.