Wi-Fi'yi Test Etme, Hata Ayıklama ve Ayarlama

Bu sayfada, AOSP'de sağlanan araçları kullanarak Wi-Fi uygulamasının nasıl test edileceği, hata ayıklanacağı ve ayarlanacağı açıklanmaktadır.

Test yapmak

AOSP, Wi-Fi çerçevesini test etmek için birim testleri, entegrasyon testleri (ACTS) ve CTS testlerinin bir karışımını sağlar.

Birim testleri

AOSP, varsayılan Wi-Fi çerçevesi için işlevsellik ve birim testleri içerir: hem Wi-Fi Yöneticisi (uygulama tarafı kodu) hem de Wi-Fi Hizmeti için.

Wi-Fi Yöneticisi testleri:

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

    atest FrameworksWifiApiTests
    

Wi-Fi Hizmeti testleri:

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

    atest FrameworksWifiTests
    

Android İletişim Test Paketi

Android İletişim Test Paketi (ACTS), Wi-Fi, Bluetooth ve hücresel hizmetler gibi bağlantı yığınlarının otomatik testini gerçekleştirir. Test aracı, adb ve Python'u gerektirir ve tools/test/connectivity/acts konumunda bulunabilir.

Wi-Fi için ACTS testleri, aynı dizinde örnek bir test yapılandırmasıyla birlikte, tools/test/connectivity/acts_tests/tests/google/wifi dosyasında bulunur: example_config.json .

CTS testleri

Uyumluluk Test Paketi (CTS), Wi-Fi çerçevesine yönelik testleri içerir. Bunlar cts/tests/tests/net/src/android/net/wifi konumunda bulunur. Wi-Fi CTS testleri, test edilen cihazın test çalıştırmasının başlangıcında bir Erişim Noktasıyla ilişkilendirilmesini gerektirir.

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

Android 9, Wi-Fi sorunlarında hata ayıklamayı kolaylaştırmak için Wi-Fi günlük kaydını iyileştirdi. Android 9 veya üzeri sürümlerde, sürücü/ürün yazılımı halka arabellekleri her zaman açık olabilir. Kötü bir durum tespit edildiğinde hata raporları otomatik olarak tetiklenebilir (yalnızca userdebug ve eng yapılarında). Wi-Fi HAL (AIDL veya HIDL sürüm 1.2 veya üstü) kullanıldığında, IPC maliyetlerinden tasarruf etmek için ürün yazılımı hata ayıklama arabellekleri çerçeve yerine HAL'de depolanır.

Uygulama

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

config_wifi_enable_wifi_firmware_debugging kaynağını false olarak ayarlayarak ürün yazılımı günlüğünü devre dışı bırakabilirsiniz.

Entegrasyon testi (ACTS)

Entegrasyon testini /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py adresinde bulabilirsiniz.

Doğrulanmış ürün yazılımı dökümleri, kullanıcı hata ayıklama derlemeleri için flashta uygun kaldırıldı işaret dizininde kalıcı olarak saklanır. Dumpstate, bir hata raporu oluştururken bu dizinden veri toplar.

Manuel test

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

  1. Wi-Fi'yi açın.
  2. İnternete bağlan.
  3. Bir hata raporu oluşturun.
  4. Hata raporu Zip dosyasını inceleyin ve arşivlenmiş ürün 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: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

Yapılandırma ayarı

Bir cihazın bir ağla ilişkilendirildiği veya ağdan ayrıldığı sinyal gücünü kontrol etmek için Wi-Fi çerçevesi, 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 saklanır (burada bad parametre, çı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 dosyasında saklanır ve <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml dosyası kullanılarak aşırı yüklenebilir. <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml .

Cihazı adb komutlarını kullanarak yapılandırarak yeni eşikleri test edebilirsiniz. (Alternatif olarak, yeni katmanlara sahip bir yapı oluşturabilirsiniz ancak adb komutlarını kullanmak, testin daha hızlı sonuçlanmasını sağlar.)

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 (yani geçersiz kılmaları kaldırmak) için aşağıdaki adb komutunu kullanın:

adb shell settings delete global wifi_score_params