التعرُّف على شبكة Wi-Fi

تتيح ميزة Wi-Fi Aware المُضافة في Android 8.0 للأجهزة المتوافقة اكتشاف بعضها البعض والاتصال بها وتحديد نطاقها (تمت إضافتها في Android 9) مباشرةً باستخدام بروتوكول Wi-Fi Aware بدون الوصول إلى الإنترنت أو شبكة الجوّال. تتيح هذه الميزة، التي تم إنشاؤها استنادًا إلى مواصفات Wi-Fi Aware (الإصدارات 2.0 و3.0 و3.1 و4.0) التي وضعها تحالف Wi-Fi (WFA)، مشاركة البيانات ذات معدل النقل العالي بسهولة بين الأجهزة والتطبيقات الموثوق بها التي لا تكون متصلة بالشبكة.

الأمثلة والمصدر

لاستخدام هذه الميزة، على المصنّعين تنفيذ حزمة HAL الخاصة بمورّدي Wi-Fi. في Android 14 والإصدارات الأحدث، يتم تحديد واجهة HAL للبائع باستخدام AIDL. في الإصدار 13 من نظام التشغيل Android والإصدارات الأقدم، يتم تعريف واجهة HAL الخاصة بالمورّد باستخدام HIDL.

اتّبِع واجهة Wi-Fi لاستخدام ميزة Wi-Fi Aware. اعتمادًا على الواجهة التي يتم تنفيذها، يكون ذلك إمّا:

  • AIDL: ‏ hardware/interfaces/wifi/aidl
  • HIDL: ‏hardware/interfaces/wifi/1.2 أو إصدار أحدث

يمكنك الرجوع إلى واجهة HAL القديمة لشبكة Wi-Fi لمعرفة كيفية ارتباطها بواجهة AIDL وHIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h.

التنفيذ

تحتاج الشركات المصنّعة للأجهزة إلى توفير الدعم لإطار العمل وHAL/البرامج الثابتة:

  • إطار العمل:
    • رمز AOSP
    • تفعيل خدمة Aware: تتطلب هذه الميزة وضع علامة على الميزة وعلامة إصدار
  • التوافق مع طبقة تجريد الأجهزة (HAL) لخدمة Wi-Fi Aware (NAN) (يعني ذلك دعم البرامج الثابتة)

لتنفيذ هذه الميزة، ينفّذ مصنعو الأجهزة واجهة Wi-Fi ويفعّلون علامتَي اختيار للميزات:

  • في BoardConfig.mk أو BoardConfig-common.mk في device/<oem>/<device>، أضِف العلامة التالية:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • في device.mk المتوفّر في device/<oem>/<device>، عدِّل متغيّر بيئة PRODUCT_COPY_FILES ليشمل إتاحة ميزة "الوعي بشبكات Wi-Fi":

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

تشمل خدمة Wi-Fi Aware النطاق الذي يشمل الأجهزة المشابهة باستخدام بروتوكول IEEE 802.11mc، والمعروف أيضًا باسم ميزة "وقت الإرسال والاستقبال". تعتمد هذه الميزة الفرعية لميزة "الاستشعار عبر Wi-Fi" على توفّر ميزة "قياس زمن الاستجابة عبر Wi-Fi" على الجهاز، أي أنّها تتطلّب توفّر كلّ من ميزة "الاستشعار عبر Wi-Fi" وميزة "قياس زمن الاستجابة عبر Wi-Fi" على الجهاز. لمزيد من التفاصيل، يُرجى الاطّلاع على وقت استجابة Wi-Fi.

بخلاف ذلك، يتم تضمين كل ما هو مطلوب لهذه الميزة في AOSP.

يتم تجاهل العلامة WIFI_HIDL_FEATURE_AWARE في حال تحديد العلامة WIFI_HAL_INTERFACE_COMBINATIONS. لمزيد من المعلومات، يُرجى الاطّلاع على تزامن واجهات Wi-Fi المتعددة.

التوزيع العشوائي لعناوين MAC

