این صفحه نحوه آزمایش، اشکالزدایی، و تنظیم پیادهسازی Wi-Fi را بااستفاده از ابزارهای ارائهشده در AOSP شرح میدهد.
آزمایش
برای آزمایش چارچوب Wi-Fi، AOSP ترکیبی از آزمایشهای واحد و آزمایشهای CTS را ارائه میدهد.
آزمونهای واحد
AOSP شامل آزمایشهای واحد و عملکردی برای چارچوب Wi-Fi پیشفرض است: هم برای «مدیر Wi-Fi» (کد سمت برنامه) و هم برای «سرویس Wi-Fi».
آزمایشهای «مدیر Wi-Fi»:
- واقع در
packages/modules/Wifi/framework/tests/ اجرا بااستفاده از پوسته اجراشدنی زیر (برای گزینههای اجرای بیشتر، فایل را بخوانید):
atest FrameworksWifiApiTests
آزمایشهای «سرویس Wi-Fi»:
- واقع در
packages/modules/Wifi/service/tests/wifitests/ اجرا بااستفاده از پوسته اجراشدنی زیر (برای گزینههای اجرای بیشتر، فایل را بخوانید):
atest FrameworksWifiTests
آزمایشهای CTS
مجموعه آزمایشی سازگاری (CTS) شامل آزمایشهایی برای چارچوب Wi-Fi است. این موارد در
cts/tests/tests/net/src/android/net/wifi قرار دارند. آزمایشهای Wi-Fi CTS نیازمند این است که
دستگاه تحت آزمایش در ابتدای اجرای آزمایش با «نقطه دسترسی» مرتبط باشد.
گزینههای گزارشگیری بهبودیافته برای اشکالزدایی
Android 9 ثبت Wi-Fi را بهبود بخشیده است تا اشکالزدایی مشکلات Wi-Fi آسانتر شود. در Android نسخه ۹ یا بالاتر، میانگیرهای حلقهای میانافزار یا درایور میتوانند همیشه روشن باشند. گزارشهای اشکال میتواند بهطور خودکار وقتی وضعیت بدی تشخیص داده میشود راهاندازی شود (فقط در ساختهای userdebug و eng). وقتی از Wi-Fi HAL (نسخه AIDL یا HIDL 1.2 یا بالاتر) استفاده میشود، میانافزار اشکالزدایی بافرها بهجای چارچوب در HAL ذخیره میشود تا هزینههای IPC کاهش یابد.
پیادهسازی
برای پیادهسازی مرجع، به پیادهسازی پیشفرض در Vendor HAL مراجعه کنید.
با تنظیم منبع،
config_wifi_enable_wifi_firmware_debugging، روی false میتوانید ثبت گزارش سفتافزار را غیرفعال کنید.
آزمایش دستی
این آزمایش دستی را اجرا کنید تا مطمئن شوید فایلهای قدیمی در دایرکتوری سنگ قبر حذف میشوند.
- Wi-Fi را روشن کنید؛
- به شبکهای متصل شوید.
- گزارش اشکال ایجاد کنید.
فایل Zip گزارش اشکال را بازرسی کنید و مطمئن شوید که گزارشهای سفتافزار بایگانیشده وجود دارد. گزارشهای رویداد در مکانهای زیر پیدا میشود:
- AIDL HAL: بخش
dumpsysاز فایل اصلی گزارش اشکال - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: بخش
بهینهسازی پیکربندی
برای کنترل قدرت سیگنالی که دستگاه با آن به شبکه متصل یا از آن جدا میشود، چارچوب Wi-Fi از آستانههای RSSI ورود و خروج استفاده میکند.
آستانههای ورود و خروج بهعنوان پارامترهای پیکربندی قابلبارگذاری با نامهای زیر ذخیره میشوند (که در آن پارامتر bad به آستانه RSSI خروج اشاره دارد):
config_wifi_framework_wifi_score_bad_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_entry_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_bad_rssi_threshold_24GHzconfig_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
پارامترها در
<root>/frameworks/base/core/res/res/values/config.xml ذخیره میشوند و ممکن است بااستفاده از فایل رونهاد
<root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml
بارگذاری شوند.
میتوانید آستانههای جدید را با پیکربندی دستگاه بااستفاده از فرمانهای adb آزمایش کنید. (یا میتوانید ساختمانی با رونهادهای جدید ایجاد کنید اما بااستفاده از فرمانهای adb آزمایش سریعتری ارائه دهید.)
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>برای مثال، فرمان زیر پارامترهای آستانه جدید را پیکربندی میکند (مقادیر استفادهشده در این فرمان نمونه، پیشفرضهای پیکربندیشده در پایگاه کد AOSP است):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57برای بازیابی مقادیر پارامتر داخلی (یعنی برداشتن رونویسیها)، از فرمان adb زیر استفاده کنید:
adb shell settings delete global wifi_score_params