وضع وقت الاستجابة المنخفض لشبكة Wi-Fi

يضيف نظام التشغيل Android 10 واجهة برمجة التطبيقات Wi-Fi lock API للسماح للتطبيقات الحساسة للوقت الاستجابة بضبط Wi-Fi على وضع وقت استجابة منخفض. يبدأ وضع وقت الاستجابة المنخفض عند استيفاء جميع الشروط التالية:

  • شبكة Wi-Fi مفعَّلة والجهاز متصل بالإنترنت.
  • أنشأ التطبيق قفلاً لـ Wi-Fi وحصل عليه وهو يعمل في المقدّمة.
  • تكون الشاشة قيد التفعيل.

لتفعيل وضع الاستجابة المنخفضة على الأجهزة، على الشركات المصنّعة للأجهزة تحديث برنامج تشغيل WLAN وواجهة HAL الخاصة بالمورّد. في وضع الاستجابة المنخفضة، يوقف إطار العمل ميزة "توفير الطاقة" (المعروفة أيضًا باسم حالة السكون في معيار IEEE 802.11) صراحةً. يمكن تحسين مَعلمات البحث والتجوال في طبقتَي برنامج التشغيل والبرامج الثابتة لخفض وقت استجابة Wi-Fi بشكل أكبر. ترتبط التحسينات الدقيقة بعملية التنفيذ.

يوفّر Android وضع قفل Wi-Fi عالي الأداء (تم طرحه في المستوى 12 من واجهة برمجة التطبيقات) وهو منفصل عن وضع وقت الاستجابة المنخفض.

التنفيذ

لإتاحة ميزة "وضع وقت الاستجابة المنخفض" في شبكة Wi-Fi، عليك توفير عمليات تنفيذ لوظائف IWifiChip التالية.

في واجهة برمجة التطبيقات لـ AIDL:

  • int getFeatureSet()
  • void setLatencyMode(in LatencyMode mode)

في HIDL HAL (الإصدار 1.3 أو إصدار أحدث):

  • getCapabilities_1_3() generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities)
  • setLatencyMode(LatencyMode mode) generates (WifiStatus status)

يمكن العثور على أداة تنفيذ مرجعية في wifi_legacy_hal.cpp باستخدام الدوال التالية:

  • wifi_error wifi_get_supported_feature_set(wifi_interface_handle iface, feature_set *set)
  • wifi_error wifi_set_latency_mode(wifi_interface_handle handle, wifi_latency_mode mode)

في وضع وقت الاستجابة السريع، يتم إيقاف ميزة "توفير الطاقة" بشكل صريح من خلال WifiLockManager في إطار عمل Android. ولتفعيل هذه الميزة، يجب أن يتيح برنامج تشغيل WLAN استخدام الأمر NL80211، NL80211_CMD_SET_POWER_SAVE، لتفعيل ميزة "توفير الطاقة" وإيقافها. عند إيقاف توفير طاقة Wi-Fi، يجب أن يظل نظام Wi-Fi في حالة الوضع النشط ويكون جاهزًا لإرسال أو استلام الحزم بأقل قدر من التأخير.

إيقاف الميزة

لإيقاف ميزة وضع وقت الاستجابة المنخفض، عدِّل الرمز الأساسي لملف ‎getFeatureSet() لواجهة HAL لبروتوكول AIDL أو ملف ‎getCapabilities_1_3() لواجهة HAL لبروتوكول HIDL، بحيث يكون capabilities & SET_LATENCY_MODE = 0، حيث يتم تعريف SET_LATENCY_MODE في تعريف IWifiChip AIDL أو HIDL. عند إيقاف هذه الميزة، يوقف إطار العمل توفير الطاقة فقط عندما يكون وضع وقت الاستجابة السريع نشطًا.

التحقُّق

لاختبار عمل وضع وقت الاستجابة المنخفض عند تفعيله، يمكنك إجراء الاختبارَين المبرمَجَين التاليَين واختبارَي وقت استجابة طلب فحص الاتصال يدويًا.

الاختبار الآلي

نفِّذ اختبارات VTS وCTS التالية:

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

معدات الاختبار والبيئة المطلوبة

للاختبار اليدوي، يجب إجراء الإعدادات التالية:

  • نقطة وصول Wi-Fi
  • الهاتف والجهاز الاختباري

    • يجب توصيل تطبيق DUT بنقطة الوصول عبر شبكة Wi-Fi.
    • يجب أن يكون الكمبيوتر التجريبي متصلاً بنقطة الوصول عبر Wi-Fi أو إيثرنت.
    • يجب توصيل جهاز الكمبيوتر الاختباري بوحدة التحكّم في العينة عبر USB.
  1. تفعيل وضع وقت الاستجابة البطيء

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. تأكَّد من اتصال الكمبيوتر بالهاتف من خلال ADB. من ملف ADB shell، يمكنك إرسال طلب فحص الاتصال بالبوابة باستمرار لمدة 3 ساعات بفواصل زمنية تبلغ ثانية واحدة.

  3. احفظ نتيجة الاختبار في ملف نصي واستخدِم جدول بيانات أو ملف نصي بتنسيق Python لإنشاء رسم بياني هرمي لنتائج اختبار وقت استجابة طلب الاتصال.

  4. كرِّر الخطوات من 1 إلى 3 مع إيقاف وضع "وقت الاستجابة".

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. قارِن نتائج الاختبار للتأكّد من أنّه تم خفض متوسط قيمة وقت استجابة طلب البيانات عند تفعيل وضع وقت الاستجابة المنخفض.

  1. تفعيل وضع وقت الاستجابة المنخفض

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. من سطر الأوامر في جهاز الكمبيوتر التجريبي، يمكنك اختبار عنوان IP للهاتف باستمرار لمدة 3 ساعات بفواصل زمنية تبلغ ثانية واحدة.

  3. احفظ نتيجة الاختبار في ملف نصي واستخدِم جدول بيانات أو ملف نصي بتنسيق Python لإنشاء رسم بياني هرمي لنتائج اختبار وقت استجابة طلب الاتصال.

  4. كرِّر الخطوات من 1 إلى 3 مع إيقاف وضع "وقت الاستجابة".

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. قارن نتائج الاختبار للتأكد من انخفاض متوسط قيمة وقت استجابة فحص الفحص عند تفعيل وضع وقت الاستجابة المنخفض.

الاختبارات الأخرى

كرِّر الاختبارات أعلاه في بيئات مختلفة. على سبيل المثال، في المنزل أو المكتب.