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

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

Thử nghiệm

Để kiểm thử khung Wi-Fi, AOSP cung cấp kết hợp các bài kiểm thử đơn vị và kiểm thử CTS.

Kiểm thử đơn vị

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

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

  • Nằm ở packages/modules/Wifi/framework/tests/
  • Chạy bằng tệp thực thi shell sau đây (đọc tệp này để thực thi thêm tuỳ chọn):

    atest FrameworksWifiApiTests
    

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

  • Nằm ở packages/modules/Wifi/service/tests/wifitests/
  • Chạy bằng tệp thực thi shell sau đây (đọc tệp này để thực thi thêm tuỳ chọn):

    atest FrameworksWifiTests
    

Bài kiểm thử CTS

Bộ kiểm tra tính tương thích (CTS) bao gồm các bài kiểm tra cho Khung Wi-Fi. Các cơ sở này nằm ở cts/tests/tests/net/src/android/net/wifi. Kiểm tra Wi-Fi CTS yêu cầu thiết bị-dưới-thử nghiệm được liên kết với một Điểm truy cập khi bắt đầu thử nghiệm chạy.

Các tuỳ chọn ghi nhật ký nâng cao để gỡ lỗi

Android 9 cải tiến tính năng ghi nhật ký Wi-Fi để giúp người dùng dễ dàng gỡ lỗi các sự cố Wi-Fi. Trong Android 9 trở lên, vùng đệm vòng của trình điều khiển hoặc 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 không hợp lệ (chỉ trong các bản dựng userdebug và eng). Khi bạn sử dụng Wi-Fi HAL (AIDL hoặc HIDL phiên bản 1.2 trở lên), chương trình cơ sở bộ đệm gỡ lỗi được lưu trữ trong HAL thay vì khung để tiết kiệm chi phí IPC.

Triển khai

Để 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 thiết lập tài nguyên, config_wifi_enable_wifi_firmware_debugging, thành false.

Bài kiểm tra theo cách thủ công

Chạy kiểm tra thủ công này để xác minh rằng các tệp cũ trong Đang xoá thư mục tombstone.

  1. Bật Wi-Fi.
  2. Kết nối với một mạng.
  3. Tạo báo cáo lỗi.
  4. Kiểm tra tệp ZIP chứa báo cáo lỗi và xác minh rằng nhật ký chương trình cơ sở đã lưu trữ đã tồn tại. 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
    • HAL HIDL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Tinh chỉnh cấu hình

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

Các ngưỡng entry (mục nhập) và exit (thoát) được lưu trữ dưới dạng cấu hình có thể nạp chồng tham số có các tên sau (trong đó tham số bad tham chiếu đến exit ngưỡng 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

Các thông số được lưu trữ trong <root>/frameworks/base/core/res/res/values/config.xml và có thể bị quá tải 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 thử các ngưỡng mới bằng cách định cấu hình thiết bị thông qua các lệnh adb. (Ngoài ra, bạn có thể tạo một bản dựng với các lớp phủ mới nhưng sử dụng các lệnh adb cung cấp kết quả 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 đây định cấu hình các tham số ngưỡng mới (lệnh các giá trị dùng trong lệnh mẫu này là các giá trị mặc định được định cấu hình trong AOSP (Dự án nguồn mở Android) cơ sở mã):

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ị thông số được tích hợp sẵn (tức là xoá giá trị ghi đè), hãy sử dụng sau đây là lệnh adb:

adb shell settings delete global wifi_score_params