Android 10 開始支援 Wi-Fi 簡易功能 連線通訊協定,也稱為裝置佈建通訊協定 (DPP)。 Wi-Fi 輕鬆連線 是由 Wi-Fi Alliance (WFA) 引進的 Wi-Fi 保護設定 (WPS)。WPS 已於 Android 9 淘汰。
Wi-Fi 輕鬆連線可讓您以簡單又安全的方式執行下列操作:
- 將 Wi-Fi 裝置 (包括無頭裝置) 加入網路 不必輸入密碼
- 不必輸入密碼或輸入密碼,就能加入 Wi-Fi 網路。
啟動與驗證是使用取得的 URI 來設定 掃描 QR code (使用攝影機) 或超出頻外連線 例如利用 BLE 或 NFC
Wi-Fi Easy Connect 會使用加密頻道,在 由於採用公開動作頁框,因此裝置能夠 存取點。
Android 10 僅支援 啟動者模式 (回應者模式為 不支援)。系統支援下列作業模式:
- Initiator-Configurator:將網路憑證傳送到新裝置 掃描 QR code 即可
- Initiator-enrollee:掃描網路 QR code 即可加入網路。
Android 10 支援預先共用金鑰 (PSK) 通訊協定 適用於 WPA2 以及 WPA3 的等於 (SAE) 通訊協定的同步驗證。
只有用戶端模式支援 Wi-Fi Easy Connect (SoftAP 模式無法 支援)。
實作
如要支援 Wi-Fi Easy Connect,請導入幕後介面 所提供的資訊。 視導入的介面而定,這部分可能為:
hardware/interfaces/wifi/supplicant/1.2/
敬上 或 HIDL 的更新版本hardware/interfaces/wifi/supplicant/aidl/
敬上 適用於 AIDL
DPP 須符合以下條件:
支援 DPP 的 Linux kernel 修補程式:
- cfg80211
- nl80211
wpa_supplicant
敬上 支援 DPP支援 DPP 的 Wi-Fi 驅動程式
支援 DPP 的 Wi-Fi 韌體
可在 Android 10 中使用公用 API 應用程式:
WifiManager#isEasyConnectSupported
: 查詢架構,判斷裝置是否支援 Wi-Fi Easy 連線。Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: 允許應用程式將 Wi-Fi Easy Connect 整合至新手上路/設定流程。
啟用 Wi-Fi 輕鬆連線
如要在 Android 架構中啟用 Wi-Fi Easy Connect,請納入
CONFIG_DPP
編譯
選取 wpa_supplicant
設定檔中的選項
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
驗證
如要測試實作成果,請執行下列測試。
單元測試
在
DppManagerTest
敬上
驗證 DPP 功能旗標的行為。
atest DppManagerTest
VTS 測試
如果已實作 HIDL 介面,請執行以下指令:
VtsHalWifiSupplicantV1_2TargetTest
敬上
來測試 SpAL v1.2 的行為
如果已導入 AIDL 介面,請執行
VtsHalWifiSupplicantStaIfaceTargetTest
敬上
來測試面板 HAL 的行為