Para dispositivos com o Android 13 ou mais recente, oferece suporte ao padrão Wi-Fi 7 (IEEE 802.11be). Esta página descreve o Android Recursos do Wi-Fi 7, incluindo valor de referência e operação de vários links (MLO, na sigla em inglês).
Recursos básicos do Wi-Fi 7
Esta seção descreve os recursos básicos do Wi-Fi 7 incluídos no Android 13 e mais recentes.
Compatibilidade com o Wi-Fi 7 do dispositivo
O framework do Android inclui a
WifiManager#isWifiStandardSupported(int standard)
que os aplicativos podem chamar com a
ScanResults.WIFI_STANDARD_11BE
para verificar se um dispositivo é compatível com Wi-Fi 7.
Quando essa API é chamada, o
Módulo Wi-Fi
verifica se a sobreposição de configuração config_wifi11beSupportOverride
é
usada como substituição e faz o seguinte:
- Se a sobreposição for definida como
true
, presume-se que o dispositivo seja compatível com Wi-Fi 7 Independentemente da resposta de nl80211. Essa substituição é útil apenas para fabricantes de dispositivos que não têm drivers compatíveis com o Wi-Fi 7. - Se a sobreposição for definida como
false
(valor padrão), o módulo de Wi-Fi usa as informações de nl80211. O módulo Wi-Fi solicita as informações do wificond, que chama o comando nl80211NL80211_CMD_GET_WIPHY
. Se o O atributoNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
está na resposta do padrão, presume-se que o dispositivo tenha suporte a Wi-Fi 7.
Verificação de compatibilidade com Wi-Fi 7 de AP
O framework do Android inclui a
int ScanResult#getWifiStandard()
API, que os apps podem chamar para verificar se um ponto de acesso (AP) verificado
tem suporte ao Wi-Fi 7. Se o AP oferecer suporte ao Wi-Fi 7, a API retornará
ScanResults.WIFI_STANDARD_11BE
O dispositivo não precisa ser compatível com o Wi-Fi 7 para que os apps usem essa API.
Quando essa API é chamada, o módulo de Wi-Fi verifica se EHT Capability IE
está
nos resultados retornados da verificação de conectividade. Se EHT Capability IE
estiver em
e os resultados da verificação, o AP verificado é compatível com Wi-Fi 7.
A classe WifiTracker
do AOSP exibe essas informações de suporte no usuário
ao ser executado no modo detalhado.
Modo de conexão STA
O framework do Android inclui a
int WifiInfo#getWifiStandard()
API, que os apps podem chamar para verificar se a conexão da estação atual (STA)
o modo Wi-Fi 7. O modo de conexão STA é Wi-Fi 7 quando o dispositivo e
e se o AP conectado
oferecer suporte ao Wi-Fi 7. Se o modo de conexão for Wi-Fi 7, a API
retorna
ScanResults.WIFI_STANDARD_11BE
Quando o getWifiStandard
é chamado, o módulo Wi-Fi determina o modo pela
chamando
API HAL ISupplicantStaIface#getConnectionCapabilities()
. A
A implementação dessa API HAL na camada AIDL wpa_supplicant
verifica se
EHT Capability IE
está em AssocReq
e AssocRsp
durante o
e a configuração da conexão.
Seleção de rede
No Android 13, a seleção de rede usa várias
para determinar a qual AP se conectar. Um dos parâmetros é a
capacidade estimada do AP, que é estimada com o
ThroughputPredictor
. A
O bloco ThroughputPredictor
usa os parâmetros PHY do dispositivo e do
AP verificado.
No Android 13, o ThroughputPredictor
usa o
seguintes recursos de AP em seu cálculo:
- Compatibilidade com Wi-Fi 7 (802.11be)
- Suporte a 320 MHz de largura de canal
A inclusão desses recursos na lógica do ThroughputPredictor
aumenta a
chances de selecionar APs compatíveis com Wi-Fi 7 quando o dispositivo puder usá-los
atributos de machine learning.
Intervalo por Wi-Fi RTT
O Android oferece suporte à API para preâmbulo de EHT e largura de canal de 320 MHz para RTT do Wi-Fi. Isso permite suporte de recursos relacionados ao Wi-Fi 7 em alcance de RTT sempre que for com suporte do chip.
APIs HAL
As seguintes APIs HAL são compatíveis com recursos do Wi-Fi 7 para alcance baseado em RTT:
EHT
: constante emenum RttPreamble
eenum WifiRatePreamble
WIDTH_320
: constante emenum WifiChannelWidthInMhz
BW_320MHz
: constante emenum RttBw
APIs
Os apps podem usar as seguintes APIs para alcance baseado em RTT do Wi-Fi 7:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
AP de software
O Android é compatível com o Wi-Fi 7 em Soft AP e oferece o seguinte atributos de machine learning.
Iniciar soft AP
O Android é compatível com a inicialização do Soft AP no modo Wi-Fi 7.
Isso é regido pela sobreposição config_wifiSoftapIeee80211beSupported
configuração do Terraform.
O módulo de Wi-Fi usa a sobreposição config_wifiSoftapIeee80211beSupported
para definir
o booleano HwModeParams#enable80211BE
na
IHostApd#addAccessPoint()
. Na camada hostapd AIDL, esse valor é
usada para definir os parâmetros hostapd.conf
.
APIs HAL
A
enable80211BE
booleano em HwModeParams
no hostapd HAL oferece suporte
iniciando o Soft AP no modo Wi-Fi 7.
Relatar informações de AP de software
O Android oferece suporte a APIs para incluir o Wi-Fi 7 e a largura do canal de 320 MHz nas informações de Soft AP relatadas.
APIs HAL
A constante WIFI_STANDARD_11BE
nas
Generation.aidl
A interface AIDL na HAL hostapd, que é usada
nas ApInfo
informadas em IHostapdCallback#onApInstanceInfoChanged()
suporte a relatórios de informações de soft AP.
APIs
Os aplicativos podem usar os seguintes métodos (APIs do sistema) em
SoftApInfo
para relatar informações de AP de software.
SoftApInfo#getWifiStandard()
: DevoluçõesScanResults.WIFI_STANDARD_11BE
se o Soft AP for iniciado no modo Wi-Fi 7.SoftApInfo#getBandwidth()
: DevoluçõesSoftApInfo#CHANNEL_WIDTH_320MHZ
se a largura do canal de 320 MHz for usada.
Recursos do MLO Wi-Fi 7
A operação de vários links (MLO, na sigla em inglês) é o principal recurso do Wi-Fi 7 (802.11be) especificação. O MLO é um recurso obrigatório para dispositivos de vários links (MLD) em execução no Wi-Fi 7, de forma simultânea ou não simultânea.
Figura 1. Diagrama do MLO.
Conforme mostrado na figura 1, o AP-MLD e o STA-MLD têm vários AP ou STA instâncias em execução em cada link. Cada link tem um endereço MAC de AP ou STA separado. O AP ou o STA também tem um endereço MAC do MLD para identificar o dispositivo.
Representação de link do MLO
A
android.net.wifi.MloLink
representa o link do MLO. Essa classe inclui os seguintes parâmetros:
int getLinkId()
: ID do link conforme anunciado pelo AP MLD.MacAddress getApMacAddress()
: Endereço MAC do AP. O BSSID da instância de AP desse link.MacAddress getStaMacAddress()
: Endereço MAC do STA. O endereço MAC atribuído localmente à instância do STA na o link.int getChannel()
: Vincular canal. O número do canal do link.int getBand()
: Pulseira com link. A banda do link.int getState()
: Estado do link. Pode ser um dos seguintes estados:MLO_LINK_STATE_INVALID
: Inválido. Usado para inicialização e casos de erro.MLO_LINK_STATE_UNASSOCIATED
: Não associado. O link não está associado a um AP.MLO_LINK_STATE_IDLE
: Inativo. O link está associado, mas não está ativo (sem identificador de tráfego (TID) está mapeado para o link).MLO_LINK_STATE_ACTIVE
: Ativo. O vínculo está associado e ativo (pelo menos um TID está mapeado para o link). Um link ativo pode estar no modo de economia de energia porque o não monitora o estado de energia do link.
Informações verificadas do MLO do Wi-Fi 7 AP
Os apps podem receber os parâmetros MLO para um Wi-Fi 7 AP MLD quando o módulo Wi-Fi
recebe um
ScanResult
do AP-MLD. O WifiTracker
do AOSP exibe os parâmetros do MLO quando:
em execução no modo detalhado.
Para coletar as informações do MLO, o módulo de Wi-Fi faz o seguinte:
- Analisa o elemento de informação de vários links (IE) incluído no beacon ou resposta de sondagem para ler o endereço MAC do MLD do AP e o ID do link atual.
- Analisa o IE do relatório de vizinho reduzido (RNR, na sigla em inglês) incluído no beacon ou na sondagem para ler a lista de informações dos links afiliados.
APIs
Para receber informações verificadas da AP MLO, os apps podem usar as seguintes APIs:
ScanResult#BSSID
: O endereço MAC da instância do ponto de acesso (para o link em que o resultado da verificação está recebidas)MacAddress ScanResult#getApMldMacAddress()
: Retorna o endereço MAC MLD do AP.int ScanResult#getApMloLinkId()
: Retorna o ID do link em que o ScanResult foi recebido.List<MloLink> ScanResult#getAffiliatedMloLinks()
: Retorna uma lista de objetosMloLink
para todos os links divulgados pelo AP-MLD, incluindo o link em que o ScanResult foi recebido.
Informações do MLO conectado ao Wi-Fi 7 AP
Quando um dispositivo se conecta a um AP-MLD do Wi-Fi 7, o framework coleta as
Parâmetros MLO da conexão do objeto WifiInfo
. O AOSP
O objeto WifiTracker
exibe essas informações quando executado no modo detalhado.
Quando o dispositivo se conecta com o AP-MLD, o módulo Wi-Fi copia o MLO
informações do objeto ScanResult
recebidas do AP. O módulo então
chama a API HAL ISupplicantStaIface#getConnectionMloLinksInfo()
;
para ler os endereços MAC de cada link para o AP e o STA e atualizar
o estado dos links associados.
APIs
Para receber informações de conexão do MLO, os apps podem usar as seguintes APIs:
WifiInfo#getBSSID()
: Retorna o endereço MAC da instância de AP (para o link em que o dispositivo está associadas).MacAddress WifiInfo#getApMldMacAddress()
: Retorna o endereço MAC MLD do AP.int WifiInfo#getApMloLinkId()
: Retorna o ID do link associado ao STA com o AP.List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Retorna uma lista de objetosMloLink
para todos os links divulgados pelo AP-MLD incluindo o link associado. Os endereços MAC do AP e do STA podem ser consultados em cada objetoMloLink
.
Verificação de AP-MLD
O software do fornecedor fornece o framework de Wi-Fi com os resultados da verificação para cada resposta de beacon ou sondagem que recebe. Isso significa que o Wi-Fi framework:
- podem receber vários objetos
ScanResults
do mesmo AP-MLD (porque o AP pode ter vários links de beaconing). - pode receber apenas um conjunto parcial dos resultados da verificação dos links de AP de um AP-MLD porque alguns desses sinais de vínculo podem não ser recebidos pelo pelo firmware.
O software do fornecedor relata apenas os resultados recebidos via OTA e precisa não criar (sintetizar artificialmente) os resultados da verificação com base em links anunciados usando no AP-MLD.
O software do fornecedor precisa incluir a variante básica de vários links e RNR IEs recebidos das instâncias de AP nos resultados de verificação informados. Se o PA afiliado faltarem detalhes nos resultados da verificação, o software do fornecedor poderá enviar links solicitações de sondagem (frame de solicitação de sondagem que inclui uma solicitação de link múltiplo de sondagem) elemento) para incluir o conjunto completo ou parcial de capacidades, parâmetros e elementos de operação do AP com o AP-MLD visado no frame de resposta.
O software do fornecedor Pode acionar a sondagem de ML (usando a variante de ML IE da solicitação de sondagem no frame de solicitação da sondagem) se necessário.
Associação de rede AP-MLD
Quando um dispositivo entra em uma rede AP-MLD, o software do fornecedor usa o AP selecionado (link associado) para sinalização. O software do fornecedor pode associar a todos ou alguns links suportados pelo dispositivo.
Após a associação, o motorista informa
ISupplicantStaIfaceCallback#onStateChanged()
com o BSSID de um link para
no AP-MLD. Em seguida, o motorista seleciona um link do AP-MLD, desde que esse
os resultados da verificação foram informados ao framework do link.
Pontuação de rede
Para dispositivos com o Android 14 ou mais recente, Seleção de rede Wi-Fi do Android oferece suporte ao Wi-Fi 7 MLO. Isso significa que o Android seleciona Rede Wi-Fi do dispositivo com base no número de links disponíveis para MLO.
Para oferecer suporte ao MLO, o algoritmo de seleção de rede usa o MLO a seguir: do chip Wi-Fi:
- Contagem máxima de links STR
- Contagem máxima de vinculações de associação
- Combinações simultâneas de pulseiras
Figura 2. Seleção de rede MLO.
Contagem máxima de links STR
A transmissão e o recebimento simultâneos (STR, na sigla em inglês) é um esquema de contenção média de Wi-Fi para operação de vários vínculos. O isolamento de indicador entre links diferentes é suficiente para que os links possam operar de forma independente e possam transmitir e recebendo simultaneamente em links diferentes. O STR é diferente do single legado link (SL) STA e STA legado de banda dupla simultânea (DBDC, na sigla em inglês). Afiliados a STAs com um STA MLD compartilham um número de sequência do transmissor (SN) comum espaço para transmissão de dados alocado para links diferentes se vários links transmissão têm a mesma categoria de acesso (AC).
O número máximo de links STR usados pode ser diferente do número máximo de rádios com suporte do chip. No exemplo da Figura 2, o STR máximo a contagem de links é 2.
As seguintes interfaces HAL de AIDL oferecem suporte à contagem máxima de links STR. e número máximo de recursos de contagem de vinculações de associação:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Contagem máxima de vinculações de associação
Vários links podem operar em um único rádio usando o esquema de contenção, Rádio única com vários links aprimorado (eMLSR, na sigla em inglês). Um dispositivo de vários links usa eMLSR em uma conjunto de links se puder receber certos frames de controle básicos e executar avaliação de canal (CCA) simultaneamente no conjunto de links. No entanto, o MLD transmite ou recebe dados em apenas um link (o link escolhido dinamicamente em cada período de oportunidade de transmissão (TXOP) por vez.
Uma estação MLD pode maximizar o número de vínculos de associação para melhorar confiabilidade, melhor capacidade de processamento e menor latência (em comparação com um único link estação legada) operando simultaneamente em STR e eMLSR se compatível com as ícone. Na Figura 2, o número máximo de vínculos de associação é 3.
As seguintes interfaces HAL de AIDL oferecem suporte à contagem máxima de links de associação capacidade:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Combinações simultâneas de pulseiras
O framework consulta o ícone para conseguir as combinações de opção permitidas (usando
a interface AIDL IWifiChip.aidl
) que podem operar simultaneamente. A partir deste
informações, o framework gera possíveis combinações de bandas simultâneas. A
Veja a seguir um exemplo de lista de combinações simultâneas de bandas (GHz):
- 2.4
- 5
- 6
- 2,4 x 5
- 2,4 x 6
- 10 x 15 cm
A seguinte interface de HAL AIDL é compatível com combinações simultâneas de rádio:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Seleção de rede
Durante a seleção de rede (MLO), a lista de candidatos é agrupada por membros com as mesmo endereço MAC MLD. A pontuação máxima prevista da capacidade de processamento de vários links é calculados para cada grupo, com base na contagem máxima de STR links e eventos diferentes de banda compatíveis com o chip. Se o candidato aceitar várias vinculações e o chip oferecer suporte a STR, a pontuação de capacidade prevista será substituída pelo pontuação de capacidade prevista de vários links. Isso dá um impulso aos candidatos ao MLO durante a seleção da rede.
Ao entrar em uma rede AP-MLD, o framework realiza a seleção do SSID com base
nas informações recebidas no objeto ScanResults
, conforme relatado pelo fornecedor
de software. Após a seleção do SSID pela estrutura, o software do fornecedor é
responsável por selecionar o BSSID para o melhor AP (ou link de AP) para usar
associação.
Processamento de endereços MAC STA do dispositivo
Esta seção descreve como os endereços MAC STA do dispositivo (endereços MAC do MLD) e endereços MAC STA por link) são tratados.
Endereço MAC do MLD
O framework Wi-Fi gerencia o endereço MAC MLD do dispositivo. O MAC do MLD
é tratado da mesma forma que um dispositivo não MLD lida com seu próprio endereço MAC.
O endereço MAC pode ser um endereço MAC aleatório ou um MAC provisionado por hardware
com base na escolha do usuário. O endereço MAC do MLD é definido pelo framework
usando a API HAL IWifiStaIface#setMacAddress()
.
Endereço MAC STA por link
O software do fornecedor gerencia os endereços MAC do STA da instância (para cada link). Quando um associado a um AP, o software do fornecedor atribui uma instância MAC para cada link associado.
O software do fornecedor atribui endereços MAC por link com base no algoritmo dele. A algoritmo precisa ser repetível e ser uma função dos itens a seguir:
- Endereço MAC do STA-MLD definido pelo framework de Wi-Fi.
- ID do link (recebido do AP)
Isso significa que, se o framework reutilizar o mesmo endereço MAC MLD, o fornecedor precisa reutilizar os mesmos endereços MAC associados por instância e vice-versa. Isso garante que, quando o endereço STA-MLD gerado pelo framework for persistente para um SSID, os endereços MAC por STA também são persistentes.
Veja a seguir um exemplo de algoritmo para atribuição de endereço MAC STA por link (os fornecedores podem implementar qualquer algoritmo que atenda aos critérios do algoritmo):
- Octeto 0: verificar se o bit administrado localmente está definido
- Octeto 1 a 4: igual ao endereço MAC do STA-MLD
- Octeto 5: Per-STA = (STA-MLD + ID do link + 1) MOD (256)
Processamento de vários links
O firmware do fornecedor pode alternar links e gerenciar o estado de economia de energia dos links para ativação ou desativação sem entrada do Wi-Fi de análise de dados em nuvem.
A estrutura de Wi-Fi não espera uma notificação quando o estado do link é mudou.
Gerenciamento do estado de economia de energia
O estado de economia de energia é ativado por padrão no framework Wi-Fi. Na estado de economia de energia, o firmware do fornecedor gerencia a economia o estado de links individuais com base nos padrões de tráfego e ativação do link ou ou de desativação.
No entanto, o framework de Wi-Fi pode forçar a desativação do estado de economia de energia
chamando a API HAL ISupplicantStaIface::setPowerSave(false)
. Se o
estado de economia de energia for desativado pelo framework, o firmware do fornecedor precisa manter
pelo menos um link ativo (economia de energia desativada). Nesse caso, o firmware
define qual link é definido.
Caminho dos dados
Isso descreve a implementação de firmware do fornecedor para lidar com uplink e tráfego de download.
Tráfego de uplink
O firmware roteia o tráfego de uplink para um (ou mais) links com base no implementação. O firmware do fornecedor decide quando fazer o balanceamento de carga, a duplicação ou agregação de tráfego com base em padrões de tráfego. Recomendamos o firmware duplica o tráfego para vários links nos seguintes casos:
- Quando o modo de baixa latência é definido pelo
IWifiChip#setLatencyMode()
API HAL. - Quando há tráfego com prioridade de usuário 6 e 7.
Tráfego de downlink
O firmware precisa substituir o endereço MAC (destino) por STA do MAC cabeçalho com o MAC MLD-STA e o MAC (origem) por AP do cabeçalho MAC com o endereço MAC MLD-AP. O firmware precisa realizar essa substituição de endereço MAC antes de passar pelo filtro APF porque o Os comandos de filtro do APF têm filtros baseados nos endereços MAC do MLD. Há um único Filtro do APF para todos os links de um AP-MLD.
Simultaneidade
Cenários de simultaneidade, em que um rádio é usado para uma nova interface, devem ter prioridade em relação à dedicação de vários rádios para links da mesma interface. Os cenários de simultaneidade também devem ter prioridade sobre o MLO, não importa qual tenha surgido primeiro. Usar vários links para uma única interface é oportunista, ou seja, que vários links são usados somente quando:
- O MLO é obrigatório com base na decisão de firmware para balanceamento de carga, agregação ou duplicação.
- O MLO está disponível, o que significa que um rádio não é exigido por outra interface.
Mapeamento de TID para vinculação
Para dispositivos com o Android 14 ou mais recente, quando o O Wi-Fi 7 AP anuncia a desativação temporária de um dos links por meio de um Elemento de mapeamento TID para vinculação transmitido no beacon, na resposta da sondagem e quadros de resposta de associação, a estação Wi-Fi 7 continuará a conexão com o AP usando os links restantes que estão configurados, sem realizar outra associação.
Em dispositivos com o Android 13 ou versões anteriores, não oferece suporte ao recebimento de notificações quando o estado do link é mudou devido ao mapeamento TID-to-link, mesmo que o link associado não esteja vinculado um TID.
HAL da AIDL
O suplicante de Wi-Fi notifica o framework de Wi-Fi sobre o mapeamento TID-to-link mudanças por meio das seguintes interfaces 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
APIs
Os aplicativos podem obter informações sobre alterações no mapeamento de TID-to-link usando o as seguintes APIs:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Callback de rede acionado pelo framework quando há um TID para vincular alteração no mapeamento.WifiInfo#getAssociatedMloLinks()
: Retorna os links MLO associados.MloLink#getState()
: Retorna o estado do link,MLO_LINK_STATE_ACTIVE
ouMLO_LINK_STATE_IDLE
.
Recursos de negociação de mapeamento de TID para vinculação
Para dispositivos com o Android 14 ou mais recente: As APIs estão disponíveis para obter os recursos de negociação de mapas TID para vincular para a estação e o AP.
Capacidade do chip
As interfaces a seguir são compatíveis com o recurso de chip para mapeamento TID-to-link. negociação.
HAL da AIDL
A interface da AIDL para negociação do mapeamento TID para vinculação está em FeatureSetMask
em hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
. A
O capability T2LM_NEGOTIATION = 1 << 8
indica que o ícone oferece suporte a
Mapeamento de TID para vinculação.
APIs
WifiManager.isTidToLinkMappingNegotiationSupported()
: Retorna o ícone compatível com a negociação de mapeamento de TID para vinculação.
Recurso do ponto de acesso
As interfaces a seguir são compatíveis com o recurso AP para o mapeamento TID-to-link negociação.
HAL da AIDL
O framework consulta o recurso de AP do suplicante junto com os capacidade de conexão atual.
apTidToLinkMapNegotiationSupported
: Verifica se um AP oferece suporte à capacidade de negociação de mapas TID para vincular.
APIs
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Informa se o AP oferece suporte à negociação de mapeamento de TID para vinculação.
Estatísticas da camada de links
As estatísticas da camada de enlace incluem detalhes específicos de link Wi-Fi como RSSI, várias conexões contadores de pacotes RX e estatísticas de rádio. O framework de Wi-Fi pesquisa periodicamente estatísticas da camada de links e RSSI para selecionar a melhor rede ou avaliar a qualidade da rede conectada. Para dispositivos com Android 14 ou superior, as estatísticas da camada de links incluem suporte a vários links. Para oferecer suporte ao Wi-Fi 7, o Android oferece suporte ao MLO nas camadas de enlace estatísticas e sondagem de sinais.
Estatísticas específicas de links são encontradas nas seguintes interfaces AIDL da camada de links:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
A
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
A API do sistema detecta todas as estatísticas da camada de enlace. O framework invoca periodicamente
essa API para atualizar
as estatísticas de usabilidade de Wi-Fi.
As seguintes APIs específicas de link estão disponíveis em
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)
Para consultar os IDs de link disponíveis, os aplicativos podem chamar o método
android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
.
APIs na
android.net.wifi.WifiUsabilityStatsEntry
para link único (não MLO), retorna as estatísticas agregadas para conexões MLO. A
estes são os critérios de agregação:
As seguintes estatísticas de pacote agregadas usam a soma das estatísticas por link:
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
As estatísticas a seguir usam os dados do link com o RSSI mais alto:
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
Estatísticas da camada de links no Android 13
Para dispositivos com o Android 13, estatísticas da camada de links
não levam em conta
uso de vários links para uma única interface. Para dar suporte ao MLO, os softwares de fornecedores
precisa aplicar a lógica de agregação a seguir ao informar LinkLayerStats
.
usando a API HAL IWifi# getLinkLayerStats_1_6()
. O melhor link é
com o RSSI mais alto.
StaLinkLayerStats.iface.beaconRx
: informa a contagem de beacons para o melhor usado para a interface.StaLinkLayerStats.iface.avgRssiMgmt
: relatórioavgRssiMgmt
para o melhor link usado para a interface.StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): relatório as estatísticas agregadas do pacote (total) nos links da interface.StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): informa as estatísticas de tempo de contenção para o melhor link usado no interface (estatísticas de menor tempo de contenção).
Reconfiguração de vinculação do MLO
Quando um dos links do ponto de acesso do Wi-Fi 7 é reutilizado, o AP pode anunciar a remoção da vinculação pela reconfiguração de links do MLO. Estações possa manter uma conectividade perfeita com o AP sem precisar se associar novamente links restantes.
A
onMloLinksInfoChanged
interface AIDL, localizada no suplicante de Wi-Fi em
ISupplicantStaIfaceCallback.aidl
,
oferece suporte à reconfiguração de links (remoção do AP do link).
Quando a estrutura de Wi-Fi processa a remoção de um link, o estado do link é definido
para
MLO_LINK_STATE_UNASSOCIATED
Em seguida, o framework aciona
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
para mudar o estado do link.
A
WifiInfo#getAffiliatedMloLinks
retorna os links MLO afiliados. A
MloLink#getState
retorna o estado do link. Se o link for removido, o link retornado
estado é
MLO_LINK_STATE_UNASSOCIATED
Estratégia de MLO de ícones
O MLO permite que os dispositivos enviem e recebam dados em vários links Wi-Fi ao mesmo tempo, o que pode melhorar o desempenho de apps que têm requisitos específicos como baixa latência, alta largura de banda e baixo consumo de energia. Os fornecedores de chips podem desenvolver algoritmos sobre como usar os links disponíveis.
Os aplicativos privilegiados podem modificar esses algoritmos usando a
setMloMode
em Wifimanager
e defina
seguintes modos:
MLO_MODE_DEFAULT = 0
MLO_MODE_LOW_LATENCY = 1
MLO_MODE_HIGH_THROUGHPUT = 2
MLO_MODE_LOW_POWER = 3
O framework usa
setMloMode
na interface AIDL IWifiChip
para definir o modo MLO.