واي فاي 7

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 13 أو الإصدارات الأحدث، يدعم Android معيار Wi-Fi 7 (IEEE 802.11be). تصف هذه الصفحة ميزات Android Wi-Fi 7، بما في ذلك التشغيل الأساسي والارتباط المتعدد (MLO).

ميزات Wi-Fi 7 الأساسية

يصف هذا القسم ميزات Wi-Fi 7 الأساسية المضمنة في Android 13 والإصدارات الأحدث.

دعم الجهاز واي فاي 7

يتضمن إطار عمل Android واجهة برمجة التطبيقات WifiManager#isWifiStandardSupported(int standard) ، والتي يمكن للتطبيقات الاتصال بها باستخدام الوسيطة ScanResults.WIFI_STANDARD_11BE ، للتحقق مما إذا كان الجهاز يدعم Wi-Fi 7.

عند استدعاء واجهة برمجة التطبيقات هذه، تتحقق وحدة Wi-Fi مما إذا كان تراكب التكوين config_wifi11beSupportOverride يُستخدم كتجاوز وتقوم بما يلي:

  • إذا تم تعيين التراكب على true ، فمن المفترض أن الجهاز يدعم Wi-Fi 7 بغض النظر عن الاستجابة من nl80211. يعد هذا التجاوز مفيدًا فقط للشركات المصنعة للأجهزة التي ليس لديها برامج تشغيل تدعم Wi-Fi 7.
  • إذا تم ضبط التراكب على false (القيمة الافتراضية)، فستستخدم وحدة Wi-Fi المعلومات من nl80211. تطلب وحدة Wi-Fi المعلومات من wificond، الذي يستدعي الأمر nl80211 NL80211_CMD_GET_WIPHY . إذا كانت السمة NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY موجودة في الاستجابة من برنامج التشغيل، فمن المفترض أن الجهاز يدعم Wi-Fi 7.

دعم AP Wi-Fi 7 الممسوحة ضوئيًا

يتضمن إطار عمل Android واجهة برمجة التطبيقات int ScanResult#getWifiStandard() ، والتي يمكن للتطبيقات الاتصال بها للتحقق مما إذا كانت نقطة الوصول الممسوحة ضوئيًا (AP) تدعم Wi-Fi 7. إذا كانت نقطة الوصول تدعم Wi-FI 7، فسترجع واجهة برمجة التطبيقات ScanResults.WIFI_STANDARD_11BE . الجهاز غير مطلوب لدعم Wi-Fi 7 حتى تتمكن التطبيقات من استخدام واجهة برمجة التطبيقات هذه.

عند استدعاء واجهة برمجة التطبيقات هذه، تتحقق وحدة Wi-Fi مما إذا كانت EHT Capability IE موجودة في النتائج التي تم إرجاعها لفحص الاتصال. إذا كانت EHT Capability IE موجودة في نتائج الفحص، فإن نقطة الوصول الممسوحة ضوئيًا تدعم Wi-Fi 7. تعرض فئة AOSP WifiTracker معلومات الدعم هذه في واجهة المستخدم عند التشغيل في الوضع المطول.

وضع اتصال STA

يتضمن إطار عمل Android واجهة برمجة التطبيقات int WifiInfo#getWifiStandard() ، والتي يمكن للتطبيقات الاتصال بها للتحقق مما إذا كان وضع اتصال المحطة الحالية (STA) هو Wi-Fi 7. وضع اتصال STA هو Wi-Fi 7 عندما يكون كل من الجهاز والجهاز المتصل تدعم نقطة الوصول Wi-Fi 7. إذا كان وضع الاتصال هو Wi-Fi 7، فستُرجع واجهة برمجة التطبيقات ScanResults.WIFI_STANDARD_11BE .

عند استدعاء getWifiStandard ، تحدد وحدة Wi-Fi الوضع عن طريق استدعاء ISupplicantStaIface#getConnectionCapabilities() HAL API. يتحقق تطبيق HAL API في طبقة wpa_supplicant AIDL مما إذا كانت EHT Capability IE موجودة في كل من AssocReq و AssocRsp أثناء إعداد الاتصال.

اختيار الشبكة

