Kablosuz ağı test etme, hata ayıklama ve ayarlama

Bu sayfada, AOSP'de sağlanan araçları kullanarak kablosuz ağ uygulamasını nasıl test edeceğiniz, hata ayıklama yapacağınız ve ayarlayacağınız açıklanmaktadır.

Test etme

AOSP, kablosuz ağ çerçevesini test etmek için birim testleri ile CTS testlerinin bir karışımını sağlar.

Birim testleri

AOSP, varsayılan kablosuz ağ çerçevesiyle (hem Wi-Fi Yöneticisi (uygulama tarafı kodu) hem de Wi-Fi Hizmeti için) işlevsel ve birim testleri içerir.

Wi-Fi Manager testleri:

  • Konum: packages/modules/Wifi/framework/tests/
  • Aşağıdaki yürütülebilir kabuk dosyasını kullanarak çalıştırın (diğer yürütme seçenekleri için dosyayı okuyun):

    atest FrameworksWifiApiTests
    

Wi-Fi Hizmeti testleri:

  • Konum: packages/modules/Wifi/service/tests/wifitests/
  • Aşağıdaki yürütülebilir kabuk dosyasını kullanarak çalıştırın (diğer yürütme seçenekleri için dosyayı okuyun):

    atest FrameworksWifiTests
    

CTS testleri

Uyumluluk Test Paketi (CTS), Wi-Fi çerçevesi için testler içerir. Bunlar cts/tests/tests/net/src/android/net/wifi bölgesinde bulunmaktadır. Wi-Fi CTS testleri, test çalıştırmasının başında cihaz alt testinin bir Erişim Noktası ile ilişkilendirilmesini gerektirir.

Hata ayıklama için gelişmiş günlük kaydı seçenekleri

Android 9, kablosuz ağ sorunlarının giderilmesini kolaylaştırmak için Kablosuz günlük kaydı özelliğini iyileştirdi. Android 9 veya sonraki sürümlerde sürücü veya donanım yazılımı halka arabellekleri her zaman açık olabilir. Kötü bir durum algılandığında hata raporları otomatik olarak tetiklenebilir (yalnızca userdebug ve eng derlemelerinde). Wi-Fi HAL (AIDL veya HIDL sürüm 1.2 veya üzeri) kullanıldığında, donanım yazılımı hata ayıklama tamponları IPC maliyetlerinden tasarruf etmek için çerçeve yerine HAL'de depolanır.

Uygulama

Referans uygulaması için Tedarikçi HAL'deki varsayılan uygulamayı inceleyin.

config_wifi_enable_wifi_firmware_debugging kaynağını false (yanlış) değerine ayarlayarak donanım yazılımı günlük kaydını devre dışı bırakabilirsiniz.

Manuel test

tombstone dizinindeki eski dosyaların silindiğini doğrulamak için bu manuel testi çalıştırın.

  1. Kablosuz ayarını açık duruma getirin.
  2. Bir ağa bağlanın.
  3. Hata raporu oluşturun.
  4. Hata raporunun ZIP dosyasını inceleyin ve arşivlenen donanım yazılımı günlüklerinin mevcut olduğunu doğrulayın. Günlükler aşağıdaki konumlarda bulunur:

    • AIDL HAL: Ana hata raporu dosyasının dumpsys bölümü
    • HIDL HAL'si: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Yapılandırma ayarı

Kablosuz çerçevesi, bir cihazın bir ağla ilişkilendirildiği veya ağdan ayrıldığı sinyal gücünü kontrol etmek için giriş ve çıkış RSSI eşiklerini kullanır.

Giriş ve exit eşikleri, aşağıdaki adlara sahip aşırı yüklenebilir yapılandırma parametreleri olarak depolanır (bad parametresi, exit RSSI eşiğine karşılık gelir):

  • 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

Parametreler <root>/frameworks/base/core/res/res/values/config.xml içinde depolanır ve yer paylaşımlı <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml dosyası kullanılarak aşırı yüklenebilir.

Cihazı adb komutlarıyla yapılandırarak yeni eşikleri test edebilirsiniz. (Alternatif olarak, yeni yer paylaşımlarıyla bir derleme oluşturabilirsiniz ancak adb komutlarını kullanarak test işlemlerini daha hızlı tamamlayabilirsiniz.)

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

Örneğin, aşağıdaki komut yeni eşik parametrelerini yapılandırır (bu örnek komutta kullanılan değerler, AOSP kod tabanındaki yapılandırılmış varsayılanlardır):

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

Yerleşik parametre değerlerini geri yüklemek (ör. geçersiz kılmaları kaldırmak) için aşağıdaki adb komutunu kullanın:

adb shell settings delete global wifi_score_params