Android 10'da, cihaz temel hazırlık protokolü (DPP) olarak da bilinen Wi-Fi Easy Connect protokolü için destek sunulmaktadır. Wi-Fi Easy Connect, Wi-Fi Korumalı Kurulum'a (WPS) alternatif olarak Wi-Fi Alliance (WFA) tarafından kullanıma sunulmuştur. WPS, Android 9'da kullanımdan kaldırıldı.
Wi-Fi Easy Connect, aşağıdakileri yapmak için basit ve güvenli bir yöntem sağlar:
- Kablosuz cihazları (gözetimsiz cihazlar dahil) şifre girmeden ağa bağlayın.
- Şifre bilmeden veya girmeden kablosuz ağlara katılın.
Önyükleme ve kimlik doğrulama, bir QR kodunun taranarak (kamera kullanılarak) elde edilen veya bant dışında (örneğin, BLE ya da NFC kullanılarak) yapılandırılmış bir URI kullanılarak yapılandırılır.
Wi-Fi Easy Connect, cihazlar arasında kablosuz kimlik bilgileri göndermek için şifrelenmiş bir kanal kullanır. Herkese açık işlem çerçeveleri kullanıldığından cihazlar, mevcut erişim noktalarını kullanabilir.
Android 10, Wi-Fi Easy Connect'i yalnızca başlatıcı modunda destekler (yanıtlayıcı modu desteklenmez). Şu çalışma modları desteklenir:
- Initiator-Configurator: Ağ kimlik bilgilerini yeni bir cihazın QR kodunu tarayarak cihaza gönderin.
- Başlatıcı-Kaydolan: Ağ QR kodunu tarayarak bir ağa katılın.
Android 10, WPA2 için önceden paylaşılan anahtar (PSK) protokolünü ve WPA3 için eş zamanlı kimlik doğrulama (SAE) protokolünü destekler.
Wi-Fi Easy Connect yalnızca istemci modunda desteklenir (SoftAP modu desteklenmez).
Uygulama
Wi-Fi Easy Connect'i desteklemek için Android Açık Kaynak Projesi'nde (AOSP) sağlanan tedarikçi arayüzünü uygulayın. Uygulanan arayüze bağlı olarak, bu bölüm:
hardware/interfaces/wifi/supplicant/1.2/
veya HIDL için daha yeni bir sürüm- AIDL için
hardware/interfaces/wifi/supplicant/aidl/
DPP'yi desteklemek için aşağıdakiler gereklidir:
DPP'yi destekleyen Linux çekirdek yamaları:
- cfg80211
- nl80211
wpa_supplicant
DPP desteğiyleDPP destekli kablosuz sürücüsü
DPP destekli kablosuz donanım yazılımı
Herkese açık API'ler, Android 10'da uygulamalar tarafından kullanılmak üzere mevcuttur:
WifiManager#isEasyConnectSupported
: Cihazın Wi-Fi Easy Connect'i destekleyip desteklemediğini belirlemek için çerçeveyi sorgular.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Uygulamaların, Wi-Fi Easy Connect'i ilk katılım/kurulum akışlarına entegre etmesine olanak tanır.
Wi-Fi Easy Connect'i etkinleştir
Android çerçevesinde Wi-Fi Easy Connect'i etkinleştirmek için wpa_supplicant
yapılandırma dosyasına android.config
CONFIG_DPP
derleme seçeneğini ekleyin:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Doğrulama
Uygulamanızı test etmek için aşağıdaki testleri çalıştırın.
Birim testleri
DPP'deki özellik işaretlerinin davranışını doğrulamak için DppManagerTest
komutunu çalıştırın.
atest DppManagerTest
VTS testleri
HIDL arayüzü uygulanmışsa tedarikçi HAL v1.2'nin davranışını test etmek için VtsHalWifiSupplicantV1_2TargetTest
komutunu çalıştırın.
AIDL arayüzü uygulanmışsa tedarikçi HAL'sinin davranışını test etmek için VtsHalWifiSupplicantStaIfaceTargetTest
komutunu çalıştırın.