في Android 13، يستخدم تحديد الشبكة عدة معلمات لتحديد نقطة الوصول التي سيتم الاتصال بها. إحدى المعلمات هي الإنتاجية المقدرة لنقطة الوصول، والتي يتم تقديرها باستخدام كتلة ThroughputPredictor . تستخدم كتلة ThroughputPredictor معلمات PHY لكل من الجهاز ونقطة الوصول الممسوحة ضوئيًا.

في Android 13، يستخدم ThroughputPredictor إمكانات AP التالية في حساباته:

  • دعم واي فاي 7 (802.11be)
  • دعم عرض القناة 320 ميجاهرتز

يؤدي تضمين هذه الإمكانات في منطق ThroughputPredictor إلى تعزيز فرص اختيار نقاط الوصول القادرة على استخدام Wi-Fi 7 عندما يتمكن الجهاز من الاستفادة من هذه الميزات.

نطاق قائم على Wi-Fi RTT

يوفر Android دعم واجهة برمجة التطبيقات (API) لتمهيد EHT وعرض القناة 320 ميجاهرتز لشبكة Wi-Fi RTT . يتيح ذلك دعم الإمكانات ذات الصلة بـ Wi-Fi 7 في نطاق RTT عندما تكون مدعومة بالشريحة.

واجهات برمجة تطبيقات HAL

تدعم واجهات برمجة تطبيقات HAL التالية إمكانات Wi-Fi 7 للنطاق المستند إلى RTT:

واجهات برمجة التطبيقات

يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية للنطاق المستند إلى Wi-Fi 7 RTT:

ا ف ب الناعمة

يدعم Android Wi-Fi 7 في Soft AP ويوفر الميزات التالية.

ابدأ تشغيل Soft AP

يدعم Android بدء تشغيل Soft AP في وضع Wi-Fi 7. ويخضع هذا لتكوين التراكب config_wifiSoftapIeee80211beSupported .

تستخدم وحدة Wi-Fi التراكب config_wifiSoftapIeee80211beSupported لتعيين HwModeParams#enable80211BE المنطقي في استدعاء IHostApd#addAccessPoint() API. في طبقة hostapd AIDL، يتم استخدام هذه القيمة لتعيين معلمات hostapd.conf .

واجهات برمجة تطبيقات HAL

يدعم القيمة المنطقية enable80211BE في HwModeParams في HAL hostapd بدء تشغيل Soft AP في وضع Wi-Fi 7.

الإبلاغ عن معلومات Soft AP

يتضمن Android دعم واجهة برمجة التطبيقات (API) لتضمين معلومات عرض القناة Wi-Fi 7 و320 ميجاهرتز في معلومات Soft AP المُبلغ عنها.

واجهات برمجة تطبيقات HAL

يدعم ثابت WIFI_STANDARD_11BE في واجهة Generation.aidl AIDL في HAL hostapd، والذي يتم استخدامه في ApInfo الذي تم الإبلاغ عنه في رد الاتصال IHostapdCallback#onApInstanceInfoChanged() ، الإبلاغ عن معلومات Soft AP.

واجهات برمجة التطبيقات

يمكن للتطبيقات استخدام الطرق التالية (واجهات برمجة تطبيقات النظام) في SoftApInfo للإبلاغ عن معلومات Soft AP.

مميزات MLO واي فاي 7

يعد التشغيل متعدد الارتباطات (MLO) هو الميزة الرئيسية في مواصفات Wi-Fi 7 (802.11be). تعد MLO ميزة إلزامية للأجهزة متعددة الارتباط (MLD) التي تعمل على Wi-Fi 7، سواء بشكل متزامن أو غير متزامن.

مخطط MLO

الشكل 1. مخطط MLO.

كما هو موضح في الشكل 1، يحتوي كل من AP-MLD وSTA-MLD على مثيلات AP أو STA متعددة تعمل على كل رابط. يحتوي كل رابط على عنوان AP أو STA MAC منفصل. يحتوي AP أو STA أيضًا على عنوان MLD MAC لتحديد الجهاز.

