ב-Android 9 נוספה האפשרות למכשירים לפעול במצב STA ובמצב AP בו-זמנית. במכשירים שתומכים ב-Dual Band Simultaneous (DBS), התכונה הזו מאפשרת יכולות חדשות, כמו להפעיל נקודה לשיתוף אינטרנט (Hotspot) בלי להפריע ל-Wi-Fi של STA (softAP).
דוגמאות ומקור
בו-זמניות של Wi-Fi STA/AP נתמכת בקוד ברירת המחדל ל-Android של AOSP. היא נתמכת גם בהטמעה של HAL שמתוארת במאמר בנושא Wi-Fi HAL. הדגל WIFI_HIDL_FEATURE_DUAL_INTERFACE של משך הזמן של תהליך ה-build שמתואר בהטמעה מפעיל בו-זמניות (concurrency) של הממשק, שמציינת תמיכה מקבילית ב-STA וב-AP.
הטמעה
כדי להטמיע במכשיר בו-זמניות של Wi-Fi STA/AP, מבצעים את הפעולות הבאות:
- מפעילים דגל של משך הזמן של תהליך ה-build כדי להפעיל תמיכה בשני ממשקים ב-HAL.
הדגל נמצא ב-
device/<oem>/<device>/BoardConfig-common.mk.WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
- חשיפה של שני ממשקי רשת:
wlan0wlan1
המערכת מתעלמת מהדגל WIFI_HIDL_FEATURE_DUAL_INTERFACE אם מציינים את הדגל WIFI_HAL_INTERFACE_COMBINATIONS. מידע נוסף מופיע במאמר בנושא בו זמניות של ממשקי Wi-Fi מרובים.
וידוא
כדי לוודא שהתכונה פועלת כמו שצריך, מריצים בדיקה ידנית.
כדי לוודא את תקינות התכונה הזו באופן ידני, מפעילים ומכבים את ממשקי ה-STA וה-AP בנפרד מממשק המשתמש.
אם גם ה-AP וגם ה-STA נמצאים באותה רשת משנה, יכולות להתרחש בעיות ניתוב במכשיר הנבדק (DUT). כדי להימנע מהתנגשויות, כדאי להעביר את ה-AP לרשת משנה אחרת.
יש ספקים של שבבי Wi-Fi ששמים את הרדיו על מצב שיתוף זמן אם STA ו-AP נמצאים באותו תדר אבל בערוצים שונים. התוצאה היא ירידה חדה בביצועים. כדי לפתור את הבעיה הזו, השבב יכול להשתמש ב-Channel Switch Avoidance (CSA) כדי:
- להעביר את ה-AP לאותו ערוץ כמו ה-STA.
- מעבירים את ה-AP לתדר אחר מה-STA.