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.
- Wi-Fi'yi açın.
- İnternete bağlan.
- Bir hata raporu oluşturun.
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
- AIDL HAL: ana hata raporu dosyasının
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