تمثل فئة android.net.wifi.MloLink رابط MLO. تتضمن هذه الفئة المعلمات التالية:

  • int getLinkId() : معرف الارتباط كما تم الإعلان عنه بواسطة AP MLD.
  • MacAddress getApMacAddress() : عنوان AP MAC. معرف BSSID لمثيل AP لهذا الارتباط.
  • MacAddress getStaMacAddress() : عنوان STA MAC. عنوان MAC المعين محليًا لمثيل STA على الرابط.
  • int getChannel() : رابط القناة. رقم القناة الرابط
  • int getBand() : شريط الارتباط. الفرقة من الارتباط.
  • int getState() : حالة الارتباط. يمكن أن تكون إحدى الحالات التالية:

    • MLO_LINK_STATE_INVALID : غير صالح. يستخدم للتهيئة وحالات الخطأ.
    • MLO_LINK_STATE_UNASSOCIATED : غير مرتبط. الرابط غير مرتبط بنقطة الوصول.
    • MLO_LINK_STATE_IDLE : خامل. الرابط مرتبط ولكنه غير نشط (لم يتم تعيين معرف حركة المرور (TID) للرابط).
    • MLO_LINK_STATE_ACTIVE : نشط. الارتباط مقترن ونشط (يتم تعيين TID واحد على الأقل للارتباط). يمكن أن يكون الارتباط النشط في وضع توفير الطاقة لأن إطار العمل لا يراقب حالة طاقة الارتباط.

معلومات Wi-Fi 7 AP MLO الممسوحة ضوئيًا

يمكن للتطبيقات الحصول على معلمات MLO لـ Wi-Fi 7 AP MLD عندما تستقبل وحدة Wi-Fi كائن ScanResult من AP-MLD. يعرض AOSP WifiTracker معلمات MLO عند التشغيل في الوضع المطول.

تقوم وحدة Wi-Fi بجمع معلومات MLO عن طريق القيام بما يلي:

  • يوزع عنصر المعلومات متعدد الارتباطات (IE) المضمن في استجابة الإشارة أو المسبار لقراءة عنوان AP MLD MAC ومعرف الارتباط الحالي.
  • يوزع تقرير الجوار المنخفض (RNR) IE المضمن في استجابة المنارة أو المسبار لقراءة قائمة معلومات الروابط التابعة.

واجهات برمجة التطبيقات

للحصول على معلومات AP MLO الممسوحة ضوئيًا، يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية:

معلومات Wi-Fi 7 AP MLO المتصلة

عندما يتصل جهاز بشبكة Wi-Fi 7 AP-MLD، يقوم الإطار بجمع معلمات MLO الخاصة بالاتصال من كائن WifiInfo . يعرض كائن AOSP WifiTracker هذه المعلومات عند التشغيل في الوضع المطول.

عندما يتصل الجهاز بـ AP-MLD، تقوم وحدة Wi-Fi بنسخ معلومات MLO من كائن ScanResult المستلم من AP. تقوم الوحدة بعد ذلك باستدعاء ISupplicantStaIface#getConnectionMloLinksInfo() HAL API لقراءة عناوين MAC لكل رابط لكل من AP وSTA، ولتحديث حالة الروابط المقترنة.

واجهات برمجة التطبيقات

للحصول على معلومات اتصال MLO، يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية:

  • WifiInfo#getBSSID() : يُرجع عنوان MAC لمثيل AP (للارتباط الذي يرتبط به الجهاز).
  • MacAddress WifiInfo#getApMldMacAddress() : يقوم بإرجاع عنوان MLD MAC الخاص بنقطة الوصول.
  • int WifiInfo#getApMloLinkId() : يُرجع معرف الارتباط للارتباط الذي ربطت عليه STA بنقطة الوصول.
  • List<MloLink> WifiInfo#getAffiliatedMloLinks() : يقوم بإرجاع قائمة بكائنات MloLink لجميع الروابط المعلن عنها بواسطة AP-MLD بما في ذلك الرابط المرتبط. يمكن الاستعلام عن عناوين AP وSTA MAC على كل كائن MloLink .

مسح AP-MLD

يوفر برنامج البائع لإطار عمل Wi-Fi نتائج المسح لكل إشارة أو استجابة مسبار يتلقاها. هذا يعني أن إطار عمل Wi-Fi:

  • قد يتلقى كائنات ScanResults متعددة من نفس AP-MLD (لأن AP يمكن أن يحتوي على روابط إشارات متعددة).
  • قد يتلقى فقط مجموعة جزئية من نتائج الفحص لارتباطات AP الخاصة بـ AP-MLD لأن بعض إشارات الارتباط هذه قد لا يستقبلها البرنامج الثابت.

