ทดสอบ แก้ไขข้อบกพร่อง และปรับแต่ง Wi-Fi

หน้านี้อธิบายวิธีทดสอบ แก้ไขข้อบกพร่อง และปรับแต่งการใช้งาน Wi-Fi โดยใช้ เครื่องมือที่มีให้ใน AOSP

การทดสอบ

AOSP มีการทดสอบหน่วยและการทดสอบ CTS ผสมกันเพื่อทดสอบเฟรมเวิร์ก Wi-Fi

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

AOSP มีการทดสอบฟังก์ชันและการทดสอบหน่วยสำหรับเฟรมเวิร์ก Wi-Fi เริ่มต้น ทั้งสำหรับ Wi-Fi Manager (โค้ดฝั่งแอป) และบริการ Wi-Fi

การทดสอบตัวจัดการ Wi-Fi

  • อยู่ใน packages/modules/Wifi/framework/tests/
  • เรียกใช้โดยใช้ไฟล์ปฏิบัติการของเชลล์ต่อไปนี้ (อ่านไฟล์เพื่อดูตัวเลือกการดำเนินการเพิ่มเติม)

    atest FrameworksWifiApiTests

การทดสอบบริการ Wi-Fi

  • อยู่ใน packages/modules/Wifi/service/tests/wifitests/
  • เรียกใช้โดยใช้ไฟล์ปฏิบัติการของเชลล์ต่อไปนี้ (อ่านไฟล์เพื่อดูตัวเลือกการดำเนินการเพิ่มเติม)

    atest FrameworksWifiTests

การทดสอบ CTS

ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) มีการทดสอบสำหรับเฟรมเวิร์ก Wi-Fi ซึ่งอยู่ใน cts/tests/tests/net/src/android/net/wifi การทดสอบ CTS ของ Wi-Fi กำหนดให้ อุปกรณ์ภายใต้การทดสอบต้องเชื่อมโยงกับจุดเข้าถึงเมื่อเริ่มการทดสอบ

ตัวเลือกการบันทึกที่ได้รับการปรับปรุงสำหรับการแก้ไขข้อบกพร่อง

Android 9 ปรับปรุงการบันทึก Wi-Fi เพื่อให้แก้ไขข้อบกพร่องของปัญหาเกี่ยวกับ Wi-Fi ได้ง่ายขึ้น ใน Android 9 ขึ้นไป บัฟเฟอร์แบบวงแหวนของไดรเวอร์หรือเฟิร์มแวร์จะเปิดอยู่เสมอ ระบบจะทริกเกอร์รายงานข้อบกพร่องโดยอัตโนมัติ เมื่อตรวจพบสถานะที่ไม่ดี (เฉพาะในบิลด์ userdebug และ eng) เมื่อใช้ Wi-Fi HAL (AIDL หรือ HIDL เวอร์ชัน 1.2 ขึ้นไป) ระบบจะจัดเก็บบัฟเฟอร์การแก้ไขข้อบกพร่องของเฟิร์มแวร์ ไว้ใน HAL แทนที่จะเป็นเฟรมเวิร์กเพื่อประหยัดค่าใช้จ่ายของ IPC

การใช้งาน

ดูการใช้งานอ้างอิงได้ในการใช้งานเริ่มต้น ใน HAL ของผู้ให้บริการ

คุณปิดใช้การบันทึกเฟิร์มแวร์ได้โดยตั้งค่าทรัพยากร config_wifi_enable_wifi_firmware_debugging เป็น false

การทดสอบด้วยตนเอง

เรียกใช้การทดสอบด้วยตนเองนี้เพื่อยืนยันว่าระบบกำลังลบไฟล์เก่าในไดเรกทอรี Tombstone

  1. เปิด Wi-Fi
  2. เชื่อมต่อกับเครือข่าย
  3. สร้างรายงานข้อบกพร่อง
  4. ตรวจสอบไฟล์ ZIP ของรายงานข้อบกพร่องและยืนยันว่ามีบันทึกเฟิร์มแวร์ที่เก็บถาวรอยู่ บันทึกจะอยู่ในตำแหน่งต่อไปนี้

    • AIDL HAL: dumpsys ส่วนของไฟล์รายงานข้อบกพร่องหลัก
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

การปรับแต่งการกำหนดค่า

หากต้องการควบคุมความแรงของสัญญาณที่อุปกรณ์เชื่อมต่อหรือ ยกเลิกการเชื่อมต่อกับเครือข่าย เฟรมเวิร์ก Wi-Fi จะใช้เกณฑ์ RSSI ของรายการและทางออก

ระบบจะจัดเก็บเกณฑ์ทางเข้าและทางออกเป็นพารามิเตอร์การกำหนดค่าที่โหลดเกินได้ โดยมีชื่อต่อไปนี้ (โดยพารามิเตอร์ bad หมายถึงเกณฑ์ RSSI ทางออก)

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

พารามิเตอร์จะจัดเก็บไว้ใน <root>/frameworks/base/core/res/res/values/config.xml และอาจมีการโอเวอร์โหลด โดยใช้ไฟล์ซ้อนทับ <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml

คุณทดสอบเกณฑ์ใหม่ได้โดยกำหนดค่าอุปกรณ์โดยใช้คำสั่ง adb (หรือจะสร้างบิลด์ด้วยการซ้อนทับใหม่แต่ใช้คำสั่ง adb ก็ได้ ซึ่งจะช่วยให้การทดสอบเสร็จเร็วขึ้น)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

เช่น คำสั่งต่อไปนี้จะกำหนดค่าพารามิเตอร์เกณฑ์ใหม่ (ค่าที่ใช้ในคำสั่งตัวอย่างนี้คือค่าเริ่มต้นที่กำหนดค่าไว้ในฐานโค้ด AOSP)

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

หากต้องการคืนค่าพารามิเตอร์ในตัว (เช่น นำการลบล้างออก) ให้ใช้คำสั่ง adb ต่อไปนี้

adb shell settings delete global wifi_score_params