اختبار وتصحيح الأخطاء وضبط شبكة 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
    

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

  • تقع في 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

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

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

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

التنفيذ

للحصول على تطبيق مرجعي ، راجع التطبيق الافتراضي في HAL الخاص بالمورد.

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

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

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

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

الاختبار اليدوي

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

  1. قم بتشغيل Wi-Fi.
  2. إتصل بالشبكة.
  3. إنشاء تقرير خطأ .
  4. افحص ملف bugreport المضغوط المضغوط وتحقق من أن /lshal-debug/android.hardware.wifi@1.2__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