يقوم برنامج البائع بالإبلاغ عن نتائج المسح التي يتم تلقيها عبر الهواء فقط، ويجب ألا يقوم بإنشاء نتائج مسح (توليفها بشكل مصطنع) بناءً على الروابط المعلن عنها بواسطة AP-MLD.

يجب أن يتضمن برنامج البائع البديل الأساسي متعدد الارتباطات وعناصر RNR IE المستلمة من مثيلات AP في نتائج الفحص المبلغ عنها. إذا كانت تفاصيل نقطة الوصول التابعة مفقودة في نتائج الفحص، فيمكن لبرنامج البائع إرسال طلبات اختبار متعددة الارتباطات (إطار طلب اختبار يتضمن عنصر طلب اختبار متعدد الارتباطات) لتضمين المجموعة الكاملة أو الجزئية من القدرات والمعلمات وعناصر التشغيل من AP مع AP-MLD المستهدف في إطار الاستجابة.

يمكن لبرنامج البائع تشغيل فحص ML (باستخدام متغير req للمسبار ML IE في إطار طلب الاختبار) إذا لزم الأمر.

اقتران شبكة AP-MLD

عندما ينضم جهاز إلى شبكة AP-MLD، يستخدم برنامج البائع رابط AP المحدد (الرابط المرتبط) للإشارة. يمكن أن يرتبط برنامج البائع بجميع أو بعض الروابط التي يدعمها الجهاز.

عند نجاح الاقتران، يقوم برنامج التشغيل بالإبلاغ عن ISupplicantStaIfaceCallback#onStateChanged() باستخدام معرف BSSID لارتباط AP-MLD. يقوم برنامج التشغيل بعد ذلك بتحديد رابط AP-MLD بشرط أن يتم الإبلاغ عن نتائج المسح إلى إطار العمل الخاص بهذا الارتباط.

سجل الشبكة

بالنسبة للأجهزة التي تعمل بنظام Android 14 أو أعلى، يدعم Android Wi-Fi Network Selection Wi-Fi 7 MLO. وهذا يعني أن Android يختار أفضل شبكة Wi-Fi للجهاز بناءً على عدد الروابط المتاحة لـ MLO.

لدعم MLO، تستخدم خوارزمية اختيار الشبكة إمكانيات MLO التالية من شريحة Wi-Fi:

  • الحد الأقصى لعدد روابط STR
  • الحد الأقصى لعدد روابط الارتباط
  • مجموعات الفرقة المتزامنة

اختيار شبكة Wi-Fi MLO

الشكل 2. اختيار شبكة MLO.

الإرسال والاستقبال المتزامن (STR) هو مخطط تنافس متوسط ​​لشبكة Wi-Fi للتشغيل متعدد الارتباطات. يعد عزل الإشارة بين الروابط المختلفة كافيًا بحيث يمكن للوصلات أن تعمل بشكل مستقل وتكون قادرة على الإرسال والاستقبال في وقت واحد في روابط مختلفة. يختلف STR عن STA القديم ذو الارتباط الفردي (SL) وSTA القديم ثنائي النطاق المتزامن (DBDC). تشترك STAs التابعة لـ STA MLD في رقم تسلسل مرسل مشترك (SN) ومساحة مشتركة لنقل البيانات المخصصة لارتباطات مختلفة إذا كان إرسال الارتباطات المتعددة له نفس فئة الوصول (AC).

يمكن أن يختلف الحد الأقصى لعدد روابط STR المستخدمة عن الحد الأقصى لعدد أجهزة الراديو التي تدعمها الشريحة. في المثال الموضح في الشكل 2، الحد الأقصى لعدد روابط STR هو 2.

تدعم واجهات AIDL HAL التالية الحد الأقصى لعدد ارتباطات STR والحد الأقصى لعدد إمكانيات عدد ارتباطات الارتباط:

