اختبار وتصحيح الأخطاء وضبط شبكة Wi-Fi

توضح هذه الصفحة كيفية اختبار تنفيذ Wi-Fi وتصحيح أخطائه وضبطه باستخدام الأدوات المتوفرة في AOSP.

اختبارات

لاختبار إطار عمل Wi-Fi، يوفر AOSP مزيجًا من اختبارات الوحدة واختبارات التكامل (ACTS) واختبارات CTS.

اختبارات الوحدة

يتضمن AOSP اختبارات وظيفية واختبارات وحدة لإطار عمل Wi-Fi الافتراضي: لكل من Wi-Fi Manager (رمز جانب التطبيق) وخدمة Wi-Fi.

اختبارات مدير Wi-Fi:

  • موجود في packages/modules/Wifi/framework/tests/
  • قم بالتشغيل باستخدام Shell القابل للتنفيذ التالي (اقرأ الملف لمزيد من خيارات التنفيذ):

    atest FrameworksWifiApiTests
    

اختبارات خدمة الواي فاي:

  • موجود في packages/modules/Wifi/service/tests/wifitests/
  • قم بالتشغيل باستخدام Shell القابل للتنفيذ التالي (اقرأ الملف لمزيد من خيارات التنفيذ):

    atest FrameworksWifiTests
    

مجموعة اختبار اتصالات Android

يقوم Android Comms Test Suite (ACTS) بإجراء اختبار تلقائي لمكدسات الاتصال، مثل Wi-Fi وBluetooth والخدمات الخلوية. تتطلب أداة الاختبار adb وPython، ويمكن العثور عليها في tools/test/connectivity/acts .

يمكن العثور على اختبارات ACTS لشبكة Wi-FI في tools/test/connectivity/acts_tests/tests/google/wifi ، مع مثال لتكوين الاختبار في نفس الدليل: example_config.json .

اختبارات سي تي إس

تتضمن مجموعة اختبار التوافق (CTS) اختبارات لإطار عمل Wi-Fi. توجد هذه في cts/tests/tests/net/src/android/net/wifi . تتطلب اختبارات Wi-Fi CTS أن يكون الجهاز قيد الاختبار مرتبطًا بنقطة وصول في بداية التشغيل التجريبي.

خيارات تسجيل محسنة لتصحيح الأخطاء

قام Android 9 بتحسين تسجيل شبكة Wi-Fi لتسهيل تصحيح مشكلات Wi-Fi. في نظام التشغيل Android 9 أو الإصدارات الأحدث، يمكن أن تكون المخازن المؤقتة الحلقية لبرنامج التشغيل/البرنامج الثابت قيد التشغيل دائمًا. يمكن تشغيل تقارير الأخطاء تلقائيًا عند اكتشاف حالة سيئة (فقط في إصدارات userdebug وeng). عند استخدام Wi-Fi HAL (AIDL أو HIDL الإصدار 1.2 أو أعلى)، يتم تخزين المخازن المؤقتة لتصحيح أخطاء البرامج الثابتة في HAL بدلاً من إطار العمل لتوفير تكاليف IPC.

تطبيق

للحصول على تطبيق مرجعي، راجع التنفيذ الافتراضي في طبقة توصيف الأجهزة (HAL) الخاصة بالمورد.

يمكنك تعطيل تسجيل البرامج الثابتة عن طريق تعيين المورد، config_wifi_enable_wifi_firmware_debugging ، على false.

اختبار التكامل (ACTS)

يمكن العثور على اختبار التكامل على /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

يتم الاحتفاظ بعمليات تفريغ البرامج الثابتة التي تم التحقق منها في دليل Tombstone المناسب في الفلاش من أجل إنشاءات userdebug. يقوم Dumpstate بجمع البيانات من هذا الدليل عند إنشاء تقرير خطأ.

اختبار يدوي

قم بإجراء هذا الاختبار اليدوي للتحقق من حذف الملفات القديمة الموجودة في دليل علامة مميزة .

  1. قم بتشغيل الواي فاي.
  2. إتصل بالشبكة.
  3. إنشاء تقرير خطأ .
  4. افحص ملف Zip الخاص بتقرير الأخطاء وتحقق من وجود سجلات البرامج الثابتة المؤرشفة. يتم العثور على السجلات في المواقع التالية:

    • AIDL HAL: قسم dumpsys في ملف تقرير الأخطاء الرئيسي
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

ضبط التكوين

للتحكم في قوة الإشارة التي يرتبط بها الجهاز بالشبكة أو ينفصل عنها، يستخدم إطار عمل 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 وقد يتم تحميلها بشكل زائد باستخدام ملف التراكب <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