אימות וניפוי באגים

כדי לאמת ולפתור באגים ב-Bluetooth stack, משתמשים בכלים שסופקו ב-AOSP ובבדיקות של קבוצת העניין המיוחדת של Bluetooth‏ (SIG).

בדיקה ואימות

כדי לבדוק את סטאק ה-Bluetooth, AOSP מספק שילוב של בדיקות יחידה, בדיקות CTS וכלים לחבילת הכלי לבדיקת פרופילי Bluetooth.

בדיקות יחידה ב-AOSP

AOSP כולל בדיקות פונקציונליות ובדיקות יחידה למקבץ ברירת המחדל של Bluetooth. הבדיקות האלה נמצאות ב- /packages/modules/Bluetooth/system/test/. כדי להריץ את הבדיקות של AOSP:

  1. מפסיקים את סביבת זמן הריצה של Android:
    adb shell stop
  2. מתוך ספריית הבדיקות, מריצים את קובץ ההפעלה של המעטפת וכוללים אפשרויות אם רוצים להריץ בדיקה ספציפית או חבילת בדיקות:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. בסיום הבדיקות, מפעילים מחדש את סביבת זמן הריצה של Android:
    adb shell start

רשימת שמות הבדיקות מופיעה בקובץ /packages/modules/Bluetooth/system/test/README.md.

Profile Tuning Suite

Bluetooth SIG מספקת את Bluetooth Profile Tuning Suite‏ (PTS), כלי בדיקה ליכולת הפעולה ההדדית של פרוטוקולים ופרופילים. מידע נוסף זמין באתר Bluetooth Profile Tuning Suite.

בדיקות CTS

חבילה לבדיקות תאימות (CTS) כוללת בדיקות למחסנית Bluetooth. הם נמצאים ב- cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth.

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

ב-AOSP יש שיטות שונות לניפוי באגים ב-Bluetooth stack של המכשיר, כולל יומנים ודוחות על באגים. יכול להיות שהשיטות האלה לא יפעלו במקרים של בעיות שלא ניתן לשחזר או בעיות אודיו, שיכולות להיות מושפעות מכמה חלקים בפלטפורמה ובמכשיר.

ניפוי באגים באמצעות דוחות על באגים

כדי לבדוק את סטטוס שירות ה-Bluetooth באמצעות dumpsys, משתמשים בפקודה הבאה:

adb shell dumpsys bluetooth_manager

כברירת מחדל, כל הודעות היומן הן ברמת המעקב 2. למידע נוסף על רמות הרישום ביומן ועל שינוי רמות הרישום ביומן של פרופילים שונים, אפשר לעיין במאמר system/bt/conf/bt_stack.conf.

כדי לחלץ יומני ניטור מהדוח על הבאג, משתמשים בסקריפט btsnooz.

  1. מקבלים את btsnooz.py.
  2. חילוץ גרסת הטקסט של דוח הבאג.
  3. מריצים את btsnooz.py בגרסה הטקסטואלית של דוח הבאג:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

ניפוי באגים באמצעות יומנים

ב-Android 4.4 ואילך, אפשר לאסוף באופן ידני יומני BTSnoop, שדומים לפורמט ה-snoop ב-RFC 1761. היומנים האלה מתעדים את החבילות של ממשק הבקרה של המארח (HCI). ברוב מכשירי Android, היומנים נשמרים ב-data/misc/bluetooth/logs.

מטעמי פרטיות, ב-BTSnoop 'תמיד פועל' 'בזיכרון' מתועדים רק אירועים ומידע לא אישיים. כדי שרישום הנתונים יהיה מלא, המשתמשים צריכים להפעיל את ה-Bluetooth HCI Snoop באופן הבא:

  1. מפעילים את אפשרויות למפתחים במכשיר.
  2. בתפריט Developer options, מפעילים את המתג Enable Bluetooth HCI snoop log.
  3. כדי שהרישום ביומן ייכנס לתוקף, צריך להפעיל מחדש את ה-Bluetooth.