ภาพรวม

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

  • โครงสร้างพื้นฐาน Wi-Fi (STA)
  • ฮอตสปอต Wi-Fi (Soft AP) ในโหมดเชื่อมต่ออินเทอร์เน็ตหรือเฉพาะในพื้นที่เท่านั้น
  • Wi-Fi ตรง (p2p)
  • การรับรู้ Wi-Fi (NAN)
  • ไวไฟ RTT (IEEE 802.11mc FTM)

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

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

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

กรอบการใช้งาน

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

บริการอินเตอร์เน็ตไร้สาย

บริการ 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
  • บริการ Wi-Fi RTT: จัดการฟังก์ชันการทำงานของ IEEE 802.11mc FTM

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

Wi-Fi HAL

เฟรมเวิร์ก Wi-Fi มี Wi-Fi HAL สามพื้นผิวที่แสดงโดยอินเทอร์เฟซที่แตกต่างกันสามแบบ: HAL ของผู้จำหน่าย, HAL ซัพพลายเออร์ และ Hostapd HAL

สำหรับรายละเอียดเกี่ยวกับการใช้งาน HAL ต่างๆ โปรดดู Wi-Fi HAL