این صفحه نحوه آزمایش، اشکال زدایی و تنظیم اجرای Wi-Fi را با استفاده از ابزارهای ارائه شده در AOSP شرح می دهد.
تست کردن
برای آزمایش چارچوب Wi-Fi، AOSP ترکیبی از تست های واحد و تست های CTS را ارائه می دهد.
تست های واحد
AOSP شامل تستهای عملکردی و واحدی برای چارچوب Wi-Fi پیشفرض است: هم برای مدیریت Wi-Fi (کد سمت برنامه) و هم برای سرویس Wi-Fi.
تست های Wi-Fi Manager:
- واقع در
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 نیاز دارند که دستگاه تحت آزمایش در ابتدای اجرای آزمایشی با یک Access Point مرتبط شود.
گزینه های ثبت پیشرفته برای اشکال زدایی
اندروید 9 ثبت وای فای را بهبود بخشید تا اشکال زدایی وای فای را آسان تر کند. در Android 9 یا بالاتر، بافرهای حلقه درایور یا میانافزار همیشه میتوانند روشن باشند. گزارشهای اشکال میتوانند بهطور خودکار هنگام شناسایی وضعیت بد (فقط در ساختهای 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_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
پارامترها در <root>/frameworks/base/core/res/res/values/config.xml
ذخیره می شوند و ممکن است با استفاده از فایل overlay <root>/device/<dev_dir>/overlay/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