Nhận biết Wi-Fi

Tính năng Wi-Fi Aware được thêm vào trong Android 8.0 cho phép các thiết bị hỗ trợ khám phá, kết nối và phủ sóng (được thêm vào Android 9) với nhau trực tiếp bằng giao thức Wi-Fi Aware mà không cần truy cập mạng di động hoặc internet. Tính năng này, được xây dựng dựa trên thông số kỹ thuật của Wi-Fi Alliance (WFA) Wi-Fi Aware (phiên bản 2.0, 3.0 và 3.1), cho phép dễ dàng chia sẻ dữ liệu thông lượng cao giữa các thiết bị và ứng dụng đáng tin cậy ngoại tuyến.

Ví dụ và nguồn

Để sử dụng tính năng này, các nhà sản xuất thiết bị nên triển khai Ngôn ngữ thiết kế giao diện phần cứng Wi-Fi (HIDL) được cung cấp trong Dự án mã nguồn mở Android (AOSP). HIDL thay thế cấu trúc Lớp trừu tượng phần cứng (HAL) trước đó được sử dụng để hợp lý hóa việc triển khai bằng cách chỉ định các loại và lệnh gọi phương thức được thu thập vào các giao diện và gói.

Làm theo Wi-Fi HIDL để sử dụng tính năng Wi-Fi Aware: phần cứng/giao diện/wifi/1.2 trở lên. Bề mặt Wi-Fi Aware HAL rất lớn; tệp phần cứng/giao diện/wifi/1.2/README-NAN.md mô tả tập hợp con hiện đang được khung sử dụng.

Bạn có thể tham khảo Wi-Fi HAL kế thừa để xem nó tương quan như thế nào với giao diện HIDL mới: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h .

Thực hiện

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

  • Khung:
    • mã AOSP
    • Enable Aware: Yêu cầu cả cờ tính năng và cờ xây dựng HIDL
  • Hỗ trợ HAL Wi-Fi Aware (NAN) (có nghĩa là hỗ trợ phần sụn)

Để triển khai tính năng này, các nhà sản xuất thiết bị triển khai Wi-Fi HIDL và bật hai cờ tính năng:

  • Trong BoardConfig.mk hoặc BoardConfig-common.mk nằm trong device/<oem>/<device> , hãy thêm cờ sau:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • Trong device.mk nằm trong device/<oem>/<device> , sửa đổi biến môi trường PRODUCT_COPY_FILES để bao gồm hỗ trợ cho tính năng Wi-Fi Aware:

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

Wi-Fi Aware bao gồm các thiết bị ngang hàng sử dụng giao thức IEEE 802.11mc, còn được gọi là Round Trip Time (RTT). Tính năng phụ của Wi-Fi Aware này phụ thuộc vào thiết bị hỗ trợ tính năng Wi-Fi RTT, nghĩa là nó yêu cầu thiết bị hỗ trợ cả Wi-Fi Aware và Wi-Fi RTT. Để biết thêm chi tiết, xem Wi-Fi RTT .

Mặt khác, mọi thứ cần thiết cho tính năng này đều được bao gồm trong AOSP.

Cờ WIFI_HIDL_FEATURE_AWARE bị bỏ qua nếu cờ WIFI_HAL_INTERFACE_COMBINATIONS được chỉ định. Để biết thêm thông tin, hãy xem Đồng thời đa giao diện Wi-Fi .

ngẫu nhiên hóa MAC

Android yêu cầu địa chỉ MAC của khám phá Wi-Fi Aware (NMI) và giao diện dữ liệu (NDP) phải được chọn ngẫu nhiên và không giống với địa chỉ MAC thực của thiết bị. Địa chỉ MAC phải là:

  • Được ngẫu nhiên hóa bất cứ khi nào Wi-Fi Aware được bật hoặc bật lại.
  • Khi Wi-Fi Aware được bật, địa chỉ MAC phải được chọn ngẫu nhiên theo khoảng thời gian đều đặn được định cấu hình bởi tham số HIDL NanConfigRequest.macAddressRandomizationIntervalSec . Điều này được định cấu hình theo khung theo mặc định là 30 phút.

Thẩm định

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

bài kiểm tra đơn vị

Các thử nghiệm gói Wi-Fi Aware được thực hiện bằng cách sử dụng:

Kiểm tra dịch vụ:

atest com.android.server.wifi.aware

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

atest android.net.wifi.aware

Các bài kiểm tra tích hợp (ACTS)

Bộ thử nghiệm acts/sl4a , được mô tả trong tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md , cung cấp các bài kiểm tra chức năng, hiệu suất và mức độ căng thẳng.

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 Nhận biết Wi-Fi. CTS phát hiện khi tính năng này được bật và tự động bao gồm các kiểm tra liên quan.

Các bài kiểm tra CTS có thể được kích hoạt bằng cách sử dụng:

atest SingleDeviceTest

Kiểm tra của CTS Verifier

Các thử nghiệm của Trình xác minh CTS xác thực hành vi Nhận biết Wi-Fi 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 phần mềm nhận biết Wi-Fi.