Kiểm tra, gỡ lỗi và điều chỉnh Wi-Fi

Trang này mô tả cách kiểm tra, gỡ lỗi và điều chỉnh việc triển khai Wi-Fi bằng các công cụ được cung cấp trong AOSP.

Kiểm tra

Để kiểm tra khung Wi-Fi, AOSP cung cấp kết hợp các bài kiểm tra đơn vị, kiểm tra tích hợp (ACTS) và kiểm tra CTS.

Kiểm tra đơn vị

AOSP bao gồm các bài kiểm tra chức năng và đơn vị cho khung Wi-Fi mặc định: cho cả Trình quản lý Wi-Fi (mã phía ứng dụng) và Dịch vụ Wi-Fi.

Kiểm tra Trình quản lý Wi-Fi:

  • Nằm trong packages/modules/Wifi/framework/tests/
  • Chạy bằng cách sử dụng tệp thực thi shell sau (đọc tệp để có thêm tùy chọn thực thi):

    atest FrameworksWifiApiTests
    

Kiểm tra dịch vụ Wi-Fi:

  • Nằm trong packages/modules/Wifi/service/tests/wifitests/
  • Chạy bằng cách sử dụng tệp thực thi shell sau (đọc tệp để có thêm tùy chọn thực thi):

    atest FrameworksWifiTests
    

Bộ thử nghiệm Android Comms

Bộ kiểm tra Android Comms (ACTS) thực hiện kiểm tra tự động các ngăn xếp kết nối, chẳng hạn như Wi-Fi, Bluetooth và dịch vụ di động. Công cụ kiểm tra yêu cầu adb và Python và có thể tìm thấy công cụ này trong tools/test/connectivity/acts .

Bạn có thể tìm thấy các bài kiểm tra ACTS cho Wi-FI trong tools/test/connectivity/acts_tests/tests/google/wifi , với cấu hình kiểm tra ví dụ trong cùng thư mục: example_config.json .

xét nghiệm CTS

Bộ kiểm tra khả năng tương thích (CTS) bao gồm các bài kiểm tra dành cho khung Wi-Fi. Chúng được đặt trong cts/tests/tests/net/src/android/net/wifi . Kiểm tra Wi-Fi CTS yêu cầu thiết bị đang được kiểm tra phải được liên kết với Điểm truy cập khi bắt đầu chạy kiểm tra.

Tùy chọn ghi nhật ký nâng cao để gỡ lỗi

Android 9 đã cải thiện tính năng ghi nhật ký Wi-Fi để giúp gỡ lỗi các sự cố Wi-Fi dễ dàng hơn. Trong Android 9 trở lên, bộ đệm vòng trình điều khiển/chương trình cơ sở luôn có thể bật. Báo cáo lỗi có thể tự động được kích hoạt khi phát hiện trạng thái xấu (chỉ trong bản dựng userdebug và eng). Khi sử dụng Wi-Fi HAL (AIDL hoặc HIDL phiên bản 1.2 trở lên), bộ đệm gỡ lỗi chương trình cơ sở được lưu trữ trong HAL thay vì khung để tiết kiệm chi phí IPC.

Thực hiện

Để biết cách triển khai tham chiếu, hãy xem cách triển khai mặc định trong HAL của nhà cung cấp.

Bạn có thể tắt tính năng ghi nhật ký chương trình cơ sở bằng cách đặt tài nguyên config_wifi_enable_wifi_firmware_debugging thành sai.

Kiểm tra tích hợp (ACTS)

Bạn có thể tìm thấy thử nghiệm tích hợp tại /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

Các kết xuất chương trình cơ sở đã được xác minh sẽ được lưu giữ trong thư mục bia mộ thích hợp trong flash dành cho các bản dựng userdebug. Dumpstate thu thập từ thư mục này khi tạo báo cáo lỗi.

Kiểm tra thủ công

Chạy kiểm tra thủ công này để xác minh rằng các tệp cũ trong thư mục Tombstone đang bị xóa.

  1. Bật wifi.
  2. Kết nối với một mạng lưới.
  3. Tạo báo cáo lỗi .
  4. Kiểm tra tệp Zip báo cáo lỗi và xác minh rằng nhật ký chương trình cơ sở đã lưu trữ có tồn tại. Các nhật ký được tìm thấy ở các vị trí sau:

    • AIDL HAL: phần dumpsys của tệp báo cáo lỗi chính
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Điều chỉnh cấu hình

Để kiểm soát cường độ tín hiệu mà thiết bị liên kết hoặc tách khỏi mạng, khung Wi-Fi sử dụng ngưỡng nhậpthoát RSSI.

Ngưỡng vàora được lưu trữ dưới dạng tham số cấu hình có thể quá tải với các tên sau (trong đó tham số bad đề cập đến ngưỡng RSSI thoát ):

  • 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

Các tham số được lưu trữ trong <root>/frameworks/base/core/res/res/values/config.xml và có thể bị quá tải khi sử dụng tệp lớp phủ <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml .

Bạn có thể kiểm tra các ngưỡng mới bằng cách định cấu hình thiết bị bằng lệnh adb. (Ngoài ra, bạn có thể tạo bản dựng với các lớp phủ mới nhưng việc sử dụng lệnh adb sẽ mang lại quá trình thử nghiệm nhanh hơn.)

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

Ví dụ: lệnh sau định cấu hình các tham số ngưỡng mới (các giá trị được sử dụng trong lệnh mẫu này là các giá trị mặc định được định cấu hình trong cơ sở mã AOSP):

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

Để khôi phục các giá trị tham số tích hợp (tức là xóa phần ghi đè), hãy sử dụng lệnh adb sau:

adb shell settings delete global wifi_score_params