בדף הזה נסביר איך לבדוק, לנפות באגים ולכוונן את הטמעת ה-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 מחייבות
מכשיר שנמצא בבדיקה וישויך לנקודת גישה (AP) בתחילת הבדיקה
לרוץ.
אפשרויות רישום ביומן משופרות לניפוי באגים
רישום Wi-Fi משופר ב-Android 9 מאפשר לך לנפות באגים בבעיות Wi-Fi. ב-Android מגרסה 9 ואילך, מאגר הנתונים הזמני של מנהל התקן או הקושחה יכול תמיד לפעול. דוחות על באגים יכולים באופן אוטומטי מופעלות כשהמערכת מזהה מצב לא טוב (רק ב-userdebug וב-Instagrams). כשמשתמשים ב-Wi-Fi HAL (AIDL או HIDL בגרסה 1.2 ומעלה), מתבצעת קושחה מאגרי נתונים זמניים לניפוי באגים מאוחסנים ב-HAL במקום ב-framework כדי לחסוך בעלויות IPC.
הטמעה
לעיון בהטמעה של קובצי עזר, הטמעה כברירת מחדל בתקן HAL של הספק.
אפשר להשבית את רישום הקושחה ביומן על ידי הגדרת המשאב,
config_wifi_enable_wifi_firmware_debugging
, ל-false.
בדיקה ידנית
מריצים את הבדיקה הידנית כדי לאמת שקבצים ישנים מתבצעת מחיקה של ספריית האסימון.
- מפעילים Wi-Fi.
- מתחברים לרשת.
- יוצרים דוח באגים.
יש לבדוק את קובץ ה-ZIP של דוח איתור הבאגים ולוודא שיומני הקושחה שהועברו לארכיון קיימים. היומנים נמצאים במיקומים הבאים:
- AIDL HAL: הקטע
dumpsys
בקובץ הדוח על הבאג הראשי - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: הקטע
כוונון של ההגדרות האישיות
כדי לשלוט בעוצמת האות שבה המכשיר משויך או מנותקת מרשת, מסגרת ה-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>
לדוגמה, הפקודה הבאה מגדירה פרמטרים חדשים של סף (הפקודה הבאה הערכים שצוינו בפקודה לדוגמה הזו הם ברירות המחדל שהוגדרו ב-AOSP codebase):
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