Wi-Fi Aware

תכונת Wi-Fi Aware שנוספה ב-Android 8.0 מאפשרת למכשירים תומכים לגלות, להתחבר ולטווח (הנוסף ב-Android 9) זה לזה ישירות באמצעות פרוטוקול Wi-Fi Aware ללא גישה לאינטרנט או לרשת סלולרית. תכונה זו, הבנויה על מפרט Wi-Fi Alliance (WFA) Wi-Fi Aware (גרסאות 2.0, 3.0, 3.1 ו-4.0), מאפשרת שיתוף קל של נתונים בעלי תפוקה גבוהה בין מכשירים ואפליקציות מהימנות שבאופן אחר נמצאות מחוץ לרשת.

דוגמאות ומקור

כדי להשתמש בתכונה זו, יצרני מכשירים צריכים ליישם את HAL של ספק ה-Wi-Fi. באנדרואיד 14 ומעלה, ממשק הספק HAL מוגדר באמצעות AIDL. עבור אנדרואיד 13 ומטה, ממשק הספק HAL מוגדר באמצעות HIDL.

עקוב אחר ממשק ה-Wi-Fi כדי להשתמש בתכונת Wi-Fi Aware. תלוי באיזה ממשק מיושם, זה:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 ואילך

אתה יכול לעיין ב-HAL Wi-Fi מדור קודם כדי לראות כיצד הוא מתאם עם ממשקי AIDL ו-HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h .

יישום

יצרני התקנים צריכים לספק גם מסגרת וגם תמיכת HAL/קושחה:

  • מִסגֶרֶת:
    • קוד AOSP
    • הפעל Aware: דורש גם דגל תכונה וגם דגל בנייה
  • תמיכה ב-Wi-Fi Aware (NAN) HAL (המרמזת על תמיכה בקושחה)

כדי ליישם תכונה זו, יצרני המכשירים מיישמים את ממשק ה-Wi-Fi ומאפשרים שני דגלים של תכונה:

  • ב- BoardConfig.mk או BoardConfig-common.mk הממוקם device/<oem>/<device> , הוסף את הדגל הבא:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • ב- device.mk שנמצא device/<oem>/<device> , שנה את משתנה הסביבה PRODUCT_COPY_FILES כך שיכלול תמיכה בתכונת Wi-Fi Aware:

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

Wi-Fi Aware כולל התקני טווח לעמית באמצעות פרוטוקול IEEE 802.11mc, הידוע גם כ-Round Trip Time (RTT). תכונת משנה זו של Wi-Fi Aware מותנית בכך שהמכשיר תומך בתכונת Wi-Fi RTT, כלומר, היא מחייבת את המכשיר לתמוך גם ב-Wi-Fi Aware וגם ב-Wi-Fi RTT. לפרטים נוספים, ראה Wi-Fi RTT .

אחרת, כל הנדרש עבור תכונה זו כלול ב-AOSP.

מתעלמים מדגל WIFI_HIDL_FEATURE_AWARE אם צוין דגל WIFI_HAL_INTERFACE_COMBINATIONS . למידע נוסף, ראה במקביליות Wi-Fi מרובה ממשקים .

רנדומיזציה של MAC

אנדרואיד דורשת שכתובת ה-MAC של גילוי ה-Wi-Fi Aware (NMI) וממשקי הנתונים (NDPs) יהיו אקראית ולא יהיו זהות לכתובת ה-MAC האמיתית של המכשיר. כתובות ה-MAC חייבות להיות:

  • מופעל באקראי בכל פעם ש-Wi-Fi Aware מופעל או מופעל מחדש.
  • כאשר Wi-Fi Aware מופעל, כתובת ה-MAC חייבת להיות אקראית במרווח קבוע המוגדר על ידי הפרמטר NanConfigRequest.macAddressRandomizationIntervalSec . זה מוגדר על ידי המסגרת כברירת מחדל ל-30 דקות.

השעיה והמשך

ב-Android 14 ומעלה, Wi-Fi Aware תומך ביכולת של אפליקציות מורשות להשעות ולחדש הפעלות גילוי פעילות (כולל כל נתיבי הנתונים המשויכים לאותן הפעלות). תמיכה ביכולת זו מאפשרת למכשירים לחדש הפעלות גילוי מהר יותר ולהשתמש בפחות חשמל מכיוון שניתן להשעות את הפעלות הגילוי.

אם מכשיר תומך ביכולת ההשעיה והחידוש הזו, הקושחה משעה את הפעלת ה-Wi-Fi Aware כאשר אפליקציה מוסמכת משעה את הפעלת הגילוי. כאשר הפעלת גילוי נמצאת במצב מושהה, המכשיר אינו משדר או מקבל מסגרות כלשהן עבור אותה הפעלה, כולל כל NDP פעיל באותו הפעלה. אם כל הפעלות הגילוי מושעות, המכשיר לא משדר או מקבל מסגרות של Wi-Fi Aware.

כאשר אפליקציה מוסמכת חוזרת להפעלת גילוי מושעה, המסגרת מחזירה את ההפעלה למצבה הקודם, כולל כל הפעלות NDP המשויכות. חידוש הפעלת גילוי מושעה מהיר יותר מאשר העלאת Wi-Fi Aware ויצירת הפעלת גילוי חדשה.

כדי לתמוך ביכולת להשעות ולחדש הפעלות גילוי, יצרני המכשירים חייבים לספק תמיכה ב-HAL ובקושחה. לפרטים, ראה IWifiNanIface.java .

יצרני התקנים יכולים להשתמש בתקשורת מחוץ לפס (לדוגמה, BLE) כדי לסנכרן השעיה וחידוש במכשירים מרובים.

מַתַן תוֹקֵף

אנדרואיד מספקת קבוצה של בדיקות יחידה, מבחני אינטגרציה (ACTS), מבחני חבילת תאימות (CTS) ובדיקות CTS Verifier כדי לאמת את התכונה Wi-Fi Aware. ניתן לבדוק את Wi-Fi Aware גם באמצעות ה- Vendor Test Suite (VTS) .

בדיקות יחידה

בדיקות חבילת Wi-Fi Aware מבוצעות באמצעות:

מבחני שירות:

atest com.android.server.wifi.aware

מבחני מנהל:

atest android.net.wifi.aware

מבחני אינטגרציה (ACTS)

חבילת הבדיקות acts/sl4a , המתוארת ב- tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md , מספקת מבחני פונקציונליות, ביצועים ומבחנים.

בדיקות חבילת בדיקת תאימות (CTS).

השתמש בבדיקות CTS כדי לאמת את התכונה Wi-Fi Aware. CTS מזהה מתי התכונה מופעלת וכוללת אוטומטית את הבדיקות המשויכות.

ניתן להפעיל את מבחני ה-CTS באמצעות:

atest SingleDeviceTest

בדיקות CTS Verifier

בדיקות CTS Verifier מאמתות התנהגות Wi-Fi Aware באמצעות שני מכשירים: מכשיר בדיקה ומכשיר ידוע כטוב . כדי להפעיל את הבדיקות, פתח את CTS Verifier ונווט אל הקטע שכותרתו Wi-Fi Aware Tests.