Menguji, Men-debug, dan Menyetel Wi-Fi

Halaman ini menjelaskan cara menguji, men-debug, dan menyetel implementasi Wi-Fi menggunakan alat yang disediakan di AOSP.

Pengujian

Untuk menguji kerangka Wi-Fi, AOSP menyediakan gabungan pengujian unit, pengujian integrasi (ACTS), dan pengujian CTS.

Tes satuan

AOSP mencakup pengujian fungsional dan unit untuk kerangka Wi-Fi default: baik untuk Manajer Wi-Fi (kode sisi aplikasi) dan Layanan Wi-Fi.

Tes Manajer Wi-Fi:

  • Terletak di packages/modules/Wifi/framework/tests/
  • Jalankan menggunakan shell berikut yang dapat dieksekusi (baca file untuk opsi eksekusi lebih lanjut):

    atest FrameworksWifiApiTests
    

Tes Layanan Wi-Fi:

  • Terletak di packages/modules/Wifi/service/tests/wifitests/
  • Jalankan menggunakan shell berikut yang dapat dieksekusi (baca file untuk opsi eksekusi lebih lanjut):

    atest FrameworksWifiTests
    

Rangkaian Uji Komunikasi Android

Android Comms Test Suite (ACTS) melakukan pengujian otomatis terhadap tumpukan konektivitas, seperti Wi-Fi, Bluetooth, dan layanan seluler. Alat pengujian memerlukan adb dan Python, dan dapat ditemukan di tools/test/connectivity/acts .

Pengujian ACTS untuk Wi-FI dapat ditemukan di tools/test/connectivity/acts_tests/tests/google/wifi , dengan contoh konfigurasi pengujian di direktori yang sama: example_config.json .

tes CTS

Compatibility Test Suite (CTS) mencakup pengujian untuk kerangka Wi-Fi. Ini terletak di cts/tests/tests/net/src/android/net/wifi . Pengujian Wi-Fi CTS mengharuskan perangkat yang sedang diuji dikaitkan dengan Titik Akses pada awal pengujian yang dijalankan.

Opsi logging yang ditingkatkan untuk debugging

Android 9 meningkatkan logging Wi-Fi untuk mempermudah debug masalah Wi-Fi. Di Android 9 atau lebih tinggi, buffer cincin driver/firmware selalu aktif. Laporan bug dapat dipicu secara otomatis ketika kondisi buruk terdeteksi (hanya di userdebug dan eng build). Saat Wi-Fi HAL (AIDL atau HIDL versi 1.2 atau lebih tinggi) digunakan, buffer debug firmware disimpan di HAL, bukan di kerangka kerja, untuk menghemat biaya IPC.

Penerapan

Untuk implementasi referensi, lihat implementasi default di Vendor HAL.

Anda dapat menonaktifkan pencatatan firmware dengan mengatur sumber daya, config_wifi_enable_wifi_firmware_debugging , ke false.

Tes integrasi (ACTS)

Uji integrasi dapat ditemukan di /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

Dump firmware yang terverifikasi disimpan di direktori batu nisan yang sesuai di flash untuk pembuatan debug pengguna. Dumpstate mengumpulkan dari direktori ini saat membuat laporan bug.

Tes manual

Jalankan tes manual ini untuk memverifikasi bahwa file lama di direktori batu nisan sedang dihapus.

  1. Nyalakan Wi-Fi.
  2. Hubungkan ke jaringan.
  3. Buat laporan bug .
  4. Periksa file Zip laporan bug dan verifikasi bahwa log firmware yang diarsipkan ada. Log ditemukan di lokasi berikut:

    • AIDL HAL: bagian dumpsys dari file laporan bug utama
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Penyetelan konfigurasi

Untuk mengontrol kekuatan sinyal saat perangkat terhubung atau dipisahkan dari jaringan, kerangka kerja Wi-Fi menggunakan ambang masuk dan keluar RSSI.

Ambang masuk dan keluar disimpan sebagai parameter konfigurasi yang dapat kelebihan beban dengan nama berikut (dengan parameter bad mengacu pada ambang keluar 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

Parameter disimpan di <root>/frameworks/base/core/res/res/values/config.xml dan mungkin kelebihan beban menggunakan file overlay <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml .

Anda dapat menguji ambang batas baru dengan mengonfigurasi perangkat menggunakan perintah adb. (Atau, Anda dapat membuat build dengan overlay baru tetapi menggunakan perintah adb memberikan penyelesaian pengujian yang lebih cepat.)

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

Misalnya, perintah berikut mengonfigurasi parameter ambang batas baru (nilai yang digunakan dalam contoh perintah ini adalah default yang dikonfigurasi dalam basis kode AOSP):

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

Untuk memulihkan nilai parameter bawaan (yaitu menghapus penggantian) gunakan perintah adb berikut:

adb shell settings delete global wifi_score_params