واي فاي مباشر

تتيح ميزة Wi-Fi Direct ، المعروفة أيضًا باسم Wi-Fi P2P، للأجهزة الداعمة اكتشاف الاتصال ببعضها البعض مباشرةً باستخدام بروتوكول Wi-Fi Direct دون الوصول إلى الإنترنت أو الشبكة الخلوية. تسمح هذه الميزة، المبنية على مواصفات Wi-Fi Direct التابعة لـ Wi -Fi Alliance (WFA)، بمشاركة البيانات عالية الإنتاجية بين الأجهزة والتطبيقات الموثوقة التي تكون خارج الشبكة.

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

لاستخدام هذه الميزة، يجب على الشركات المصنعة للأجهزة تنفيذ واجهات Wi-Fi Vendor وSupplicant HAL.

في Android 13، تستخدم واجهة Supplicant AIDL لتعريف HAL. في Android 14 والإصدارات الأحدث، تستخدم واجهة Vendor HAL تقنية AIDL. في نظام التشغيل Android 12 والإصدارات الأقدم، يتم تحديد واجهات Supplicant وVendor HAL باستخدام HIDL.

أسطح Wi-Fi HAL التالية مطلوبة لاستخدام ميزة Wi-Fi Direct:

  • hardware/interfaces/wifi/aidl أو hardware/interfaces/wifi/1.3 أو أعلى
  • hardware/interfaces/wifi/supplicant/aidl أو hardware/interfaces/wifi/supplicant/1.2 أو أعلى

تطبيق

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

  • نطاق:
    • كود AOSP
    • تمكين Wi-Fi Direct: يتطلب علامة ميزة
  • دعم Wi-Fi Direct (P2P) HAL (مما يعني دعم البرامج الثابتة)

لتنفيذ هذه الميزة، تقوم الشركات المصنعة للأجهزة بتنفيذ واجهات Wi-Fi HIDL أو AIDL وتمكين علامة الميزة لـ Wi-Fi Direct. في device.mk الموجود في device/<oem>/<device> ، قم بتعديل متغير البيئة PRODUCT_COPY_FILES ليشمل دعم ميزة Wi-Fi Direct:

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

تم تضمين جميع المتطلبات الأخرى لدعم Wi-FI Direct في AOSP.

العشوائية MAC

يتطلب Android أن يكون عنوان جهاز Wi-Fi Direct وعنوان الواجهة عشوائيًا. ويجب أن تكون مختلفة عن عنوان MAC الحقيقي للجهاز ويجب أن تستوفي المتطلبات التالية:

  • يجب أن يكون عنوان جهاز Wi-Fi Direct عشوائيًا عند إنشاء الواجهة إذا لم تكن هناك مجموعة ثابتة محفوظة؛ وإلا فيجب أن يستمر عنوان الجهاز في استخدام آخر عنوان MAC تم إنشاؤه.
  • يجب أن يكون عنوان واجهة Wi-Fi Direct، المعروف أيضًا باسم عنوان المجموعة، عشوائيًا في كل مرة يتم فيها إنشاء اتصال.

يتم تنفيذ التوزيع العشوائي لـ Wi-Fi Direct MAC في 'wpa_supplicant' ويتم التحكم فيه من خلال تكوينين، p2p_device_random_mac_addr و p2p_interface_random_mac_addr .

لتمكين هذه الميزة، يجب على الشركات المصنعة للأجهزة:

  • تنفيذ واجهة برمجة التطبيقات Wi-Fi Supplicant ISupplicantP2pIface::setMacRandomization API. اعتمادًا على الواجهة المطبقة، يتم ذلك في:
    • hardware/interface/wifi/supplicant/1.2 لـ HIDL
    • hardware/interface/wifi/supplicant/aidl لـ AIDL
  • قم بتعيين config_wifi_p2p_mac_randomization_supported على "true" في التراكب المخصص للجهاز.

تصديق

يوفر Android مجموعة من اختبارات الوحدات، واختبارات التكامل (مجموعة اختبار اتصال Android، أو ACTS)، واختبارات مجموعة اختبار التوافق (CTS) ، واختبارات التحقق من CTS للتحقق من صحة ميزة Wi-Fi Direct. يمكن أيضًا اختبار Wi-Fi Direct باستخدام Vendor Test Suite (VTS) .

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

تحقق من حزمة Wi-Fi Direct باستخدام الاختبارات التالية.

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

atest com.android.server.wifi.p2p

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

atest android.net.wifi.p2p

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

مجموعة اختبار ACTS Wi-FI Direct، الموجودة في tools/test/connectivity/acts_tests/tests/google/wifi/p2p ، تنفذ اختبارات وظيفية لـ Wi-Fi Direct.

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

استخدم اختبارات CTS للتحقق من صحة ميزة Wi-Fi Direct. تكتشف CTS متى يتم تمكين الميزة وتتضمن الاختبارات المرتبطة بها تلقائيًا.

لتشغيل اختبارات CTS، قم بتشغيل:

% atest android.net.wifi.p2p.cts

اختبارات التحقق من CTS

تتحقق اختبارات CTS Verifier من صحة سلوك Wi-Fi Direct باستخدام جهازين: جهاز اختبار وجهاز جيد معروف . لإجراء الاختبارات، افتح CTS Verifier وانتقل إلى القسم الذي يحمل عنوان اختبارات Wi-Fi Direct.