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

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

בדיקה ואימות

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

בדיקות יחידה ב-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.