Menguji, men-debug, dan menyesuaikan Wi-Fi

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

Pengujian

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

Pengujian unit

AOSP menyertakan pengujian unit dan fungsional untuk framework Wi-Fi default: baik untuk Wi-Fi Manager (kode sisi aplikasi) maupun Wi-Fi Service.

Pengujian Wi-Fi Manager:

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

    atest FrameworksWifiApiTests

Pengujian Wi-Fi Service:

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

    atest FrameworksWifiTests

Pengujian CTS

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

Opsi logging yang ditingkatkan untuk proses debug

Android 9 meningkatkan logging Wi-Fi untuk memudahkan proses debug masalah Wi-Fi. Di Android 9 atau yang lebih tinggi, buffer ring driver atau firmware dapat selalu aktif. Laporan bug dapat otomatis dipicu saat status buruk terdeteksi (hanya dalam build userdebug dan eng). Saat Wi-Fi HAL (AIDL atau HIDL versi 1.2 atau yang lebih tinggi) digunakan, buffer debug firmware disimpan di HAL, bukan framework, untuk menghemat biaya IPC.

Penerapan

Untuk implementasi referensi, lihat implementasi default di HAL Vendor.

Anda dapat menonaktifkan logging firmware dengan menetapkan resource, config_wifi_enable_wifi_firmware_debugging, ke false.

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 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

Penyesuaian konfigurasi

Untuk mengontrol kekuatan sinyal saat perangkat mengaitkan atau memisahkan diri dari jaringan, framework Wi-Fi menggunakan nilai minimum RSSI entri dan keluar.

Nilai minimum entri dan keluar disimpan sebagai parameter konfigurasi yang dapat di-overload dengan nama berikut (dengan parameter bad mengacu pada nilai minimum RSSI keluar):

  • 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 dapat di-overload menggunakan file overlay <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml.

Anda dapat menguji nilai minimum baru dengan mengonfigurasi perangkat menggunakan perintah adb. (Atau, Anda dapat membuat build dengan overlay baru, tetapi menggunakan perintah adb akan memberikan waktu tunggu pengujian yang lebih cepat.)

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

Misalnya, perintah berikut mengonfigurasi parameter nilai minimum baru (nilai yang digunakan dalam perintah contoh ini adalah default yang dikonfigurasi dalam codebase 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