בדיקה, ניפוי באגים וכוונון Wi-Fi

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

בדיקה

כדי לבדוק את מסגרת ה-Wi-Fi, שירות AOSP מספק שילוב של בדיקות יחידה ובדיקות CTS.

בדיקות יחידה (unit testing)

AOSP כולל בדיקות פונקציונליות ובדיקות יחידה של מסגרת ה-Wi-Fi שמוגדרת כברירת מחדל: גם של מנהל ה-Wi-Fi (קוד בצד האפליקציה) וגם של שירות ה-Wi-Fi.

בדיקות של מנהל ה-Wi-Fi:

  • בעיר packages/modules/Wifi/framework/tests/
  • מריצים את קובץ ההפעלה של המעטפת הבא (כדי לקבל עוד אפשרויות הפעלה, כדאי לקרוא את הקובץ):

    atest FrameworksWifiApiTests
    

בדיקות של שירות Wi-Fi:

  • בעיר packages/modules/Wifi/service/tests/wifitests/
  • מריצים את קובץ ההפעלה של המעטפת הבא (כדי לקבל עוד אפשרויות הפעלה, כדאי לקרוא את הקובץ):

    atest FrameworksWifiTests
    

בדיקות CTS

חבילת בדיקת התאימות (CTS) כוללת בדיקות של מסגרת ה-Wi-Fi. המדינות האלה נמצאות ב-cts/tests/tests/net/src/android/net/wifi. בדיקות ה-CTS של Wi-Fi מחייבות לשייך את המכשיר שנמצא בבדיקה לנקודת גישה, בתחילת הרצת הבדיקה.

אפשרויות רישום ביומן משופרות לניפוי באגים

רישום Wi-Fi משופר ב-Android 9 מאפשר לנפות באגים בקלות ב-Wi-Fi. ב-Android 9 ואילך, מאגר הנתונים הזמני של מנהל ההתקן או הקושחה תמיד יכול לפעול. דוחות על באגים יכולים להיות מופעלים באופן אוטומטי כשהמערכת מזהה מצב לא טוב (רק ב-User-Debug וב-APIs). כשמשתמשים ב-Wi-Fi HAL (AIDL או HIDL בגרסה 1.2 ואילך), מאגרי ניפוי באגים בקושחה מאוחסנים ב-HAL במקום ב-framework כדי לחסוך עלויות IPC.

הטמעה

למידע נוסף על הטמעה של קובצי עזר, ראו הטמעת ברירת המחדל ב-Vendor HAL.

אפשר להשבית את רישום הקושחה ביומן על ידי הגדרת המשאב config_wifi_enable_wifi_firmware_debugging כ-False.

בדיקה ידנית

מריצים את הבדיקה הידנית כדי לוודא שהקבצים הישנים בספריית ה-tombstone נמחקים.

  1. מפעילים Wi-Fi.
  2. מתחברים לרשת.
  3. יוצרים דוח באגים.
  4. בודקים את קובץ ה-ZIP של דוח איתור הבאגים כדי לוודא שיומני הקושחה שהועברו לארכיון קיימים. היומנים נמצאים במיקומים הבאים:

    • AIDL HAL: הקטע dumpsys בקובץ הדוח על הבאג הראשי
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

כוונון של ההגדרות האישיות

כדי לשלוט בעוצמת האות שבה מכשיר משויך לרשת או מתנתק ממנה, מסגרת ה-Wi-Fi משתמשת בספי ה-RSSI והכניסה והיציאה.

ספי הרשומה והיציאה מאוחסנים כפרמטרים של תצורה נטענים עם השמות הבאים (כאשר הפרמטר bad מתייחס לסף ה-RSSI יציאה):

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

הפרמטרים מאוחסנים ב-<root>/frameworks/base/core/res/res/values/config.xml ויכול להיות שיש עומס יתר באמצעות קובץ שכבת-העל <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml.

אפשר לבדוק ערכי סף חדשים על ידי הגדרת המכשיר באמצעות פקודות adb. (לחלופין, אפשר ליצור build עם שכבות-על חדשות, אבל שימוש בפקודות adb מספק סיבוב בדיקה מהיר יותר.)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

לדוגמה, הפקודה הבאה מגדירה פרמטרים חדשים של סף (הערכים שנעשה בהם שימוש בפקודה לדוגמה הזו הם ברירות המחדל שהוגדרו ב-codebase של AOSP):

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

כדי לשחזר את ערכי הפרמטרים המובנים (כלומר, להסיר את השינויים) משתמשים בפקודת adb הבאה:

adb shell settings delete global wifi_score_params