ยืนยันและแก้ไขข้อบกพร่อง

หากต้องการยืนยันและแก้ไขข้อบกพร่องของสแต็กบลูทูธ ให้ใช้เครื่องมือที่ให้ไว้ใน AOSP และทดสอบของ Bluetooth Special Interest Group (SIG)

ทดสอบและยืนยัน

AOSP มีการทดสอบหน่วย การทดสอบ CTS และเครื่องมือสำหรับ Bluetooth Profile Tuning Suite (PTS) เพื่อทดสอบสแต็กบลูทูธ

การทดสอบหน่วยใน AOSP

AOSP มีการทดสอบฟังก์ชันและการทดสอบหน่วยสำหรับสแต็กบลูทูธเริ่มต้น การทดสอบเหล่านี้อยู่ใน /packages/modules/Bluetooth/system/test/ หากต้องการเรียกใช้การทดสอบ AOSP ให้ทำดังนี้

  1. หยุดรันไทม์ของ Android

    adb shell stop
  2. จากไดเรกทอรีการทดสอบ ให้เรียกใช้ไฟล์ที่เรียกใช้งานได้ของเชลล์และรวม ตัวเลือกหากต้องการเรียกใช้การทดสอบหรือชุดการทดสอบที่เฉพาะเจาะจง

    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. เมื่อการทดสอบเสร็จสิ้น ให้เปิดใช้ Android Runtime อีกครั้งโดยทำดังนี้

    adb shell start

ดูรายการชื่อการทดสอบได้ที่ /packages/modules/Bluetooth/system/test/README.md

ชุดเครื่องมือปรับแต่งโปรไฟล์

Bluetooth SIG มี Bluetooth PTS ซึ่งเป็น เครื่องมือทดสอบการทำงานร่วมกันของโปรโตคอลและโปรไฟล์ ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ Bluetooth Profile Tuning Suite

การทดสอบ CTS

ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) มี การทดสอบสำหรับสแต็กบลูทูธ ซึ่งอยู่ใน cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth

ตัวเลือกการแก้ไขข้อบกพร่อง

AOSP มีวิธีการต่างๆ ในการแก้ไขข้อบกพร่องของสแต็กบลูทูธของอุปกรณ์ ซึ่งรวมถึงบันทึกและรายงานข้อบกพร่อง วิธีการเหล่านี้อาจใช้ไม่ได้กับปัญหาที่ ทำซ้ำไม่ได้หรือปัญหาเกี่ยวกับเสียง ซึ่งอาจได้รับผลกระทบจากหลายส่วน ของแพลตฟอร์มและอุปกรณ์

การแก้ไขข้อบกพร่องด้วยรายงานข้อบกพร่อง

หากต้องการตรวจสอบสถานะบริการบลูทูธโดยใช้ 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 บันทึกเหล่านี้จะบันทึกแพ็กเก็ตของ Host Controller Interface (HCI) สำหรับอุปกรณ์ Android ส่วนใหญ่ ระบบจะ จัดเก็บบันทึกไว้ใน data/misc/bluetooth/logs

BTSnoop ที่ "ในหน่วยความจำ" ซึ่งเปิดอยู่ตลอดเวลาจะบันทึกเฉพาะข้อมูลและเหตุการณ์ที่ไม่ใช่ข้อมูลส่วนตัวด้วยเหตุผลด้านความเป็นส่วนตัว หากต้องการบันทึกข้อมูลทั้งหมด ผู้ใช้ต้องเปิดใช้ การสอดแนม HCI ของบลูทูธโดยทำดังนี้

  1. เปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ในอุปกรณ์

  2. ในเมนูตัวเลือกสำหรับนักพัฒนาแอป ให้เปิดใช้ปุ่มเปิด/ปิดเปิดใช้บันทึก HCI Snoop ของบลูทูธ

  3. รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล