این صفحه نحوه آزمایش، اشکالزدایی و تنظیم پیادهسازی Wi-Fi را با استفاده از ابزارهای ارائه شده در AOSP شرح میدهد.
آزمایش
برای آزمایش چارچوب Wi-Fi، AOSP ترکیبی از تستهای واحد و تستهای CTS را ارائه میدهد.
تستهای واحد
AOSP شامل تستهای عملکردی و واحد برای چارچوب پیشفرض وایفای است: هم برای مدیر وایفای (کد سمت برنامه) و هم برای سرویس وایفای.
تستهای مدیریت وایفای:
- واقع در
packages/modules/Wifi/framework/tests/ با استفاده از فایل اجرایی shell زیر اجرا کنید (برای گزینههای اجرایی بیشتر، فایل را مطالعه کنید):
atest FrameworksWifiApiTests
تستهای سرویس وایفای:
- واقع در
packages/modules/Wifi/service/tests/wifitests/ با استفاده از فایل اجرایی shell زیر اجرا کنید (برای گزینههای اجرایی بیشتر، فایل را مطالعه کنید):
atest FrameworksWifiTests
آزمایشهای CTS
مجموعه تست سازگاری (CTS) شامل تستهایی برای چارچوب Wi-Fi است. این تستها در cts/tests/tests/net/src/android/net/wifi قرار دارند. تستهای Wi-Fi CTS مستلزم آن هستند که دستگاه تحت آزمایش در شروع اجرای تست با یک نقطه دسترسی مرتبط باشد.
گزینههای پیشرفته ثبت وقایع برای اشکالزدایی
Android 9 improved Wi-Fi logging to make it easier to debug Wi-Fi issues. In Android 9 or higher, driver or firmware ring buffers can always be on. Bug reports can automatically be triggered when a bad state is detected (only in userdebug and eng builds). When the Wi-Fi HAL (AIDL or HIDL version 1.2 or higher) is used, firmware debug buffers are stored in the HAL instead of the framework to save IPC costs.
پیادهسازی
برای پیادهسازی مرجع، به پیادهسازی پیشفرض در Vendor HAL مراجعه کنید.
شما میتوانید با تنظیم منبع config_wifi_enable_wifi_firmware_debugging به false، ثبت وقایع میانافزار را غیرفعال کنید.
آزمون دستی
این تست دستی را اجرا کنید تا مطمئن شوید فایلهای قدیمی در دایرکتوری tombstone حذف میشوند.
- وایفای را روشن کنید.
- به یک شبکه متصل شوید.
- یک گزارش اشکال ایجاد کنید.
فایل زیپ گزارش اشکال را بررسی کنید و تأیید کنید که گزارشهای بایگانیشدهی میانافزار وجود دارند. گزارشها در مکانهای زیر یافت میشوند:
- AIDL HAL: بخش
dumpsysاز فایل اصلی گزارش اشکال - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: بخش
تنظیم پیکربندی
برای کنترل قدرت سیگنالی که یک دستگاه با آن به شبکه متصل یا از آن جدا میشود، چارچوب Wi-Fi از آستانههای ورود و خروج RSSI استفاده میکند.
The entry and exit thresholds are stored as overloadable configuration parameters with the following names (where the bad parameter refers to the exit RSSI threshold):
-
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 سربارگذاری شوند.
شما میتوانید با پیکربندی دستگاه با استفاده از دستورات 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