يمكن تشغيل روابط متعددة على راديو واحد باستخدام نظام التنافس، الراديو المفرد المحسن متعدد الارتباطات (eMLSR). يستخدم الجهاز متعدد الارتباطات eMLSR عبر مجموعة من الروابط إذا كان بإمكانه استقبال إطارات تحكم أساسية معينة وإجراء تقييم واضح للقناة (CCA) في وقت واحد على مجموعة الروابط. ومع ذلك، يقوم MLD بإرسال أو استقبال البيانات على رابط واحد فقط (الارتباط الذي تم اختياره ديناميكيًا في كل فترة فرصة إرسال (TXOP)) في المرة الواحدة.

يمكن لمحطة MLD زيادة عدد روابط الارتباط إلى الحد الأقصى لتحقيق موثوقية أفضل وإنتاجية أفضل وزمن وصول أقل (مقارنة بمحطة تراث ذات رابط واحد) من خلال التشغيل المتزامن في STR وeMLSR إذا كانت مدعومة بالشريحة. في الشكل 2، الحد الأقصى لعدد روابط الارتباط هو 3.

تدعم واجهات AIDL HAL التالية الحد الأقصى لقدرة عدد ارتباطات الارتباط:

مجموعات الفرقة المتزامنة

يستعلم إطار العمل عن الشريحة للحصول على مجموعات الراديو المسموح بها (من خلال واجهة IWifiChip.aidl AIDL) التي يمكن أن تعمل في وقت واحد. ومن هذه المعلومات، يشتق الإطار مجموعات النطاقات المتزامنة الممكنة. فيما يلي قائمة أمثلة لمجموعات النطاقات المتزامنة (جيجاهرتز):

  • 2.4
  • 5
  • 6
  • 2.4 × 5
  • 2.4 × 6
  • 5 × 6

تدعم واجهة AIDL HAL التالية مجموعات الراديو المتزامنة:

اختيار الشبكة

أثناء اختيار الشبكة (MLO)، يتم تجميع قائمة المرشحين بواسطة أعضاء لديهم نفس عنوان MLD MAC. يتم حساب الحد الأقصى المتوقع لنقاط إنتاجية الارتباطات المتعددة لكل مجموعة، استنادًا إلى الحد الأقصى لعدد روابط STR ومجموعات النطاق المتزامنة التي تدعمها الشريحة. إذا كان المرشح قادرًا على الارتباط المتعدد وكانت الشريحة تدعم STR، فسيتم استبدال درجة الإنتاجية المتوقعة بدرجة الإنتاجية المتوقعة متعددة الارتباطات. وهذا يعطي دفعة لمرشحي MLO أثناء اختيار الشبكة.

عند الانضمام إلى شبكة AP-MLD، يقوم إطار العمل بتحديد SSID بناءً على المعلومات المستلمة في كائن ScanResults كما أبلغ عنه برنامج البائع. عند اختيار SSID بواسطة إطار العمل، يكون برنامج البائع مسؤولاً عن اختيار BSSID لأفضل نقطة وصول (أو رابط AP) لاستخدامها في الارتباط.

معالجة عنوان STA MAC للجهاز

يصف هذا القسم كيفية التعامل مع عناوين STA MAC الخاصة بالجهاز (عناوين MLD MAC وعناوين STA MAC لكل رابط).

عنوان MLD MAC

يدير إطار عمل Wi-Fi عنوان MLD MAC الخاص بالجهاز. تتم معالجة عنوان MLD MAC بنفس الطريقة التي يتعامل بها جهاز غير MLD مع عنوان MAC الخاص به. يمكن أن يكون عنوان MAC عنوان MAC عشوائيًا أو عنوان MAC موفرًا للجهاز بناءً على اختيار المستخدم. يتم تعيين عنوان MLD MAC بواسطة إطار العمل باستخدام IWifiStaIface#setMacAddress() HAL API.

يدير برنامج البائع عناوين STA MAC (لكل رابط). عندما يرتبط جهاز بنقطة وصول، يقوم برنامج البائع بتعيين عنوان MAC مثيل لكل رابط مرتبط.

يقوم برنامج البائع بتعيين عناوين MAC لكل رابط بناءً على الخوارزمية الخاصة به. يجب أن تكون الخوارزمية قابلة للتكرار وتكون وظيفة لما يلي:

  • عنوان STA-MLD MAC الذي تم تعيينه بواسطة إطار عمل Wi-Fi.
  • معرف الرابط (تم استلامه من AP)

