หน้านี้จะอธิบายวิธีทดสอบ แก้ไขข้อบกพร่อง และปรับแต่งการติดตั้งใช้งาน Wi-Fi โดยใช้เครื่องมือที่มีให้ใน AOSP
การทดสอบ
AOSP มีชุดการทดสอบหน่วยและการทดสอบ CTS แบบผสมผสานกันเพื่อทดสอบเฟรมเวิร์ก Wi-Fi
การทดสอบ 1 หน่วย
AOSP มีการทดสอบฟังก์ชันและการทดสอบหน่วยสําหรับเฟรมเวิร์ก Wi-Fi เริ่มต้น ทั้งสําหรับตัวจัดการ Wi-Fi (โค้ดฝั่งแอป) และบริการ 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 ขึ้นไป บัฟเฟอร์วงแหวนของไดรเวอร์หรือเฟิร์มแวร์จะเปิดอยู่เสมอ สามารถรายงานข้อบกพร่องโดยอัตโนมัติ ทริกเกอร์เมื่อตรวจพบสถานะที่ไม่ถูกต้อง (เฉพาะในเวอร์ชันแก้ไขข้อบกพร่องของผู้ใช้และวิศวกรเท่านั้น) เมื่อใช้ Wi-Fi HAL (AIDL หรือ HIDL เวอร์ชัน 1.2 ขึ้นไป) ระบบจะจัดเก็บบัฟเฟอร์การแก้ไขข้อบกพร่องของเฟิร์มแวร์ไว้ใน HAL แทนเฟรมเวิร์กเพื่อประหยัดค่าใช้จ่าย IPC
การใช้งาน
สำหรับการติดตั้งใช้งานข้อมูลอ้างอิง โปรดดู การใช้งานเริ่มต้น ใน HAL ของผู้ให้บริการ
คุณปิดใช้การบันทึกเฟิร์มแวร์ได้โดยตั้งค่าทรัพยากร
config_wifi_enable_wifi_firmware_debugging
เป็น "เท็จ"
การทดสอบด้วยตนเอง
เรียกใช้การทดสอบด้วยตนเองนี้เพื่อยืนยันว่าระบบกำลังลบไฟล์เก่าในไดเรกทอรี Tombstone
- เปิด Wi-Fi
- เชื่อมต่อกับเครือข่าย
- สร้างรายงานข้อบกพร่อง
ตรวจสอบไฟล์ ZIP ของรายงานข้อบกพร่องและยืนยันว่ามีบันทึกเฟิร์มแวร์ที่เก็บถาวรอยู่ บันทึกจะอยู่ในตำแหน่งต่อไปนี้
- AIDL HAL: ส่วน
dumpsys
ของไฟล์ bugreport หลัก - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: ส่วน
การปรับแต่งการกําหนดค่า
หากต้องการควบคุมความแรงของสัญญาณที่อุปกรณ์จะเชื่อมโยงหรือยกเลิกการเชื่อมโยงกับเครือข่าย เฟรมเวิร์ก 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