Uji, debug, dan setel Wi-Fi

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

Pengujian

Untuk menguji framework Wi-Fi, AOSP menyediakan campuran pengujian unit dan pengujian CTS.

Pengujian unit

AOSP menyertakan pengujian fungsional dan unit untuk framework Wi-Fi default: keduanya untuk Pengelola Wi-Fi (kode sisi aplikasi) dan Layanan Wi-Fi.

Pengujian Pengelola Wi-Fi:

  • Berlokasi di packages/modules/Wifi/framework/tests/
  • Jalankan menggunakan shell yang dapat dieksekusi berikut ini (baca file untuk eksekusi selengkapnya ):

    atest FrameworksWifiApiTests
    

Pengujian Layanan Wi-Fi:

  • Berlokasi di packages/modules/Wifi/service/tests/wifitests/
  • Jalankan menggunakan shell yang dapat dieksekusi berikut ini (baca file untuk eksekusi selengkapnya ):

    atest FrameworksWifiTests
    

Uji CTS

Compatibility Test Suite (CTS) mencakup pengujian untuk framework Wi-Fi. File tersebut terdapat di cts/tests/tests/net/src/android/net/wifi. Uji CTS Wi-Fi memerlukan perangkat yang sedang diuji untuk dikaitkan dengan Titik Akses (AP) di awal pengujian akan dijalankan.

Opsi logging yang ditingkatkan untuk proses debug

Android 9 meningkatkan pencatatan Wi-Fi agar lebih mudah men-debug masalah Wi-Fi. Di Android 9 atau yang lebih tinggi, {i>buffer <i}driver atau {i>firmware ring buffer <i} selalu aktif. Laporan bug dapat secara otomatis dipicu saat status buruk terdeteksi (hanya di userdebug dan build ing). Ketika Wi-Fi HAL (AIDL atau HIDL versi 1.2 atau yang lebih tinggi) digunakan, firmware buffer debug disimpan di HAL, bukan di framework, untuk menghemat biaya IPC.

Implementasi

Untuk implementasi referensi, lihat penerapan default di HAL Vendor.

Anda dapat menonaktifkan {i>logging<i} firmware dengan mengatur sumber daya, config_wifi_enable_wifi_firmware_debugging, menjadi salah.

Pengujian manual

Jalankan pengujian manual ini untuk memverifikasi bahwa file lama di direktori tombstone sedang dihapus.

  1. Aktifkan 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 tersebut ditemukan di lokasi berikut:

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

Penyesuaian konfigurasi

Untuk mengontrol kekuatan sinyal yang dikaitkan dengan perangkat atau terpisah dari jaringan, framework Wi-Fi menggunakan metode entri dan keluar RSSI.

Batas entri dan keluar disimpan sebagai konfigurasi yang dapat kelebihan beban parameter dengan nama berikut (di mana parameter bad mengacu pada keluar dari nilai minimum 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 dalam <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 mempercepat penyelesaian pengujian.)

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

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

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 parameter perintah adb berikut:

adb shell settings delete global wifi_score_params