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

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

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

AOSP มีชุดการทดสอบหน่วย การทดสอบ CTS และเครื่องมือสำหรับชุดการปรับแต่งโปรไฟล์บลูทูธเพื่อทดสอบสแต็กบลูทูธ

การทดสอบ 1 หน่วยใน 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 อีกครั้งโดยทำดังนี้
    adb shell start

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

ชุดการปรับแต่งโปรไฟล์

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

การทดสอบ 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. รีสตาร์ทบลูทูธเพื่อให้การบันทึกมีผล