ภาพรวม

Android มีการใช้งานเฟรมเวิร์ก Android เริ่มต้นที่รองรับโปรโตคอลและโหมด Wi-Fi ต่างๆ ซึ่งรวมถึง

  • โครงสร้างพื้นฐาน Wi-Fi (STA)
  • ฮอตสปอต Wi-Fi (Soft AP) ในโหมดที่เชื่อมต่ออินเทอร์เน็ตผ่านมือถือหรือโหมดในพื้นที่เท่านั้น
  • Wi-Fi Direct (P2P)
  • Wi-Fi Aware (NAN)
  • Wi-Fi RTT (IEEE 802.11mc FTM)

แอปพลิเคชันที่ใช้บริการ Wi-Fi จะสื่อสารกับบริการ Wi-Fi ต่างๆ โดยตรงผ่าน Binder บริการ Wi-Fi ทำงานในบริการของระบบและ สื่อสารกับ HAL ผ่านอินเทอร์เฟซ HIDL และ AIDL ที่ให้ไว้ แผนภาพนี้แสดงโครงสร้างทั่วไปของสแต็ก Wi-Fi ของ Android

สถาปัตยกรรม Wi-Fi

รูปที่ 1 สถาปัตยกรรม Wi-Fi ของ Android

เฟรมเวิร์กแอปพลิเคชัน

ที่ระดับเฟรมเวิร์กของแอปพลิเคชันคือโค้ดของแอปพลิเคชัน ซึ่งใช้ API ต่างๆ ของ android.net.wifi เพื่อโต้ตอบกับเฟรมเวิร์กและฮาร์ดแวร์ Wi-Fi ภายในแล้ว โค้ดนี้ จะเรียกกระบวนการ Wi-Fi ผ่านกลไก Binder IPC

บริการ Wi-Fi

บริการ Wi-Fi ทำงานในบริการของระบบและอยู่ใน packages/modules/Wifi/service/ บริการ Wi-Fi จะสื่อสารกับ Wi-Fi HAL ผ่าน AIDL

บริการ Wi-Fi มีหลายประเภท ดังนี้

  • บริการ Wi-Fi: กลไกหลักในการควบคุมโหมดโครงสร้างพื้นฐาน Wi-Fi (ทั้ง STA และ AP)
  • บริการ Wi-Fi P2P: จัดการโหมด Wi-Fi Direct
  • บริการ Wi-Fi Aware: จัดการโหมด Wi-Fi Aware
  • บริการ RTT ของ Wi-Fi: จัดการฟังก์ชัน FTM ของ IEEE 802.11mc

เฟรมเวิร์ก Wi-Fi ยังมีกระบวนการแบบสแตนด์อโลน wificond ซึ่งอยู่ที่ system/connectivity/wificond กระบวนการ wificond จะสื่อสารกับ ไดรเวอร์ Wi-Fi ผ่านคำสั่ง nl80211 มาตรฐาน

HAL ของ Wi-Fi

เฟรมเวิร์ก Wi-Fi มีจุดเข้าถึง HAL ของ Wi-Fi 3 รายการซึ่งแสดงโดยอินเทอร์เฟซ 3 รายการที่แตกต่างกัน ได้แก่ Vendor HAL, Supplicant HAL และ Hostapd HAL

ดูรายละเอียดเกี่ยวกับการติดตั้งใช้งาน HAL ต่างๆ ได้ที่ HAL ของ Wi-Fi