Android 10 est compatible avec le protocole Wi-Fi Easy Connect, également appelé protocole de provisionnement d'appareil (DPP). Wi-Fi Easy Connect a été introduit par la Wi-Fi Alliance (WFA) comme alternative à WPS (Wi-Fi Protected Setup). Le WPS a été abandonné dans Android 9.
Wi-Fi Easy Connect vous permet de:
- Connecter des appareils Wi-Fi intégrés (y compris des appareils sans tête) à un réseau sans saisir de mot de passe
- vous connecter à des réseaux Wi-Fi sans connaître ni saisir de mot de passe ;
Le démarrage et l'authentification sont configurés à l'aide d'un URI, qui est acquis en scannant un code QR (à l'aide d'un appareil photo) ou configuré en dehors de la bande, par exemple à l'aide de BLE ou de NFC.
Wi-Fi Easy Connect utilise un canal chiffré pour envoyer des identifiants Wi-Fi entre les appareils. Étant donné que des trames d'action publiques sont utilisées, les appareils peuvent utiliser les points d'accès existants.
Android 10 n'est compatible avec la fonctionnalité Wi-Fi Easy Connect que en mode initiateur (le mode répondeur n'est pas pris en charge). Les modes de fonctionnement suivants sont compatibles:
- Initiator-Configurator:envoie des identifiants réseau à un nouvel appareil en scannant son code QR.
- Initiator-Enrollee:permet de rejoindre un réseau en scannant son code QR.
Android 10 est compatible avec le protocole de clé pré-partagée (PSK) pour WPA2 et le protocole d'authentification simultanée des égaux (SAE) pour WPA3.
Wi-Fi Easy Connect n'est compatible qu'en mode client (le mode SoftAP n'est pas compatible).
Implémentation
Pour prendre en charge Wi-Fi Easy Connect, implémentez l'interface supplicant fournie dans le projet Android Open Source (AOSP). Selon l'interface implémentée, cela se trouve à:
hardware/interfaces/wifi/supplicant/1.2/
ou version ultérieure pour HIDLhardware/interfaces/wifi/supplicant/aidl/
pour AIDL
Les éléments suivants sont requis pour accepter le DPP:
Correctifs du noyau Linux pour prendre en charge le DPP:
- cfg80211
- NL80211
wpa_supplicant
avec prise en charge du protocole DPPPilote Wi-Fi compatible avec le DPP
Micrologiciel Wi-Fi compatible avec le DPP
Les API publiques sont disponibles dans Android 10 pour les applications:
WifiManager#isEasyConnectSupported
: interroge le framework pour déterminer si l'appareil est compatible avec la connexion Wi-Fi facile.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: permet aux applications d'intégrer Wi-Fi Easy Connect à leur processus d'intégration/de configuration.
Activer Wi-Fi Easy Connect
Pour activer Wi-Fi Easy Connect dans le framework Android, incluez l'option de compilation CONFIG_DPP
dans le fichier de configuration wpa_supplicant
, android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Validation
Pour tester votre implémentation, exécutez les tests suivants.
Tests unitaires
Exécutez DppManagerTest
pour vérifier le comportement des indicateurs de capacité pour DPP.
atest DppManagerTest
Tests VTS
Si l'interface HIDL est implémentée, exécutez VtsHalWifiSupplicantV1_2TargetTest
pour tester le comportement du HAL du demandeur v1.2.
Si l'interface AIDL est implémentée, exécutez VtsHalWifiSupplicantStaIfaceTargetTest
pour tester le comportement du HAL du demandeur.