يتطلب نظام التشغيل Android توزيع عنوان MAC لـ "اكتشاف Wi-Fi" (NMI) وواجهات البيانات (NDP) عشوائيًا وعدم تطابقهما مع عنوان MAC الحقيقي للجهاز. يجب أن تستوفي عناوين MAC الشروط التالية:

  • يتم اختيارها عشوائيًا عند تفعيل ميزة "الاستشعار بالشبكات Wi-Fi" أو إعادة تفعيلها.
  • عند تفعيل ميزة "الاستشعار عبر Wi-Fi"، يجب اختيار عنوان MAC بشكل عشوائي في فواصل زمنية منتظمة يتم ضبطها باستخدام المَعلمة NanConfigRequest.macAddressRandomizationIntervalSec. يتم ضبط هذه القيمة تلقائيًا من خلال إطار العمل على 30 دقيقة.

التعليق والاستئناف

في نظام التشغيل Android 14 والإصدارات الأحدث، تتيح خدمة Wi-Fi Aware إمكانية تعليق واستئناف جلسات الاكتشاف النشطة للتطبيقات المتميزة (بما في ذلك جميع مسارات البيانات المرتبطة بهذه الجلسات). من خلال إتاحة هذه الميزة، يمكن للأجهزة استئناف جلسات الاكتشاف بشكل أسرع واستخدام طاقة أقل لأنّه يمكن تعليق جلسات الاكتشاف.

إذا كان الجهاز يتيح إمكانية الإيقاف المؤقت والاستئناف هذه، يعلّق البرنامج الثابت جلسة Wi-Fi Aware عندما يعلّق تطبيق مفوَّض جلسة الاكتشاف. عندما تكون جلسة الاكتشاف في حالة تعليق، لا ينقل الجهاز أي إطارات لتلك الجلسة أو يستقبلها، بما في ذلك أي NDP نشط في تلك الجلسة. في حال تعليق جميع جلسات الاكتشاف، لا يُرسِل الجهاز أو يتلقّى أي إطارات Wi-Fi Aware.

عندما يستأنف تطبيق امتياز جلسة اكتشاف معلّقة، يعيد إطار العمل الجلسة إلى حالته السابقة، بما في ذلك جميع جلسات NDP المرتبطة. يكون استئناف جلسة الاكتشاف المعلَّقة أسرع من إظهار Wi-Fi Aware وإنشاء جلسة اكتشاف جديدة.

لتمكين إمكانية تعليق جلسات الاكتشاف واستئنافها، على شركات تصنيع الأجهزة توفير دعم HAL والبرامج الثابتة. للاطّلاع على التفاصيل، يُرجى الاطّلاع على IWifiNanIface.java.

يمكن للشركات المصنّعة للأجهزة استخدام الاتصالات خارج النطاق (مثل BLE) لمزامنة التعليق والاستئناف على عدة أجهزة.

التحقُّق

يوفّر Android مجموعة من اختبارات الوحدات واختبارات مجموعة اختبار التوافق (CTS) واختبارات CTS Verifier للتحقّق من صحة ميزة "الوعي باتصال Wi-Fi". يمكن أيضًا اختبار ميزة "الوصول الواعي إلى شبكة Wi-Fi" باستخدام مجموعة اختبار المورّد (VTS).

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

يتم تنفيذ اختبارات حِزم Wi-Fi Aware باستخدام:

اختبارات الخدمة:

atest com.android.server.wifi.aware

اختبارات المدير:

atest android.net.wifi.aware

اختبارات مجموعة أدوات اختبار التوافق (CTS)

استخدِم اختبارات CTS للتحقّق من صحة ميزة Wi-Fi Aware. يرصد CTS الحالات التي يتم فيها تفعيل الميزة ويشمل الاختبارات المرتبطة بها تلقائيًا.

يمكن بدء اختبارات CTS باستخدام:

atest SingleDeviceTest

اختبارات CTS Verifier

تُجري اختبارات أداة التحقّق من توافق الأجهزة مع معيار CTS عمليات التحقّق من سلوك ميزة "الاستشعار بشبكة Wi-Fi" باستخدام جهازَين: جهاز اختبار وجهاز معروف بأنّه يعمل بشكل سليم. لإجراء الاختبارات، افتح CTS Verifier وانتقِل إلى القسم بعنوان "اختبارات Wi-Fi Aware".