Android 10, cihaz temel hazırlık protokolü (DPP) olarak da bilinen Wi-Fi Kolay Bağlantı protokolü için destek sunar. Wi-Fi Kolay Bağlantı, Wi-Fi Korumalı Kuruluma (WPS) alternatif olarak Wi-Fi Alliance (WFA) tarafından tanıtıldı. WPS, Android 9'da kullanımdan kaldırıldı.
Wi-Fi Kolay Bağlantı aşağıdakiler için basit ve güvenli bir yöntem sağlar:
- Yerleşik Wi-Fi cihazlarını (başsız cihazlar dahil) şifre girmeden bir ağa bağlayın.
- Şifre bilmeden veya girmeden Wi-Fi ağlarına katılın.
Önyükleme ve kimlik doğrulama, bir QR kodunun taranmasıyla (bir kamera kullanılarak) elde edilen veya örneğin BLE veya NFC kullanılarak bant dışında yapılandırılan bir URI kullanılarak yapılandırılır.
Wi-Fi Kolay Bağlantı, cihazlar arasında Wi-Fi kimlik bilgilerini göndermek için şifreli bir kanal kullanır ve genel eylem çerçeveleri kullanıldığı için 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). Bu çalışma modları desteklenir:
- Başlatıcı-Yapılandırıcı: Ağ kimlik bilgilerini, QR kodunu tarayarak yeni bir cihaza gönderin.
- Başlatıcı-Kayıtlı Kişi: 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ı eşittir kimlik doğrulaması (SAE) protokolünü destekler.
Wi-Fi Easy Connect yalnızca istemci modunda desteklenir (SoftAP modu desteklenmez).
Uygulama
Wi-Fi Kolay Bağlantıyı desteklemek için Android Açık Kaynak Projesi'nde (AOSP) sağlanan talep eden arayüzü uygulayın. Uygulanan arayüze bağlı olarak bu konum:
-
hardware/interfaces/wifi/supplicant/1.2/
veya HIDL için sonraki bir sürüm - AIDL için
hardware/interfaces/wifi/supplicant/aidl/
DPP'yi desteklemek için aşağıdakiler gereklidir:
DPP'yi desteklemek için Linux çekirdek yamaları:
- cfg80211
- nl80211
DPP desteği ile
wpa_supplicant
DPP desteğine sahip Wi-Fi sürücüsü
DPP desteğine sahip Wi-Fi ürün yazılımı
Genel API'ler Android 10'da uygulamalar tarafından kullanılabilir:
-
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 başlangıç/kurulum akışlarına entegre etmesine olanak tanır.
Wi-Fi Kolay Bağlantıyı Etkinleştirme
Android çerçevesinde Wi-Fi Kolay Bağlantıyı etkinleştirmek için, wpa_supplicant
yapılandırma dosyası 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'ye yönelik yetenek bayraklarının davranışını doğrulamak için DppManagerTest
çalıştırın.
atest DppManagerTest
Entegrasyon testi (ACTS)
Bir entegrasyon testi çalıştırmak için, tools/test/connectivity/acts_tests/tests/google/wifi
konumunda bulunan WifiDppTest.py
adlı Android Comms Test Suite (ACTS) dosyasını kullanın.
VTS testleri
HIDL arayüzü uygulandıysa, istekte bulunan HAL v1.2'nin davranışını test etmek için VtsHalWifiSupplicantV1_2TargetTest
çalıştırın.
AIDL arayüzü uygulandıysa, istekte bulunan HAL'in davranışını test etmek için VtsHalWifiSupplicantStaIfaceTargetTest
çalıştırın.