Android 10 ra mắt tính năng hỗ trợ Wi-Fi Easy Giao thức kết nối, còn gọi là giao thức cấp phép thiết bị (DPP). Kết nối dễ dàng Wi-Fi được Liên minh Wi-Fi (WFA) giới thiệu như một giải pháp thay thế cho Thiết lập được bảo vệ bằng Wi-Fi (WPS). WPS không được dùng nữa trong Android 9.
Wi-Fi Easy Connect cung cấp một phương thức đơn giản và an toàn để:
- Kết nối thiết bị Wi-Fi (bao gồm cả thiết bị không có giao diện người dùng) vào mạng mà không cần nhập mật khẩu.
- Tham gia mạng Wi-Fi mà không biết hoặc nhập mật khẩu.
Phương pháp tự khởi động và xác thực được định cấu hình bằng URI được thu nhận bằng cách quét mã QR (bằng máy ảnh) hoặc được định cấu hình ngoài băng tần, ví dụ: sử dụng BLE hoặc NFC.
Wi-Fi Easy Connect sử dụng một kênh mã hoá để gửi thông tin xác thực Wi-Fi giữa thiết bị và vì khung hành động công khai được sử dụng nên các thiết bị có thể sử dụng điểm truy cập.
Android 10 chỉ hỗ trợ Wi-Fi Easy Connect trong chế độ khởi tạo (chế độ trả lời là không được hỗ trợ). Các chế độ hoạt động sau được hỗ trợ:
- Trình khởi tạo-Cấu hình: Gửi thông tin xác thực mạng đến thiết bị mới bằng cách quét mã QR của thiết bị đó.
- Người khởi tạo – Người đăng ký: Tham gia một mạng bằng cách quét mã QR của mạng đó.
Android 10 hỗ trợ giao thức khoá được chia sẻ trước (PSK) cho WPA2 và xác thực đồng thời giao thức bằng (SAE) cho WPA3.
Wi-Fi Easy Connect chỉ được hỗ trợ ở chế độ máy khách (chế độ SoftAP không được hỗ trợ được hỗ trợ).
Triển khai
Để hỗ trợ Kết nối dễ dàng Wi-Fi, hãy triển khai giao diện của bên cung cấp được cung cấp trong Dự án nguồn mở Android (AOSP). Tuỳ thuộc vào giao diện đã được triển khai, thời gian này là:
hardware/interfaces/wifi/supplicant/1.2/
hoặc một phiên bản mới hơn cho HIDLhardware/interfaces/wifi/supplicant/aidl/
cho AIDL
Để hỗ trợ DPP, hãy làm theo các yêu cầu sau:
Các bản vá hạt nhân Linux hỗ trợ DPP:
- gt80211
- nl80211
wpa_supplicant
có hỗ trợ DPPTrình điều khiển Wi-Fi có hỗ trợ DPP
Chương trình cơ sở Wi-Fi có hỗ trợ DPP
Các API công khai có trong Android 10 để bạn sử dụng ứng dụng:
WifiManager#isEasyConnectSupported
: Truy vấn khung này để xác định xem thiết bị có hỗ trợ Wi-Fi Easy hay không Kết nối.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Cho phép các ứng dụng tích hợp Wi-Fi Easy Connect vào quy trình giới thiệu/thiết lập của mình.
Bật Wi-Fi Easy Connect
Để bật Wi-Fi Easy Connect trong khung Android, hãy bao gồm
Tổng hợp CONFIG_DPP
trong tệp cấu hình wpa_supplicant
,
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Xác nhận kết quả
Để kiểm thử kết quả triển khai, hãy chạy các kiểm thử sau.
Kiểm thử đơn vị
Chạy
DppManagerTest
để xác minh hành vi của cờ chức năng cho DPP.
atest DppManagerTest
Xét nghiệm VTS
Nếu giao diện HIDL được triển khai, hãy chạy
VtsHalWifiSupplicantV1_2TargetTest
để kiểm tra hành vi của HAL v1.2 của nhà cung cấp.
Nếu giao diện AIDL được triển khai, hãy chạy
VtsHalWifiSupplicantStaIfaceTargetTest
để kiểm tra hành vi của HAL của nhà cung cấp.