يوفر نظام التشغيل Android عملية تنفيذ تلقائية لإطار عمل Android تتضمّن إمكانية استخدام بروتوكولات وأوضاع Wi-Fi مختلفة، بما في ذلك:
- البنية الأساسية لشبكة Wi-Fi (محطة)
- نقطة اتصال Wi-Fi (نقطة وصول برمجية) في وضعَي التوصيل أو الأجهزة المحلية فقط
- اتصال Wi-Fi مباشر (نظام الند للند)
- Wi-Fi Aware (NAN)
- Wi-Fi RTT (IEEE 802.11mc FTM)
يتواصل التطبيق الذي يستخدم خدمات Wi-Fi مباشرةً مع خدمات Wi-Fi المختلفة من خلال Binder. يتم تشغيل خدمات Wi-Fi في "خدمة النظام" وتتواصل مع طبقة HAL عبر واجهات HIDL وAIDL المتوفّرة. يوضّح هذا المخطّط البياني البنية العامة لحزمة Wi-Fi في Android.
الشكل 1: هندسة شبكة Wi-Fi في Android
إطار عمل التطبيق
على مستوى إطار عمل التطبيق، يوجد الرمز البرمجي للتطبيق الذي يستخدم واجهات برمجة التطبيقات المختلفة
android.net.wifi
للتفاعل مع إطار عمل Wi-Fi والأجهزة. داخليًا، يستدعي هذا الرمز عملية Wi-Fi من خلال آلية Binder IPC.
خدمات Wi-Fi
يتم تشغيل خدمات Wi-Fi في "خدمة النظام"، وهي متوفّرة في
packages/modules/Wifi/service/. تتواصل خدمة Wi-Fi مع طبقة تجريد الأجهزة (HAL) الخاصة بشبكة Wi-Fi عبر AIDL.
تتوفّر خدمات Wi-Fi مختلفة:
- خدمة Wi-Fi: الآلية الأساسية للتحكّم في أوضاع البنية التحتية لشبكة Wi-Fi (كل من STA وAP).
- خدمة Wi-Fi P2P: تدير وضع اتصال Wi-Fi مباشر.
- خدمة Wi-Fi Aware: تدير وضع Wi-Fi Aware.
- خدمة Wi-Fi RTT: تدير وظيفة FTM وفقًا لمعيار IEEE 802.11mc.
يتضمّن إطار عمل Wi-Fi أيضًا عملية مستقلة، wificond، تقع في system/connectivity/wificond. تتواصل عملية wificond مع برنامج تشغيل Wi-Fi من خلال أوامر nl80211 العادية.
طبقات تجريد الأجهزة (HAL) لشبكة Wi-Fi
يحتوي إطار عمل Wi-Fi على ثلاث مساحات عرض لواجهة HAL الخاصة بشبكة Wi-Fi، ويتم تمثيلها بثلاث واجهات مختلفة، وهي: Vendor HAL وSupplicant HAL وHostapd HAL.
للحصول على تفاصيل حول عمليات تنفيذ مختلف طبقات تجريد الأجهزة (HAL)، راجِع طبقة تجريد الأجهزة (HAL) لشبكة Wi-Fi.