Kablosuz düşük gecikme modu

Android 10, Wi-Fi Lock API'yi genişleterek Kablosuzu aşağıdaki gibi yapılandırmak için gecikmeye duyarlı uygulamalar: düşük gecikme mod'u seçin. Düşük gecikme modu, aşağıdaki koşulların tamamı karşılandığında başlar:

  • Kablosuz bağlantının etkin ve cihazın internet erişimi var.
  • Uygulama bir kablosuz ağ kilidi oluşturup aldı ve şurada çalışıyor: ön plan.
  • Ekran açık.

Cihazlarda düşük gecikme modunu desteklemek için cihaz üreticilerinin WLAN sürücüsü ve tedarikçi HAL'si. Düşük gecikme modunda, güç tasarrufu (diğer adıyla doz durumu) çerçeve tarafından açıkça devre dışı bırakıldı. Sürücü ve donanım yazılımı katmanlarındaki tarama ve dolaşım parametreleri, Bu da kablosuz gecikme süresini daha da azaltmak için optimize edildi. Kesin optimizasyonlar netleştirmelerini de sağlamalısınız.

Android'de yüksek performanslı kablosuz kilit modu (API düzeyi 12'de kullanıma sunulur).

Uygulama

Kablosuz düşük gecikme modu özelliğini desteklemek için şu IWifiChip işlevleri.

AIDL HAL'de:

  • int getFeatureSet()
  • void setLatencyMode(in LatencyMode mode)

HIDL HAL'de (1.3 veya daha yeni):

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

Referans uygulaması şurada bulunabilir: wifi_legacy_hal.cpp ekleyebilirsiniz:

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

Düşük gecikme modunda, güç tasarrufu özelliği WifiLockManager neler olduğunu anlatacağım. Bunu desteklemek için WLAN sürücüsünün NL80211 komutunu desteklemesi gerekir. Güç tasarrufunu etkinleştirmek ve devre dışı bırakmak için NL80211_CMD_SET_POWER_SAVE. Kablosuz bağlantı gücü olduğunda kaydetme devre dışı bırakıldığında, kablosuz sisteminin uyanık durumda kalması ve minimum gecikmeyle gönderip alın.

Özelliği devre dışı bırakma

Düşük gecikme modu özelliğini kapatmak için arka plandaki kodu güncelleyin: AIDL HAL için getFeatureSet() veya HIDL HAL için getCapabilities_1_3(), capabilities & SET_LATENCY_MODE = 0, burada SET_LATENCY_MODE, IWifiChip AIDL veya HIDL tanımında tanımlanmıştır. Bu özellik devre dışı bırakıldığında çerçeve, güç tasarrufunu yalnızca düşük gecikme modu etkinken devre dışı bırakır.

Doğrulama

Düşük gecikme modunun etkinleştirildiğinde çalışıp çalışmadığını test etmek için aşağıdaki otomatik ve manuel ping gecikmesi testleri.

Otomatik test

Aşağıdaki VTS ve CTS testlerini çalıştırın:

Manuel test

Gerekli test ekipmanı ve ortamı

Manuel test için aşağıdaki kurulum gerekir:

  • Wi-Fi erişim noktası (AP)
  • Cihaz altında test (DUT) telefon ve test bilgisayarı

    • DUT, kablosuz ağ üzerinden erişim noktasına bağlı olmalıdır.
    • Test bilgisayarı kablosuz ağ veya erişim noktasına bağlı olmalıdır Ethernet'e dokunun.
    • Test bilgisayarı USB üzerinden DUT'ye bağlı olmalıdır.
  1. Düşük gecikme modunu etkinleştirin.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. Bilgisayarınızın ADB üzerinden telefona bağlı olduğundan emin olun. Başlangıç fiyatı ağ geçidini sürekli olarak 3 saat boyunca 1. saniyede pingleme sağlar.

  3. Test çıkışını bir metin dosyasına kaydedin ve e-tablo ya da Python kullanın komut dosyasını kullanarak ping gecikmesi testi sonuçlarının histogramını oluşturabilirsiniz.

  4. Gecikme modu devre dışı olarak 1-3. adımları tekrarlayın.

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. Ortalama ping gecikmesi değerinin şundan emin olmak için test sonuçlarını karşılaştırın: düşük gecikme modu etkinleştirildiğinde azaltılır.

  1. Düşük gecikme modunu etkinleştirin.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. Test bilgisayarının komut satırından telefonun IP'sini pingleyin 1 saniyelik aralıklarla 3 saat boyunca sürekli olarak adres gösterme.

  3. Test çıkışını bir metin dosyasına kaydedin ve e-tablo ya da Python kullanın komut dosyasını kullanarak ping gecikmesi testi sonuçlarının histogramını oluşturabilirsiniz.

  4. Gecikme modu devre dışı olarak 1-3. adımları tekrarlayın.

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. Ortalama ping gecikmesi değerinin şundan emin olmak için test sonuçlarını karşılaştırın: düşük gecikme modu etkinleştirildiğinde azaltılır.

Diğer testler

Yukarıdaki testleri farklı ortamlarda tekrarlayın. Örneğin, evinizde veya ofisinizde.