توضّح هذه الصفحة كيفية اختبار عملية تنفيذ Wi-Fi وتصحيح أخطائها وضبطها باستخدام الأدوات المتوفّرة في مشروع AOSP.
الاختبار
لاختبار إطار عمل Wi-Fi، يوفّر مشروع AOSP مجموعة من اختبارات الوحدات واختبارات 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
اختبارات مجموعة أدوات اختبار التوافق (CTS)
تتضمّن مجموعة أدوات اختبار التوافق (CTS) اختبارات لإطار عمل Wi-Fi. وتقع هذه الأماكن في
cts/tests/tests/net/src/android/net/wifi
. تتطلّب اختبارات Wi-Fi CTS ربط الجهاز الخاضع للاختبار بنقطة وصول في بداية عملية الاختبار.
خيارات تسجيل محسّنة لتصحيح الأخطاء
في نظام التشغيل Android 9، تم تحسين تسجيل بيانات شبكة Wi-Fi لتسهيل تصحيح أخطاء شبكة Wi-Fi. في الإصدار 9 من نظام التشغيل Android أو الإصدارات الأحدث، يمكن دائمًا تفعيل المخازن المؤقتة الحلقية الخاصة ببرامج التشغيل أو البرامج الثابتة. يمكن أن يتم إرسال تقارير الأخطاء تلقائيًا عند رصد حالة غير سليمة (في إصدارات userdebug وeng فقط). عند استخدام طبقة تجريد الأجهزة (HAL) لشبكة Wi-Fi (إصدار AIDL أو HIDL 1.2 أو إصدار أحدث)، يتم تخزين مخازن تصحيح أخطاء البرامج الثابتة في طبقة HAL بدلاً من إطار العمل لتوفير تكاليف الاتصال بين العمليات (IPC).
التنفيذ
للحصول على تنفيذ مرجعي، اطّلِع على التنفيذ التلقائي في Vendor HAL.
يمكنك إيقاف تسجيل البرامج الثابتة عن طريق ضبط المورد,
config_wifi_enable_wifi_firmware_debugging
، على "خطأ".
الاختبار اليدوي
نفِّذ هذا الاختبار اليدوي للتأكّد من أنّه يتم حذف الملفات القديمة في دليل tombstone.
- فعِّل شبكة Wi-Fi.
- اتّصِل بإحدى الشبكات.
- أنشئ تقرير خطأ.
افحص ملف Zip الخاص بتقرير الخطأ وتأكَّد من توفّر سجلّات البرامج الثابتة المؤرشفة. يمكن العثور على السجلّات في المواقع التالية:
- AIDL HAL: قسم
dumpsys
من ملف bugreport الرئيسي - طبقة تجريد الأجهزة (HAL) المستندة إلى لغة تعريف الواجهة (HIDL):
/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
ويمكن تحميلها بشكل زائد
باستخدام ملف التراكب
<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