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

Bu sayfada, AOSP'de sağlanan araçları kullanarak kablosuz uygulamanın nasıl test edileceği, hata ayıklayacağı ve ayarlanacağı açıklanmaktadır.

Test

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

Birim testleri

AOSP, varsayılan kablosuz bağlantı çerçevesi için işlevsel ve birim testleri içerir: hem kablosuz bağlantı yöneticisi (uygulama tarafı kod) hem de kablosuz bağlantı hizmeti için.

Kablosuz Ağ Yöneticisi testleri:

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

    atest FrameworksWifiApiTests

Kablosuz ağ hizmeti testleri:

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

    atest FrameworksWifiTests

CTS testleri

Compatibility Test Suite (CTS), Wi-Fi çerçevesiyle ilgili testler içerir. Bu konumlar cts/tests/tests/net/src/android/net/wifi'te yer almaktadır. Kablosuz CTS testleri, test edilen cihazın test çalıştırmasının başında bir erişim noktasıyla ilişkilendirilmesini gerektirir.

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

Android 9, kablosuz bağlantı sorunlarının hata ayıklanmasını kolaylaştırmak için kablosuz bağlantı günlük kaydını iyileştirdi. Android 9 veya sonraki sürümlerde sürücü ya da donanım yazılımı halka tamponları 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 1.2 veya sonraki sürümler) kullanıldığında, donanım yazılımı hata ayıklama arabellekleri, IPC maliyetlerinden tasarruf etmek için çerçeve yerine HAL'de saklanır.

Uygulama

Referans uygulama için Satıcı HAL'indeki varsayılan uygulamaya bakın.

Donanım yazılımı günlüğünü devre dışı bırakmak için config_wifi_enable_wifi_firmware_debugging kaynağını false olarak ayarlayabilirsiniz.

Manuel test

Haç işareti 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 raporu 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 bugreport dosyasının dumpsys bölümü
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Yapılandırma ayarı

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

Giriş ve çıkış eşikleri, aşağıdaki adlarla aşırı yüklenebilir yapılandırma parametreleri olarak depolanır (bad parametresi çıkış RSSI eşiğini ifade eder):

  • 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 saklanır ve yer paylaşımı dosyası <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml kullanılarak aşırı yüklenebilir.

adb komutlarını kullanarak cihazı yapılandırarak yeni eşikleri test edebilirsiniz. (Alternatif olarak, yeni yer paylaşımları içeren bir derleme oluşturabilirsiniz ancak adb komutlarını kullanarak daha hızlı bir test süresi elde edebilirsiniz.)

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ında 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ılma işlemlerini kaldırmak) için aşağıdaki adb komutunu kullanın:

adb shell settings delete global wifi_score_params