Mode Latensi Rendah Wi-Fi

Android 10 memperluas API kunci Wi-Fi untuk memungkinkan aplikasi peka latensi mengonfigurasi Wi-Fi ke mode latensi rendah . Mode latensi rendah dimulai ketika semua kondisi berikut terpenuhi:

  • Wi-Fi diaktifkan dan perangkat memiliki akses internet.
  • Aplikasi telah membuat dan memperoleh kunci Wi-Fi, dan berjalan di latar depan.
  • Layar menyala.

Untuk mendukung mode latensi rendah pada perangkat, produsen perangkat harus memperbarui driver WLAN dan HAL vendor. Dalam mode latensi rendah, hemat daya (juga dikenal sebagai status tertidur dalam standar IEEE 802.11) secara eksplisit dinonaktifkan oleh kerangka kerja. Parameter pemindaian dan roaming di lapisan driver dan firmware dapat dioptimalkan untuk lebih mengurangi latensi Wi-Fi. Pengoptimalan yang tepat adalah spesifik implementasi.

Android memiliki mode kunci Wi-Fi performa tinggi (diperkenalkan di API level 12) yang terpisah dari mode latensi rendah.

Penerapan

Fitur mode latensi rendah Wi-Fi ada di android.hardware.wifi@1.3 . Untuk mendukung fitur ini, sediakan implementasi untuk fungsi-fungsi berikut di IWifiChip.hal :

  • getCapabilities_1_3() generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities)
  • setLatencyMode(LatencyMode mode) generates (WifiStatus status)

Implementasi referensi dapat ditemukan di wifi_legacy_hal.cpp dengan fungsi berikut:

  • wifi_error wifi_get_supported_feature_set(wifi_interface_handle iface, feature_set *set)
  • wifi_error wifi_set_latency_mode(wifi_interface_handle handle, wifi_latency_mode mode)

Dalam mode latensi rendah, penghematan daya secara eksplisit dinonaktifkan oleh WifiLockManager dalam kerangka kerja Android. Untuk mendukung ini, driver WLAN harus mendukung perintah NL80211, NL80211_CMD_SET_POWER_SAVE , untuk mengaktifkan dan menonaktifkan hemat daya. Saat hemat daya Wi-Fi dinonaktifkan, sistem Wi-Fi harus tetap dalam keadaan terjaga dan siap mengirim atau menerima paket dengan penundaan minimum.

Menonaktifkan fitur

Untuk mematikan fitur mode latensi rendah, perbarui kode dasar getCapabilities_1_3() sedemikian rupa sehingga capabilities & SET_LATENCY_MODE = 0 , di mana SET_LATENCY_MODE didefinisikan di IWifiChip.hal . Saat fitur ini dinonaktifkan, kerangka kerja hanya menonaktifkan hemat daya saat mode latensi rendah aktif.

Validasi

Untuk menguji apakah mode latensi rendah berfungsi saat diaktifkan, jalankan pengujian otomatis berikut dan uji latensi ping manual.

Pengujian otomatis

Jalankan tes VTS dan CTS berikut:

Pengujian manual

Peralatan dan lingkungan uji yang diperlukan

Untuk pengujian manual, pengaturan berikut diperlukan:

  • Titik akses Wi-Fi (AP)
  • Telepon perangkat yang sedang diuji (DUT) dan komputer uji

    • DUT harus terhubung ke titik akses melalui Wi-Fi.
    • Komputer uji harus terhubung ke titik akses melalui Wi-Fi atau Ethernet.
    • Komputer uji harus terhubung ke DUT melalui USB.
  1. Aktifkan mode latensi rendah.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. Pastikan komputer Anda terhubung dengan telepon melalui ADB. Dari shell ADB, ping gateway terus menerus selama 3 jam dengan interval 1 detik.

  3. Simpan hasil pengujian dalam file teks dan gunakan spreadsheet atau skrip Python untuk menghasilkan histogram dari hasil pengujian latensi ping.

  4. Ulangi langkah 1 hingga 3 dengan mode latensi dinonaktifkan.

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. Bandingkan hasil pengujian untuk memastikan bahwa nilai latensi ping rata-rata berkurang saat mode latensi rendah diaktifkan.

  1. Aktifkan mode latensi rendah.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. Dari baris perintah komputer uji, ping alamat IP telepon terus menerus selama 3 jam dengan interval 1 detik.

  3. Simpan hasil pengujian dalam file teks dan gunakan spreadsheet atau skrip Python untuk menghasilkan histogram dari hasil pengujian latensi ping.

  4. Ulangi langkah 1 hingga 3 dengan mode latensi dinonaktifkan.

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. Bandingkan hasil pengujian untuk memastikan bahwa nilai latensi ping rata-rata berkurang saat mode latensi rendah diaktifkan.

Tes lainnya

Ulangi tes di atas di lingkungan yang berbeda. Misalnya di rumah atau di kantor.