Wi-Fi را تست، اشکال زدایی و تنظیم کنید

این صفحه نحوه آزمایش، اشکال‌زدایی و تنظیم پیاده‌سازی 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 حذف می‌شوند.

  1. وای‌فای را روشن کنید.
  2. به یک شبکه متصل شوید.
  3. یک گزارش اشکال ایجاد کنید.
  4. فایل زیپ گزارش اشکال را بررسی کنید و تأیید کنید که گزارش‌های بایگانی‌شده‌ی میان‌افزار وجود دارند. گزارش‌ها در مکان‌های زیر یافت می‌شوند:

    • AIDL HAL: بخش dumpsys از فایل اصلی گزارش اشکال
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

تنظیم پیکربندی

برای کنترل قدرت سیگنالی که یک دستگاه با آن به شبکه متصل یا از آن جدا می‌شود، چارچوب 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