Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Pengujian, Debugging, dan Tuning Wi-Fi

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

Menguji

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

Tes unit

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

Tes Wi-Fi Manager:

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

    atest FrameworksWifiApiTests
    

Tes Layanan Wi-Fi:

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

    atest FrameworksWifiTests
    

Rangkaian Uji Komunikasi Android

Android Comms Test Suite (ACTS) melakukan pengujian otomatis 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 ditemukan di tools/test/connectivity/acts/tests/google/wifi , dengan contoh konfigurasi pengujian di direktori yang sama: example_config.json .

Tes CTS

Compatibility Test Suite (CTS) mencakup pengujian untuk framework Wi-Fi. Ini terletak di cts/tests/tests/net/src/android/net/wifi . Tes Wi-Fi CTS memerlukan perangkat yang sedang diuji untuk dikaitkan dengan Titik Akses pada awal uji coba.

Opsi logging yang ditingkatkan untuk debugging

Android 9 menyempurnakan logging Wi-Fi untuk mempermudah debug masalah Wi-Fi. Di Android 9 atau lebih tinggi, buffer ring driver / firmware selalu bisa aktif. Laporan bug dapat secara otomatis dipicu ketika keadaan buruk terdeteksi (hanya di userdebug dan build eng). 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 logging firmware dengan menyetel sumber daya, config_wifi_enable_wifi_firmware_debugging , ke false.

Tes integrasi (ACTS)

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

Kesedihan firmware terverifikasi tetap ada di direktori batu nisan yang sesuai dalam sekejap untuk build debug pengguna. Dumpstate mengumpulkan dari direktori ini saat membuat laporan bug.

Tes manual

Jalankan pengujian 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 /lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt menyimpan log firmware yang diarsipkan.

Penyetelan konfigurasi

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

Ambang masuk dan keluar disimpan sebagai parameter konfigurasi yang dapat dibebani 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 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 nilai 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