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

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

בדיקה

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

בדיקות יחידה

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

בדיקות Wi-Fi Manager:

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

    atest FrameworksWifiApiTests
    

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

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

    atest FrameworksWifiTests
    

Android Comms Test Suite

Android Comms Test Suite (ACTS) מבצעת בדיקות אוטומטיות של ערימות קישוריות, כגון Wi-Fi, Bluetooth ושירותי סלולר. כלי הבדיקה דורש adb ו-Python, וניתן למצוא אותו ב- tools/test/connectivity/acts .

בדיקות ה-ACTS עבור Wi-FI נמצאות ב- tools/test/connectivity/acts_tests/tests/google/wifi , עם תצורת בדיקה לדוגמה באותה ספרייה: example_config.json .

בדיקות CTS

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

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

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

יישום

ליישום עזר, עיין ביישום ברירת המחדל ב-HAL של הספק.

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

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

ניתן למצוא את מבחן האינטגרציה בכתובת /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

זריקות קושחה מאומתות נמשכות בספריית המצבות המתאימה ב-Flash עבור בנייה של userdebug. Dumpstate אוסף מהספרייה הזו בעת יצירת דוח באג.

בדיקה ידנית

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

  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. (לחלופין, אתה יכול ליצור מבנה עם שכבות-על חדשות, אך שימוש בפקודות adb מספק תפנית מהירה יותר לבדיקה.)

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

לדוגמה, הפקודה הבאה מגדירה פרמטרי סף חדשים (הערכים המשמשים בפקודה לדוגמה זו הם ברירות המחדל המוגדרות בבסיס הקוד של 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