Android 10 giới thiệu hỗ trợ cho giao thức Wi-Fi Easy Connect, còn được gọi là giao thức cung cấp thiết bị (DPP). Wi-Fi Easy Connect được Liên minh Wi-Fi (WFA) giới thiệu như một giải pháp thay thế cho Wi-Fi Protected Setup (WPS). WPS không được dùng nữa trong Android 9.
Wi-Fi Easy Connect cung cấp một phương pháp đơn giản và an toàn để:
- Các thiết bị Wi-Fi tích hợp (bao gồm cả thiết bị không đầu) vào mạng mà không cần nhập mật khẩu.
- Tham gia mạng Wi-Fi mà không cần biết hoặc nhập mật khẩu.
Khởi động và xác thực được định cấu hình bằng URI, có được bằng cách quét mã QR (sử dụng máy ảnh) hoặc được định cấu hình ngoài băng tần, chẳng hạn như sử dụng BLE hoặc NFC.
Wi-Fi Easy Connect sử dụng kênh được mã hóa để gửi thông tin xác thực Wi-Fi giữa các thiết bị và do khung hành động công cộng được sử dụng nên thiết bị có thể sử dụng các điểm truy cập hiện có.
Android 10 chỉ hỗ trợ Wi-Fi Easy Connect ở chế độ khởi tạo (chế độ phản hồi không được hỗ trợ). Các chế độ hoạt động này được hỗ trợ:
- Trình khởi tạo-Cấu hình: Gửi thông tin đăng nhập mạng tới thiết bị mới bằng cách quét mã QR của thiết bị đó.
- Người khởi xướng-Người đăng ký: Tham gia mạng bằng cách quét mã QR của mạng.
Android 10 hỗ trợ giao thức khóa chia sẻ trước (PSK) cho WPA2 và giao thức xác thực đồng thời 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ợ).
Thực hiện
Để hỗ trợ Wi-Fi Easy Connect, hãy triển khai giao diện thay thế được cung cấp trong Dự án mã nguồn mở Android (AOSP). Tùy thuộc vào giao diện đã được triển khai, đây là tại:
-
hardware/interfaces/wifi/supplicant/1.2/
hoặc phiên bản mới hơn cho HIDL -
hardware/interfaces/wifi/supplicant/aidl/
cho AIDL
Những điều sau đây là cần thiết để hỗ trợ DPP:
Các bản vá nhân Linux để hỗ trợ DPP:
- cfg80211
- nl80211
wpa_supplicant
có hỗ trợ DPPTrình điều khiển Wi-Fi có hỗ trợ DPP
Phần mềm Wi-Fi có hỗ trợ DPP
API công khai có sẵn trong Android 10 để các ứng dụng sử dụng:
-
WifiManager#isEasyConnectSupported
: Truy vấn khung để xác định xem thiết bị có hỗ trợ Wi-Fi Easy Connect hay không. -
Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Cho phép ứng dụng tích hợp Wi-Fi Easy Connect vào quy trình cài đặt/bắt đầu của chúng.
Bật Wi-Fi Kết nối dễ dàng
Để bật Wi-Fi Easy Connect trong khung Android, hãy bao gồm tùy chọn biên dịch CONFIG_DPP
trong tệp cấu hình wpa_supplicant
, android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Thẩm định
Để kiểm tra việc triển khai của bạn, hãy chạy các kiểm tra sau.
Kiểm tra đơn vị
Chạy DppManagerTest
để xác minh hành vi của cờ khả năng cho DPP.
atest DppManagerTest
Kiểm tra tích hợp (ACTS)
Để chạy thử nghiệm tích hợp, hãy sử dụng tệp Android Comms Test Suite (ACTS), WifiDppTest.py
, nằm trong tools/test/connectivity/acts_tests/tests/google/wifi
.
kiểm tra VTS
Nếu giao diện HIDL được triển khai, hãy chạy VtsHalWifiSupplicantV1_2TargetTest
để kiểm tra hoạt động của chất thay thế HAL v1.2.
Nếu giao diện AIDL được triển khai, hãy chạy VtsHalWifiSupplicantStaIfaceTargetTest
để kiểm tra hành vi của HAL thay thế.