Trang này mô tả cách kiểm thử, gỡ lỗi và tinh chỉnh phương thức triển khai Wi-Fi bằng các công cụ được cung cấp trong AOSP (Dự án nguồn mở Android).
Kiểm thử
Để 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ả 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 để biết thêm các tuỳ 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 tuỳ chọn thực thi):
atest FrameworksWifiTests
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 ở cts/tests/tests/net/src/android/net/wifi
. Các bài kiểm thử CTS Wi-Fi yêu cầu liên kết kiểm thử thiết bị với một Điểm truy cập khi bắt đầu chạy kiểm thử.
Các tuỳ 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 hơn. 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 HAL Wi-Fi (AIDL hoặc HIDL phiên bản 1.2 trở lên), bộ đệ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í cho IPC.
Triển khai
Để triển khai tham chiếu, hãy xem phần 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 false.
Bài kiểm tra theo cách thủ công
Chạy quy trình 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á.
- Bật Wi-Fi.
- Kết nối với một mạng.
- Tạo báo cáo lỗi.
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ý đượ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
- AIDL HAL: Phần
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 các ngưỡng RSSI nhập và thoát.
Các ngưỡng entry và exit được lưu trữ dưới dạng tham số cấu hình có thể nạp chồng với các tên sau (trong đó tham số bad
đề cập đến ngưỡng exit 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 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 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 việc sử dụng các lệnh adb sẽ giúp rút lại 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ị dùng trong lệnh mẫu này là 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ị thông số tích hợp sẵn (tức là xoá giá trị ghi đè), hãy sử dụng lệnh adb sau:
adb shell settings delete global wifi_score_params