Tổng quan

Android cung cấp một chế độ triển khai khung Android mặc định, bao gồm cả hỗ trợ cho nhiều giao thức và chế độ Wi-Fi, chẳng hạn như:

  • Cơ sở hạ tầng Wi-Fi (STA)
  • Điểm phát sóng Wi-Fi (Soft AP) ở chế độ chia sẻ kết nối hoặc chỉ cục bộ
  • Wi-Fi Direct (p2p)
  • Wi-Fi Aware (NAN)
  • RTT Wi-Fi (IEEE 802.11mc FTM)

Một ứng dụng sử dụng các dịch vụ Wi-Fi giao tiếp trực tiếp với nhiều dịch vụ Wi-Fi thông qua Binder. Các dịch vụ Wi-Fi chạy trong Dịch vụ hệ thống và giao tiếp với HAL thông qua các giao diện HIDL và AIDL được cung cấp. Sơ đồ này cho thấy cấu trúc chung của ngăn xếp Wi-Fi Android.

Cấu trúc Wi-Fi

Hình 1. Cấu trúc Wi-Fi của Android

Khung ứng dụng

Ở cấp độ khung ứng dụng là mã ứng dụng, sử dụng nhiều API android.net.wifi để tương tác với khung và phần cứng Wi-Fi. Trong nội bộ, mã này sẽ gọi quy trình Wi-Fi thông qua cơ chế Binder IPC.

Dịch vụ Wi-Fi

Các dịch vụ Wi-Fi chạy trong Dịch vụ hệ thống và nằm trong packages/modules/Wifi/service/. Dịch vụ Wi-Fi giao tiếp với HAL Wi-Fi qua AIDL.

Có nhiều dịch vụ Wi-Fi:

  • Dịch vụ Wi-Fi: Cơ chế chính để kiểm soát các chế độ cơ sở hạ tầng Wi-Fi (cả STA và AP).
  • Dịch vụ Wi-Fi P2P: Quản lý chế độ Wi-Fi Direct.
  • Dịch vụ Nhận biết Wi-Fi: Quản lý chế độ Nhận biết Wi-Fi.
  • Dịch vụ RTT qua Wi-Fi: Quản lý chức năng FTM theo tiêu chuẩn IEEE 802.11mc.

Khung Wi-Fi cũng bao gồm một quy trình độc lập, wificond, nằm tại system/connectivity/wificond. Quy trình wificond giao tiếp với trình điều khiển Wi-Fi thông qua các lệnh nl80211 tiêu chuẩn.

HAL Wi-Fi

Khung Wi-Fi có 3 nền tảng HAL Wi-Fi do 3 giao diện khác nhau đại diện: Vendor HAL, Supplicant HAL và Hostapd HAL.

Để biết thông tin chi tiết về cách triển khai các HAL, hãy xem HAL Wi-Fi.