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
AOSP, kablosuz ağ çerçevesini test etmek için birim testleri ve CTS testleri karışımı sunar.
Birim testleri
AOSP, varsayılan kablosuz bağlantı çerçevesi için hem kablosuz bağlantı yöneticisi (uygulama tarafı kodu) hem de kablosuz bağlantı hizmeti için işlevsel ve birim testleri içerir.
Wi-Fi Yöneticisi testleri:
- Konumu:
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 hizmet testleri:
- Konumu:
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
Uyumluluk Test Paketi (CTS), Wi-Fi çerçevesiyle ilgili testleri içerir. Bunlar cts/tests/tests/net/src/android/net/wifi
konumunda yer alır. Kablosuz CTS testleri, test çalıştırmasının başında test edilen cihazın 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ıklaması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 arabellekleri her zaman açık olabilir. Hata raporları, kötü bir durum algılandığında otomatik olarak tetiklenebilir (yalnızca userdebug ve eng derlemelerinde). Wi-Fi HAL (AIDL veya HIDL sürüm 1.2 ya da daha yeni) kullanıldığında, IPC maliyetlerinden tasarruf etmek için bellenim hata ayıklama arabellekleri çerçeve yerine HAL'de saklanır.
Uygulama
Referans uygulama için Vendor HAL'deki varsayılan uygulamaya bakın.
Kaynak,config_wifi_enable_wifi_firmware_debugging
değerini false olarak ayarlayarak donanım yazılımı günlüğü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.
- Kablosuz ayarını açık duruma getirin.
- Bir ağa bağlanın.
- Hata raporu oluşturun.
Hata raporu ZIP dosyasını inceleyin ve arşivlenmiş 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:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: Ana hata raporu dosyasının
Yapılandırmayı ayarlama
Bir cihazın ağa bağlanma veya ağdan ayrılma sinyal gücünü kontrol etmek için kablosuz ağ çerçevesi giriş ve çıkış RSSI eşiklerini kullanır.
Giriş ve çıkış eşikleri, aşağıdaki adlara sahip aşırı yüklenebilir yapılandırma parametreleri olarak saklanır (burada 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.
Cihazı adb komutlarını kullanarak yapılandırarak yeni eşikleri test edebilirsiniz. (Alternatif olarak, yeni yer paylaşımlarıyla derleme oluşturabilirsiniz ancak adb komutlarını kullanarak daha hızlı test yapabilirsiniz.)
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ılan değerlerdir):
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