סקירה כללית

‫Android מספקת הטמעה של מסגרת Android כברירת מחדל, שכוללת תמיכה בפרוטוקולים ובמצבים שונים של Wi-Fi, כולל:

  • תשתית Wi-Fi ‏ (STA)
  • נקודת Wi-Fi לשיתוף אינטרנט (Soft AP) במצב שיתוף אינטרנט או במצב מקומי בלבד
  • ‫Wi-Fi ישיר (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 דרך מנגנון ה-IPC של Binder.

שירותי 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.
  • שירות Wi-Fi RTT: מנהל את הפונקציונליות של IEEE 802.11mc FTM.

מסגרת ה-Wi-Fi כוללת גם תהליך עצמאי, wificond, שנמצא בכתובת system/connectivity/wificond. התהליך wificond מתקשר עם מנהל ההתקן של ה-Wi-Fi באמצעות פקודות nl80211 רגילות.

שכבות HAL של Wi-Fi

למסגרת ה-Wi-Fi יש שלוש פלטפורמות Wi-Fi HAL שמיוצגות על ידי שלושה ממשקים שונים: Vendor HAL,‏ Supplicant HAL ו-Hostapd HAL.

פרטים על הטמעות של ממשקי HAL שונים זמינים במאמר בנושא Wi-Fi HAL.