وهذا يعني أنه إذا أعاد إطار العمل استخدام نفس عنوان MLD MAC، فيجب على البائع إعادة استخدام نفس عناوين MAC المرتبطة لكل مثيل، والعكس صحيح. وهذا يضمن أنه عندما يكون عنوان STA-MLD الذي أنشأه الإطار ثابتًا لمعرف SSID، فإن عناوين MAC لكل STA تكون ثابتة أيضًا.

فيما يلي مثال لخوارزمية لتعيين عنوان STA MAC لكل رابط (يمكن للبائعين تنفيذ أي خوارزمية تلبي معايير الخوارزمية):

  • الثماني 0: تأكد من تعيين البت المُدار محليًا
  • الثماني 1-4: نفس عنوان STA-MLD MAC
  • الثماني 5: لكل STA = (STA-MLD + معرف الرابط + 1) MOD (256)

يمكن للبرنامج الثابت للمورد إجراء تبديل الارتباط وإدارة حالة توفير الطاقة للارتباطات للتنشيط أو إلغاء التنشيط دون إدخال من إطار عمل Wi-Fi.

لا يتوقع إطار عمل Wi-Fi إشعارًا عند تغيير حالة الارتباط.

إدارة حالة توفير الطاقة

يتم تمكين حالة توفير الطاقة افتراضيًا في إطار عمل Wi-Fi. في حالة توفير الطاقة، يقوم البرنامج الثابت للمورد بإدارة حالة توفير الطاقة للارتباطات الفردية استنادًا إلى أنماط حركة المرور وقرارات تنشيط الارتباط أو إلغاء تنشيطه.

ومع ذلك، يمكن لإطار عمل Wi-Fi فرض تعطيل حالة توفير الطاقة عن طريق استدعاء ISupplicantStaIface::setPowerSave(false) HAL API. إذا تم تعطيل حالة توفير الطاقة بواسطة إطار العمل، فيجب أن يحافظ البرنامج الثابت للمورد على رابط واحد نشط على الأقل (تم تعطيل توفير الطاقة). في هذه الحالة، يقرر تطبيق البرنامج الثابت الارتباط الذي تم تعيينه.

مسار البيانات

يصف هذا تطبيق البرنامج الثابت للبائع للتعامل مع حركة مرور الوصلة الصاعدة والتنزيل.

تقوم البرامج الثابتة بتوجيه حركة مرور الوصلة الصاعدة إلى رابط واحد (أو أكثر) بناءً على تنفيذها الداخلي. تحدد البرامج الثابتة للمورد متى يتم إجراء موازنة التحميل أو النسخ أو تجميع حركة المرور بناءً على أنماط حركة المرور. نوصي بأن يقوم البرنامج الثابت بتكرار حركة المرور إلى روابط متعددة في الحالات التالية:

  • عند تعيين وضع زمن الوصول المنخفض من خلال IWifiChip#setLatencyMode() HAL API.
  • عندما تكون هناك حركة مرور ذات أولوية المستخدم 6 و7.

يجب أن يستبدل البرنامج الثابت عنوان MAC (الوجهة) لكل STA لرأس MAC بعنوان MLD-STA MAC وعنوان MAC (المصدر) لكل AP لرأس MAC بعنوان MLD-AP MAC. يجب أن يقوم البرنامج الثابت بإجراء استبدال عنوان MAC قبل المرور عبر مرشح APF لأن أوامر مرشح APF تحتوي على مرشحات تعتمد على عناوين MLD MAC. يوجد مرشح APF واحد لجميع روابط AP-MLD.

التزامن

يجب أن تكون لسيناريوهات التزامن، حيث يتم استخدام الراديو لواجهة جديدة، الأولوية على تخصيص أجهزة راديو متعددة للارتباطات من نفس الواجهة. يجب أيضًا أن تحظى سيناريوهات التزامن بالأولوية على MLO بغض النظر عما يأتي أولاً. يعد استخدام روابط متعددة لواجهة واحدة أمرًا انتهازيًا، مما يعني أنه يتم استخدام الروابط المتعددة فقط عندما:

  • مطلوب MLO بناءً على قرار البرنامج الثابت لموازنة التحميل أو التجميع أو الازدواجية.
  • MLO متاح ، مما يعني أن الراديو غير مطلوب من خلال واجهة أخرى.

