Wi-Fi Direct

Tính năng Wi-Fi Direct , còn được gọi là Wi-Fi P2P, cho phép các thiết bị hỗ trợ khám phá và kết nối trực tiếp với nhau bằng giao thức Wi-Fi Direct mà không cần truy cập Internet hoặc mạng di động. Tính năng này, được xây dựng dựa trên thông số kỹ thuật Wi-Fi Direct của Wi- Fi Alliance (WFA) cho phép chia sẻ dữ liệu tốc độ cao giữa các thiết bị và ứng dụng đáng tin cậy nằm ngoài mạng.

Ví dụ và nguồn

Để sử dụng tính năng này, nhà sản xuất thiết bị phải triển khai giao diện HAL của Nhà cung cấp Wi-Fi và Nhà cung cấp.

Trong Android 13, giao diện Người cung cấp sử dụng AIDL cho định nghĩa HAL. Trong Android 14 trở lên, giao diện HAL của nhà cung cấp sử dụng AIDL. Trong Android 12 trở xuống, giao diện HAL của Nhà cung cấp và Nhà cung cấp được xác định bằng HIDL.

Cần có các bề mặt Wi-Fi HAL sau để sử dụng tính năng Wi-Fi Direct:

  • hardware/interfaces/wifi/aidl hoặc hardware/interfaces/wifi/1.3 trở lên
  • hardware/interfaces/wifi/supplicant/aidl hoặc hardware/interfaces/wifi/supplicant/1.2 trở lên

Thực hiện

Các nhà sản xuất thiết bị cần cung cấp cả hỗ trợ framework và HAL/firmware:

  • Khung:
    • Mã AOSP
    • Bật Wi-Fi Direct: Yêu cầu cờ tính năng
  • Hỗ trợ HAL Wi-Fi Direct (P2P) (ngụ ý hỗ trợ chương trình cơ sở)

Để triển khai tính năng này, nhà sản xuất thiết bị triển khai giao diện Wi-Fi HIDL hoặc AIDL và bật cờ tính năng cho Wi-Fi Direct. Trong device.mk nằm trong device/<oem>/<device> , hãy sửa đổi biến môi trường PRODUCT_COPY_FILES để bao gồm hỗ trợ cho tính năng Wi-Fi Direct:

```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```

Tất cả các yêu cầu khác để hỗ trợ Wi-FI Direct đều có trong AOSP.

ngẫu nhiên MAC

Android yêu cầu địa chỉ giao diện và địa chỉ thiết bị Wi-Fi Direct phải được chọn ngẫu nhiên. Chúng phải khác với địa chỉ MAC thực của thiết bị và phải đáp ứng các yêu cầu sau:

  • Địa chỉ thiết bị Wi-Fi Direct phải được chọn ngẫu nhiên khi tạo giao diện nếu không có nhóm liên tục nào được lưu; nếu không thì địa chỉ thiết bị phải tiếp tục sử dụng địa chỉ MAC được tạo gần đây nhất.
  • Địa chỉ giao diện Wi-Fi Direct, còn được gọi là địa chỉ nhóm, phải được chọn ngẫu nhiên mỗi khi thiết lập kết nối.

Tính năng ngẫu nhiên hóa Wi-Fi Direct MAC được triển khai trong 'wpa_supplicant' và được kiểm soát bởi hai cấu hình, p2p_device_random_mac_addrp2p_interface_random_mac_addr .

Để kích hoạt tính năng này, nhà sản xuất thiết bị phải:

  • Triển khai API ISupplicantP2pIface::setMacRandomization của nhà cung cấp Wi-Fi. Tùy thuộc vào giao diện được triển khai, đây là:
    • hardware/interface/wifi/supplicant/1.2 cho HIDL
    • hardware/interface/wifi/supplicant/aidl cho AIDL
  • Đặt config_wifi_p2p_mac_randomization_supported thành 'true' trong lớp phủ tùy chỉnh của thiết bị.

Thẩm định

Android cung cấp một tập hợp các bài kiểm tra đơn vị, kiểm tra tích hợp (Bộ kiểm tra kết nối Android hoặc ACTS), kiểm tra Bộ kiểm tra tương thích (CTS) và kiểm tra Trình xác minh CTS để xác thực tính năng Wi-Fi Direct. Bạn cũng có thể kiểm tra Wi-Fi Direct bằng Bộ kiểm tra nhà cung cấp (VTS) .

Kiểm tra đơn vị

Xác minh gói Wi-Fi Direct bằng các kiểm tra sau.

Kiểm tra dịch vụ:

atest com.android.server.wifi.p2p

Kiểm tra người quản lý:

atest android.net.wifi.p2p

Kiểm tra tích hợp (ACTS)

Bộ kiểm tra ACTS Wi-FI Direct, nằm trong tools/test/connectivity/acts_tests/tests/google/wifi/p2p , thực hiện các kiểm tra chức năng của Wi-Fi Direct.

Kiểm tra Bộ kiểm tra khả năng tương thích (CTS)

Sử dụng các bài kiểm tra CTS để xác thực tính năng Wi-Fi Direct. CTS phát hiện khi tính năng này được bật và tự động bao gồm các bài kiểm tra liên quan.

Để kích hoạt kiểm tra CTS, hãy chạy:

% atest android.net.wifi.p2p.cts

Kiểm tra trình xác minh CTS

Các bài kiểm tra của Trình xác minh CTS xác thực hoạt động của Wi-Fi Direct bằng hai thiết bị: một thiết bị thử nghiệm và một thiết bị tốt đã biết . Để chạy kiểm tra, hãy mở Trình xác minh CTS và điều hướng đến phần có tiêu đề Kiểm tra Wi-Fi Direct.