O recurso Wi-Fi Direct , também conhecido como Wi-Fi P2P, permite que dispositivos compatíveis descubram e se conectem uns aos outros diretamente usando o protocolo Wi-Fi Direct, sem acesso à Internet ou à rede celular. Esse recurso, desenvolvido com base na especificação Wi-Fi Direct da Wi-Fi Alliance (WFA), permite o compartilhamento de dados de alto rendimento entre dispositivos e aplicativos confiáveis que, de outra forma, estariam fora da rede.
Exemplos e fonte
Para usar esse recurso, os fabricantes de dispositivos devem implementar as interfaces HAL do fornecedor e do suplicante de Wi-Fi.
No Android 13, a interface Supplicant usa AIDL para a definição HAL. No Android 14 e versões posteriores, a interface HAL do fornecedor usa AIDL. No Android 12 e versões anteriores, as interfaces HAL do solicitante e do fornecedor são definidas usando HIDL.
As seguintes superfícies Wi-Fi HAL são necessárias para empregar o recurso Wi-Fi Direct:
-
hardware/interfaces/wifi/aidl
ouhardware/interfaces/wifi/1.3
ou superior -
hardware/interfaces/wifi/supplicant/aidl
ouhardware/interfaces/wifi/supplicant/1.2
ou superior
Implementação
Os fabricantes de dispositivos precisam fornecer suporte de estrutura e HAL/firmware:
- Estrutura:
- Código AOSP
- Ativar Wi-Fi Direct: requer um sinalizador de recurso
- Suporte HAL Wi-Fi Direct (P2P) (o que implica suporte de firmware)
Para implementar esse recurso, os fabricantes de dispositivos implementam as interfaces Wi-Fi HIDL ou AIDL e habilitam o sinalizador de recurso para Wi-Fi Direct. Em device.mk
localizado em device/<oem>/<device>
, modifique a variável de ambiente PRODUCT_COPY_FILES
para incluir suporte para o recurso Wi-Fi Direct:
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
Todos os outros requisitos para suporte ao Wi-FI Direct estão incluídos no AOSP.
Randomização MAC
O Android exige que o endereço do dispositivo Wi-Fi Direct e o endereço da interface sejam aleatórios. Eles devem ser diferentes do endereço MAC verdadeiro do dispositivo e atender aos seguintes requisitos:
- O endereço do dispositivo Wi-Fi Direct deverá ser randomizado na criação da interface se não houver nenhum grupo persistente salvo; caso contrário, o endereço do dispositivo deverá continuar usando o último endereço MAC gerado.
- O endereço da interface Wi-Fi Direct, também conhecido como endereço de grupo, deve ser randomizado sempre que uma conexão for estabelecida.
A randomização Wi-Fi Direct MAC é implementada em 'wpa_supplicant' e controlada por duas configurações, p2p_device_random_mac_addr
e p2p_interface_random_mac_addr
.
Para ativar esse recurso, os fabricantes de dispositivos devem:
- Implemente a API
ISupplicantP2pIface::setMacRandomization
suplicante de Wi-Fi. Dependendo da interface implementada, isso ocorre em:-
hardware/interface/wifi/supplicant/1.2
para HIDL -
hardware/interface/wifi/supplicant/aidl
para AIDL
-
- Defina
config_wifi_p2p_mac_randomization_supported
como 'true' em uma sobreposição personalizada do dispositivo.
Validação
O Android fornece um conjunto de testes de unidade, testes de integração (Android Connectivity Test Suite ou ACTS), testes de Compatibility Test Suite (CTS) e testes CTS Verifier para validar o recurso Wi-Fi Direct. O Wi-Fi Direct também pode ser testado usando o Vendor Test Suite (VTS) .
Testes unitários
Verifique o pacote Wi-Fi Direct usando os testes a seguir.
Testes de serviço:
atest com.android.server.wifi.p2p
Testes de gerente:
atest android.net.wifi.p2p
Testes de integração (ACTS)
O conjunto de testes ACTS Wi-FI Direct, localizado em tools/test/connectivity/acts_tests/tests/google/wifi/p2p
, implementa testes funcionais de Wi-Fi Direct.
Testes do conjunto de testes de compatibilidade (CTS)
Use testes CTS para validar o recurso Wi-Fi Direct. O CTS detecta quando o recurso está habilitado e inclui automaticamente os testes associados.
Para acionar os testes CTS, execute:
% atest android.net.wifi.p2p.cts
Testes de verificação CTS
Os testes do CTS Verifier validam o comportamento do Wi-Fi Direct usando dois dispositivos: um dispositivo de teste e um dispositivo em boas condições . Para executar os testes, abra o CTS Verifier e navegue até a seção intitulada Testes Wi-Fi Direct.