La Wi-Fi Direct également appelée Wi-Fi P2P, qui permet aux appareils compatibles de détecter et de se connecter l'un à l'autre directement, en utilisant le protocole Wi-Fi Direct sans accéder à Internet ni à un réseau mobile. Ce basée sur la Wi-Fi Alliance (WFA) Spécification du Wi-Fi Direct permet de partager des données à haut débit entre les appareils vérifiés et les applications qui ne sont pas hors réseau.
Exemples et source
Pour utiliser cette fonctionnalité, les fabricants d'appareils doivent implémenter Interfaces HAL fournisseur et fournisseur.
Sous Android 13, l'interface du demandeur utilise AIDL pour la définition HAL. Dans Android 14 et versions ultérieures, l'interface HAL du fournisseur utilise AIDL. Dans Android 12 et versions antérieures, les options Les interfaces HAL des fournisseurs sont définies à l'aide de HIDL.
Les surfaces Wi-Fi HAL suivantes sont nécessaires pour utiliser la fonctionnalité Wi-Fi Direct fonctionnalité:
hardware/interfaces/wifi/aidl
ou,hardware/interfaces/wifi/1.3
ou version ultérieurehardware/interfaces/wifi/supplicant/aidl
ou,hardware/interfaces/wifi/supplicant/1.2
ou version ultérieure
Implémentation
Les fabricants d'appareils doivent fournir une compatibilité avec le framework et le micrologiciel HAL/micrologiciel:
- Cadre:
<ph type="x-smartling-placeholder">
- </ph>
- Code AOSP
- Activer Wi-Fi Direct: nécessite un flag de fonctionnalité
- Compatibilité HAL avec le Wi-Fi Direct (P2P) (ce qui implique la compatibilité avec le micrologiciel)
Pour implémenter cette fonctionnalité, les fabricants d'appareils implémentent la méthode Wi-Fi HIDL ou AIDL
et activer le flag de fonctionnalité pour Wi-Fi Direct. Lieu : device.mk
Dans device/<oem>/<device>
, modifiez la variable d'environnement PRODUCT_COPY_FILES
.
pour inclure la fonctionnalité 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
```
Toutes les autres conditions requises pour prendre en charge Wi-Fi Direct sont incluses dans l'AOSP.
Randomisation MAC
Android requiert que l'adresse de l'appareil et l'interface Wi-Fi Direct de destination sont randomisées. Elles doivent être différentes de l'adresse MAC réelle de l'appareil et doit disposer de la configuration suivante:
- Lors de la création de l'interface, l'adresse de l'appareil Wi-Fi Direct doit être aléatoire lors de la création de l'interface n'est pas enregistré de groupe persistant ; Sinon, l'adresse de l'appareil doit continuer à utiliser la dernière adresse MAC générée.
- L'adresse de l'interface Wi-Fi Direct, également appelée adresse de groupe, doit apparaître dans un ordre aléatoire chaque fois qu'une connexion est établie.
La randomisation MAC en Wi-Fi Direct est implémentée dans "wpa_supplicant" et contrôlée
par deux configurations, p2p_device_random_mac_addr
et
p2p_interface_random_mac_addr
Pour activer cette fonctionnalité, les fabricants d'appareils doivent:
- Implémentez l'API Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
. En fonction de l'interface implémentée, cette option se présente comme suit: <ph type="x-smartling-placeholder">- </ph>
hardware/interface/wifi/supplicant/1.2
pour HIDLhardware/interface/wifi/supplicant/aidl
pour AIDL
- Définir
config_wifi_p2p_mac_randomization_supported
sur "true" dans un profil d'appareil personnalisé superposition.
Validation
Android fournit un ensemble de tests unitaires, Tests de la suite de tests de compatibilité (CTS) Tests CTS Verifier pour valider le Wi-Fi Fonctionnalité directe. Vous pouvez également tester la fonctionnalité Wi-Fi Direct à l'aide de Suite de test pour les fournisseurs (VTS).
Tests unitaires
Vérifiez le package Wi-Fi Direct à l'aide des tests suivants.
Tests du service:
atest com.android.server.wifi.p2p
Tests du responsable:
atest android.net.wifi.p2p
Tests de la suite de tests de compatibilité (CTS)
Utilisez les tests CTS pour valider la fonctionnalité Wi-Fi Direct. CTS détecte quand la fonctionnalité est activé et inclut automatiquement les tests associés.
Pour déclencher les tests CTS, exécutez la commande suivante:
% atest android.net.wifi.p2p.cts
Tests CTS Verifier
Les tests CTS Verifier valident le comportement du Wi-Fi Direct à l'aide de deux appareils: un test et d'un appareil connu. Pour exécuter les tests, ouvrez CTS Verifier et accédez à la section intitulée Tests Wi-Fi Direct.