Uji, debug, dan setel Wi-Fi

Halaman ini menjelaskan cara menguji, men-debug, dan menyesuaikan implementasi 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 fungsional dan unit untuk framework Wi-Fi default: baik untuk Pengelola Wi-Fi (kode sisi aplikasi) maupun Layanan Wi-Fi.

Pengujian Pengelola Wi-Fi:

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

    atest FrameworksWifiApiTests
    

Pengujian Layanan Wi-Fi:

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

    atest FrameworksWifiTests
    

Uji CTS

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

Opsi logging yang ditingkatkan untuk proses debug

Android 9 meningkatkan logging Wi-Fi untuk mempermudah debug masalah Wi-Fi. Di Android 9 atau yang lebih tinggi, buffering ring driver atau firmware selalu dapat aktif. Laporan bug dapat otomatis dipicu saat status buruk terdeteksi (hanya di userdebug dan build ing). Jika Wi-Fi HAL (AIDL atau HIDL versi 1.2 atau yang lebih baru) digunakan, buffer debug firmware akan 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 menyetel resource, config_wifi_enable_wifi_firmware_debugging, ke salah.

Pengujian manual

Jalankan pengujian manual ini untuk memastikan bahwa file lama di direktori tombstone telah dihapus.

  1. Aktifkan Wi-Fi.
  2. Hubungkan ke jaringan.
  3. Buat laporan bug.
  4. Periksa file Zip laporan bug dan pastikan 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 menghubungkan perangkat dengan atau dipisahkan dari jaringan, framework Wi-Fi menggunakan nilai minimum RSSI masuk dan keluar.

Batas entry dan exit disimpan sebagai parameter konfigurasi yang dapat kelebihan beban dengan nama berikut (dengan parameter bad mengacu pada nilai minimum RSSI exit):

  • 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 akan 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 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 parameter value bawaan (yaitu menghapus penggantian), gunakan perintah adb berikut:

adb shell settings delete global wifi_score_params