Tổng quan

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

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

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

kiến trúc wifi

Hình 1. Kiến 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 các API android.net.wifi khác nhau để tương tác với phần cứng và khung Wi-Fi. Trong nội bộ, mã này 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à được đặt trong packages/modules/Wifi/service/ . Dịch vụ Wi-Fi giao tiếp với Wi-Fi HAL qua AIDL.

Có nhiều dịch vụ Wi-Fi khác nhau:

  • 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ụ Wi-Fi RTT: Quản lý chức năng IEEE 802.11mc FTM.

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

HAL Wi-Fi

Khung Wi-Fi có ba bề mặt Wi-Fi HAL được biểu thị bằng ba giao diện khác nhau: HAL của nhà cung cấp, HAL của nhà cung cấp và Hostapd HAL.

Để biết chi tiết về việc triển khai các HAL khác nhau, hãy xem Wi-Fi HAL .