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

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

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

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

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

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

  1. หยุดรันไทม์ของ Android โดยทำดังนี้
    adb shell stop
  2. จากไดเรกทอรีทดสอบ ให้เรียกใช้ไฟล์ปฏิบัติการของ Shell และรวมตัวเลือกต่างๆ หากต้องการเรียกใช้ชุดทดสอบหรือชุดทดสอบที่เฉพาะเจาะจง ดังนี้
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. เมื่อการทดสอบเสร็จสิ้น ให้เปิดใช้งานรันไทม์ของ Android อีกครั้งดังนี้
    adb shell start

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

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

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

การทดสอบ CTS

ความเข้ากันได้ Test Suite (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 บันทึกเหล่านี้จะบันทึกแพ็กเก็ตอินเทอร์เฟซโฮสต์ตัวควบคุม (HCI) สำหรับอุปกรณ์ Android ส่วนใหญ่ ระบบจะจัดเก็บบันทึกไว้ใน data/misc/bluetooth/logs

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

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