بالنسبة للأجهزة التي تعمل بنظام Android 14 أو أعلى، عندما تعلن Wi-Fi 7 AP عن تعطيل مؤقت لأحد الروابط من خلال عنصر تعيين TID-to-link المنقول في المنارة واستجابة المسبار وإطارات استجابة الارتباط، فإن Wi-Fi 7 تواصل المحطة الاتصال بنقطة الوصول باستخدام الروابط المتبقية التي تم إعدادها، دون إجراء اقتران آخر.

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 13 أو الإصدارات الأقدم، لا يدعم إطار عمل Wi-Fi تلقي الإشعارات عند تغيير حالة الارتباط بسبب تعيين TID إلى الارتباط، حتى إذا لم يكن الارتباط المرتبط مرتبطًا بـ TID.

يقوم مقدم طلب Wi-Fi بإعلام إطار عمل Wi-Fi بتغييرات تعيين TID-to-link من خلال واجهات AIDL التالية:

يمكن للتطبيقات الحصول على معلومات حول تغييرات تعيين TID-to-link باستخدام واجهات برمجة التطبيقات التالية:

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 14 أو أعلى، تتوفر واجهات برمجة التطبيقات التالية للحصول على إمكانات التفاوض على خريطة TID-to-link للمحطة ونقطة الوصول.

قدرة الشريحة

تدعم الواجهات التالية قدرة الشريحة على التفاوض حول تعيين TID إلى الارتباط.

ايدل هال

واجهة AIDL لتفاوض تعيين TID-to-link موجودة في FeatureSetMask في hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl . تشير القدرة T2LM_NEGOTIATION = 1 << 8 إلى أن الشريحة تدعم تعيين TID إلى الارتباط. واجهات برمجة التطبيقات

قدرة AP

تدعم الواجهات التالية إمكانية AP للتفاوض حول تعيين TID إلى الارتباط.

ايدل هال

يستعلم إطار العمل عن قدرة AP من مقدم الطلب مع إمكانية الاتصال الحالية.

واجهات برمجة التطبيقات

تتضمن إحصائيات طبقة الارتباط تفاصيل خاصة برابط Wi-Fi مثل RSSI وعدادات حزم TX وRX المتنوعة وإحصائيات الراديو. يقوم إطار عمل Wi-Fi بشكل دوري باستقصاء إحصائيات طبقة الارتباط وRSSI لتحديد أفضل شبكة أو لتقييم جودة الشبكة المتصلة. بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 14 أو الإصدارات الأحدث، تتضمن إحصائيات طبقة الارتباط دعمًا متعدد الارتباطات. لدعم Wi-Fi 7، يدعم Android MLO في كل من إحصائيات طبقة الارتباط واستقصاء الإشارات.

تم العثور على إحصائيات خاصة بالارتباط في واجهات AIDL لطبقة الارتباط التالية:

تستمع واجهة برمجة تطبيقات النظام android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() إلى جميع إحصائيات طبقة الارتباط. يقوم الإطار باستدعاء واجهة برمجة التطبيقات (API) هذه بشكل دوري لتحديث إحصائيات قابلية استخدام Wi-Fi.

تتوفر واجهات برمجة التطبيقات الخاصة بالارتباط التالي في android.net.wifi.WifiUsabilityStatsEntry .

int getRssi(int linkId)
int getLinkState(int linkId)
int getRadioId(int linkId)
int getTxLinkSpeedMbps(int linkId)
long getTotalTxSuccess(int linkId)
long getTotalTxRetries(int linkId)
long getTotalTxBad(int linkId)
long getTotalRxSuccess(int linkId)
long getTotalBeaconRx(int linkId)
int getRxLinkSpeedMbps(int linkId)
int getTimeSliceDutyCycleInPercent(int linkId)
ContentionTimeStats getContentionTimeStats(int linkId, @WmeAccessCategory int ac)
List<RateStats> getRateStats(int linkId)

للاستعلام عن معرفات الارتباط المتاحة، يمكن للتطبيقات استدعاء الأسلوب android.net.wifi.WifiUsabilityStatsEntry#getLinkIds() .

