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

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

Thử nghiệm

Để kiểm thử khung Wi-Fi, AOSP cung cấp nhiều bài kiểm thử đơn vị và kiểm thử CTS.

Kiểm thử đơn vị

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

Các bài 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 để biết thêm các lựa chọn thực thi):

    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 để biết thêm các lựa chọn thực thi):

    atest FrameworksWifiTests

Các bài kiểm thử CTS

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

Các lựa 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 bạn dễ dàng gỡ lỗi các vấn đề về 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 thấy trạng thái không hợp lệ (chỉ trong các bản dựng userdebug và eng). Khi Wi-Fi HAL (AIDL hoặc HIDL phiên bản 1.2 trở lên) được dùng, các vùng đệm gỡ lỗi chương trình cơ sở sẽ được lưu trữ trong HAL thay vì khung để tiết kiệm chi phí IPC.

Triển khai

Để biết thông tin về cách triển khai tham chiếu, hãy xem 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 false.

Kiểm thử thủ công

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

  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ữ có tồn tại. Nhật ký nằm ở các vị trí sau:

    • HAL AIDL: Phần dumpsys của tệp bugreport 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à một thiết bị liên kết hoặc huỷ liên kết với một mạng, khung Wi-Fi sẽ sử dụng các ngưỡng RSSI nhậpthoát.

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

  • 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 bằng cách 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ị bằng các lệnh adb. (Ngoài ra, bạn có thể tạo bản dựng bằng các lớp phủ mới nhưng sử dụng các lệnh adb để cung cấp thời gian kiểm thử 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 (các giá trị được dùng trong lệnh mẫu này là các giá trị mặc định đã đị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à xoá các chế độ ghi đè), hãy sử dụng lệnh adb sau:

adb shell settings delete global wifi_score_params