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 campuran pengujian unit, pengujian integrasi (ACTS), dan pengujian CTS.

Tes unit

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

Tes Pengelola Wi-Fi:

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

    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 lainnya):

    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 .

Tes 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 kerja Wi-Fi. Ini terletak di cts/tests/tests/net/src/android/net/wifi . Pengujian Wi-Fi CTS memerlukan perangkat yang sedang diuji untuk dikaitkan dengan Titik Akses di awal uji coba.

Opsi logging yang ditingkatkan untuk debugging

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

Penerapan

Untuk implementasi referensi, lihat implementasi default di vendor HAL.

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

Tes integrasi (ACTS)

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

Dump firmware terverifikasi tetap ada di direktori batu nisan yang sesuai dalam flash untuk build 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. Aktifkan Wi-Fi.
  2. Hubungkan ke jaringan.
  3. Menghasilkan laporan bug .
  4. Periksa file zip laporan bug dan verifikasi bahwa /lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt menyimpan log firmware yang diarsipkan.

Penyetelan konfigurasi

Untuk mengontrol kekuatan sinyal di mana perangkat terkait atau terputus dari jaringan, kerangka kerja Wi-Fi menggunakan ambang RSSI masuk dan keluar .

Ambang masuk dan keluar disimpan sebagai parameter konfigurasi kelebihan beban dengan nama berikut (di mana parameter bad mengacu pada ambang 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 mungkin kelebihan beban menggunakan file overlay <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml .

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

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

Misalnya, perintah berikut ini mengonfigurasi parameter ambang 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 mengembalikan nilai parameter bawaan (yaitu menghapus penggantian) gunakan perintah adb berikut:

adb shell settings delete global wifi_score_params