Wi-Fi 轻松连接

Android 10 引入了对 Wi-Fi Easy Connect 协议(也称为设备配置协议 (DPP))的支持。Wi-Fi Easy Connect 由 Wi-Fi 联盟 (WFA) 推出,作为 Wi-Fi Protected Setup (WPS) 的替代方案。WPS 已在 Android 9 中弃用。

Wi-Fi Easy Connect 提供了一种简单且安全的方法来

  • 将 Wi-Fi 设备(包括无头设备)加入网络,而无需输入密码。
  • 加入 Wi-Fi 网络,而无需知道或输入密码。

引导和身份验证通过 URI 进行配置,URI 通过扫描二维码(使用相机)获取,或者通过带外方式配置,例如,使用 BLE 或 NFC。

Wi-Fi Easy Connect 使用加密通道在设备之间发送 Wi-Fi 凭据,并且由于使用了公共操作帧,设备可以使用现有的接入点。

Android 10 仅在发起者模式下支持 Wi-Fi Easy Connect(不支持响应者模式)。支持以下操作模式

  • 发起者-配置器: 通过扫描新设备的二维码,向其发送网络凭据。
  • 发起者-加入者: 通过扫描网络二维码加入网络。

Android 10 支持 WPA2 的预共享密钥 (PSK) 协议和 WPA3 的同步身份验证对等 (SAE) 协议。

Wi-Fi Easy Connect 仅在客户端模式下受支持(不支持 SoftAP 模式)。

实现

要支持 Wi-Fi Easy Connect,请实现 Android 开源项目 (AOSP) 中提供的请求者接口。根据已实现的接口,它位于

以下是支持 DPP 所需的条件

  • 支持 DPP 的 Linux 内核补丁

    • cfg80211
    • nl80211
  • wpa_supplicant(支持 DPP)

  • 支持 DPP 的 Wi-Fi 驱动程序

  • 支持 DPP 的 Wi-Fi 固件

公共 API 在 Android 10 中可用,供应用使用

启用 Wi-Fi Easy Connect

要在 Android 框架中启用 Wi-Fi Easy Connect,请在 wpa_supplicant 配置文件 android.config 中包含 CONFIG_DPP 编译选项

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

验证

要测试您的实现,请运行以下测试。

单元测试

运行 DppManagerTest 以验证 DPP 的功能标志的行为。

atest DppManagerTest

VTS 测试

如果实现了 HIDL 接口,请运行 VtsHalWifiSupplicantV1_2TargetTest 以测试请求者 HAL v1.2 的行为。

如果实现了 AIDL 接口,请运行 VtsHalWifiSupplicantStaIfaceTargetTest 以测试请求者 HAL 的行为。