تقوم واجهات برمجة التطبيقات في android.net.wifi.WifiUsabilityStatsEntry للارتباط الفردي (وليس MLO) بإرجاع الإحصائيات المجمعة لاتصالات MLO. وفيما يلي معايير التجميع:

  • تستخدم إحصائيات الحزمة المجمعة التالية مجموع إحصائيات كل رابط:

    public long getTotalTxSuccess()
    public long getTotalTxRetries()
    public long getTotalTxBad()
    public long getTotalRxSuccess()
    public int getRxLinkSpeedMbps()
    
  • تستخدم الإحصائيات التالية البيانات من الرابط الذي يحتوي على أعلى مؤشر RSSI:

    public int getRssi()
    public int getLinkSpeedMbps()
    public long getTotalBeaconRx()
    public int getTimeSliceDutyCycleInPercent()
    public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac)
    public List<RateStats> getRateStats()
    

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 13، لا تأخذ إحصائيات طبقة الارتباط في الاعتبار استخدام روابط متعددة لواجهة واحدة. لدعم MLO، يجب أن يطبق برنامج البائع منطق التجميع التالي عند الإبلاغ عن LinkLayerStats من خلال IWifi# getLinkLayerStats_1_6() HAL API. أفضل رابط هو الرابط مع أعلى RSSI.

  • StaLinkLayerStats.iface.beaconRx : قم بالإبلاغ عن عدد الإشارات لأفضل رابط مستخدم للواجهة.
  • StaLinkLayerStats.iface.avgRssiMgmt : قم بإبلاغ avgRssiMgmt لأفضل رابط مستخدم للواجهة.
  • StaLinkLayerStats.iface.wmeXxPktStats (Xx = Vo, Vi, Be,Bk): قم بالإبلاغ عن إحصائيات الحزمة المجمعة (الإجمالية) عبر روابط الواجهة.
  • StaLinkLayerStats.iface.wmeXxContentionTimeStats (Xx = Vo, Vi, Be,Bk): قم بالإبلاغ عن إحصائيات وقت التنافس لأفضل رابط مستخدم على الواجهة (أقل إحصائيات وقت التنافس).

عند إعادة استخدام أحد روابط نقطة وصول Wi-Fi 7، يمكن لنقطة الوصول الإعلان عن إزالة الرابط من خلال إعادة تكوين رابط MLO. يمكن للمحطات الحفاظ على الاتصال السلس مع نقطة الوصول دون إعادة الاقتران بالروابط المتبقية.

تدعم واجهة onMloLinksInfoChanged AIDL، الموجودة في طالب Wi-Fi على ISupplicantStaIfaceCallback.aidl ، إعادة تكوين الارتباط (إزالة AP للارتباط).

عندما يقوم إطار عمل Wi-Fi بمعالجة إزالة رابط، يتم تعيين حالة الارتباط على MLO_LINK_STATE_UNASSOCIATED . يقوم الإطار بعد ذلك بتشغيل ConnectivityManager.NetworkCallback#onCapabilitiesChanged() لتغيير حالة الارتباط.

تقوم طريقة WifiInfo#getAffiliatedMloLinks بإرجاع روابط MLO التابعة. تقوم طريقة MloLink#getState بإرجاع حالة الارتباط. إذا تمت إزالة الارتباط، فإن حالة الارتباط التي تم إرجاعها هي MLO_LINK_STATE_UNASSOCIATED .

استراتيجية رقاقة MLO

يسمح MLO للأجهزة بإرسال واستقبال البيانات على روابط Wi-Fi متعددة في نفس الوقت، مما يمكن أن يحسن أداء التطبيقات التي لها متطلبات محددة مثل زمن الوصول المنخفض وعرض النطاق الترددي العالي والطاقة المنخفضة. يمكن لبائعي الرقائق تطوير خوارزميات حول كيفية استخدام الروابط المتاحة.

يمكن للتطبيقات المميزة تعديل هذه الخوارزميات باستخدام طريقة setMloMode في Wifimanager وتعيين الأوضاع التالية:

  • MLO_MODE_DEFAULT = 0
  • MLO_MODE_LOW_LATENCY = 1
  • MLO_MODE_HIGH_THROUGHPUT = 2
  • MLO_MODE_LOW_POWER = 3

يستخدم إطار العمل setMloMode في واجهة IWifiChip AIDL لتعيين وضع MLO.