بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح نظام التشغيل Android معيار Wi-Fi 7 (IEEE 802.11be). توضّح هذه الصفحة ميزات شبكة Wi-Fi 7 على Android، بما في ذلك التشغيل الأساسي والتشغيل المتزامن على نطاقات متعددة (MLO).
ميزات Wi-Fi 7 الأساسية
يوضّح هذا القسم ميزات Wi-Fi 7 الأساسية المضمّنة في الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث.
توافُق الجهاز مع شبكة Wi-Fi 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، التي تستدعي الأمر nl80211NL80211_CMD_GET_WIPHY. إذا كانت السمةNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHYمضمّنة في الردّ من برنامج التشغيل، يُفترض أنّ الجهاز يتيح استخدام شبكة Wi-Fi 7.
توافُق نقاط الوصول التي تم البحث عنها مع شبكة 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. يتحقّق تنفيذ واجهة برمجة تطبيقات HAL هذه في طبقة wpa_supplicant AIDL مما إذا كان EHT Capability IE في كل من AssocReq وAssocRsp أثناء إعداد الاتصال.
اختيار الشبكة
في نظام التشغيل Android 13، تستخدم عملية اختيار الشبكة عدة معلَمات لتحديد نقطة الوصول التي سيتم الاتصال بها. أحد المَعلمات هو معدّل نقل البيانات المقدَّر لنقطة الوصول، ويتم تقديره باستخدام الحزمة ThroughputPredictor. يستخدم الحظر ThroughputPredictor مَعلمات الطبقة الفيزيائية (PHY) لكل من الجهاز ونقطة الوصول التي تم فحصها.
في نظام التشغيل Android 13، تستخدم ThroughputPredictor إمكانات نقطة الوصول التالية في عملية الحساب:
- توافق مع شبكة Wi-Fi 7 (802.11be)
- التوافق مع عرض النطاق الترددي للقناة البالغ 320 ميغاهرتز
يؤدي تضمين هذه الإمكانات في منطق ThroughputPredictor إلى زيادة فرص اختيار نقاط وصول متوافقة مع Wi-Fi 7 عندما يكون الجهاز قادرًا على الاستفادة من هذه الميزات.
تحديد المدى استنادًا إلى ميزة "المراسلة النصية في الوقت الفعلي" عبر شبكة Wi-Fi
يتيح نظام التشغيل Android استخدام واجهة برمجة التطبيقات مع ديباجة EHT وعرض القناة 320 ميغاهرتز في Wi-Fi RTT. يتيح ذلك إمكانية استخدام ميزات Wi-Fi 7 ذات الصلة في تحديد المسافة باستخدام تقنية RTT عندما تكون الشريحة متوافقة معها.
واجهات برمجة تطبيقات HAL
تتيح واجهات برمجة التطبيقات التالية في طبقة تجريد الأجهزة إمكانات Wi-Fi 7 لتحديد المدى المستند إلى RTT:
EHT: ثابت فيenum RttPreambleوenum WifiRatePreambleWIDTH_320: ثابت فيenum WifiChannelWidthInMhzBW_320MHz: ثابت فيenum RttBw
واجهات برمجة التطبيقات
يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية لتحديد المسافة استنادًا إلى تقنية RTT في شبكة Wi-Fi 7:
ScanResult#PREAMBLE_EHTResponderConfig#PREAMBLE_EHT(SystemApi)
Soft AP
يتوافق نظام التشغيل Android مع شبكة Wi-Fi 7 في نقطة الوصول البرمجية، ويوفر الميزات التالية.
بدء نقطة الوصول البرمجية
يتيح نظام التشغيل Android بدء تشغيل نقطة وصول برمجية في وضع Wi-Fi 7.
يخضع ذلك لإعدادات config_wifiSoftapIeee80211beSupported.
يستخدم وحدة Wi-Fi التراكب config_wifiSoftapIeee80211beSupported لضبط القيمة المنطقية HwModeParams#enable80211BE في طلب البيانات من واجهة برمجة التطبيقات IHostApd#addAccessPoint(). في طبقة AIDL الخاصة ببرنامج hostapd، يتم استخدام هذه القيمة لضبط مَعلمات hostapd.conf.
واجهات برمجة تطبيقات HAL
تتيح قيمة
enable80211BE
البولية في HwModeParams في hostapd HAL
بدء تشغيل نقطة الوصول البرمجية في وضع Wi-Fi 7.
الإبلاغ عن معلومات نقطة الوصول البرمجية
يتضمّن Android إمكانية استخدام واجهة برمجة التطبيقات لتضمين معلومات حول شبكة Wi-Fi 7 وعرض نطاق القناة البالغ 320 ميغاهرتز ضمن معلومات نقطة الوصول البرمجية (Soft AP) التي يتم إعداد التقارير بشأنها.
واجهات برمجة تطبيقات HAL
الثابت WIFI_STANDARD_11BE في واجهة AIDL
Generation.aidl
في hostapd HAL، والذي يتم استخدامه
في ApInfo الذي تم الإبلاغ عنه في معاودة الاتصال IHostapdCallback#onApInstanceInfoChanged()،
يتيح إعداد تقارير عن معلومات نقطة الوصول البرمجية.
واجهات برمجة التطبيقات
يمكن للتطبيقات استخدام الطرق التالية (واجهات برمجة تطبيقات النظام) في
SoftApInfo
للإبلاغ عن معلومات نقطة الوصول البرمجية.
-
SoftApInfo#getWifiStandard(): تعرض هذه السمةScanResults.WIFI_STANDARD_11BEإذا تم بدء نقطة الوصول البرمجية في وضع Wi-Fi 7. -
SoftApInfo#getBandwidth(): تعرضSoftApInfo#CHANNEL_WIDTH_320MHZفي حال استخدام عرض القناة 320 ميغاهرتز.
ميزات Wi-Fi 7 المتعددة الروابط (MLO)
تُعدّ ميزة "التشغيل المتزامن على عدة قنوات" (MLO) الميزة الرئيسية في مواصفات Wi-Fi 7 (802.11be). MLO هي ميزة إلزامية للأجهزة المتوافقة مع تقنية الربط المتعدد (MLD) التي تعمل على شبكة Wi-Fi 7، سواء بشكل متزامن أو غير متزامن.
الشكل 1: مخطط MLO
كما هو موضّح في الشكل 1، يتضمّن كل من AP-MLD وSTA-MLD مثيلات متعددة من AP أو STA تعمل على كل رابط. يحتوي كل رابط على عنوان MAC منفصل لنقطة الوصول أو محطة STA. يحتوي نقطة الوصول أو محطة STA أيضًا على عنوان MAC متعدد الأجهزة لتحديد الجهاز.
تمثيل رابط MLO
يمثّل الصف
android.net.wifi.MloLink
رابط MLO. يتضمّن هذا الصف المَعلمات التالية:
int getLinkId(): معرّف الرابط كما هو معلن عنه من قِبل AP MLD.MacAddress getApMacAddress(): عنوان MAC لنقطة الوصول معرّف مجموعة الخدمات الأساسية (BSSID) لمثيل نقطة الوصول لهذا الرابطMacAddress getStaMacAddress(): عنوان MAC الخاص بمحطة STA عنوان 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: نشط الرابط مرتبط ونشط (تم ربط معرّف معاملة واحد على الأقل بالرابط). يمكن أن يكون الرابط النشط في وضع توفير الطاقة لأنّ الإطار لا يراقب حالة الطاقة للرابط.
معلومات MLO الخاصة بنقاط وصول Wi-Fi 7 التي تم فحصها
يمكن للتطبيقات الحصول على مَعلمات MLO الخاصة بنقطة وصول Wi-Fi 7 MLD عندما تتلقّى وحدة Wi-Fi العنصر
ScanResult
من نقطة وصول MLD. تعرض حزمة AOSP WifiTracker مَعلمات MLO عند تشغيلها في الوضع المفصّل.
يجمع جهاز Wi-Fi معلومات MLO من خلال تنفيذ ما يلي:
- تحلّل عنصر معلومات الروابط المتعددة (IE) المضمّن في إشارة الإرسال أو استجابة البحث لقراءة عنوان MAC الخاص بالروابط المتعددة لنقطة الوصول ومعرّف الرابط الحالي.
- تحلّل هذه السمة عنصر معلومات RNR المضمّن في إشارة البث أو ردّ التحقّق لقراءة قائمة معلومات الروابط المرتبطة.
واجهات برمجة التطبيقات
للحصول على معلومات حول شبكات AP MLO التي تم فحصها، يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية:
- استبدِل
ScanResult#BSSIDبما يلي: عنوان MAC الخاص بمثيل نقطة الوصول (للرابط الذي تم تلقّي نتيجة الفحص عليه) MacAddress ScanResult#getApMldMacAddress(): تعرض عنوان MAC الخاص بنظام MLD لنقطة الوصول.int ScanResult#getApMloLinkId(): تعرض هذه السمة رقم تعريف الرابط الذي تم تلقّي ScanResult عليه.List<MloLink> ScanResult#getAffiliatedMloLinks(): تعرض هذه السمة قائمة بعناصرMloLinkلجميع الروابط التي يعرضها AP-MLD، بما في ذلك الرابط الذي تم تلقّي ScanResult عليه.
معلومات حول نقطة وصول Wi-Fi 7 المتصلة بتقنية MLO
عندما يتصل جهاز بنقطة وصول Wi-Fi 7 AP-MLD، يجمع إطار العمل مَعلمات MLO الخاصة بالاتصال من العنصر WifiInfo. يعرض العنصر WifiTracker في AOSP هذه المعلومات عند التشغيل في الوضع المفصّل.
عندما يتصل الجهاز بنقطة الوصول المتعددة الروابط (AP-MLD)، تنسخ وحدة Wi-Fi معلومات MLO من العنصر ScanResult الذي تم تلقّيه من نقطة الوصول. بعد ذلك، يستدعي الوحدة ISupplicantStaIface#getConnectionMloLinksInfo() HAL API
لقراءة عناوين MAC لكل رابط لكل من نقطة الوصول (AP) ومحطة البث (STA)، ولتعديل حالة الروابط المرتبطة.
واجهات برمجة التطبيقات
للحصول على معلومات اتصال MLO، يمكن للتطبيقات استخدام واجهات برمجة التطبيقات التالية:
-
WifiInfo#getBSSID(): تعرض هذه السمة عنوان MAC لمثيل نقطة الوصول (بالنسبة إلى الرابط الذي يرتبط به الجهاز). MacAddress WifiInfo#getApMldMacAddress(): تعرض عنوان MAC الخاص بنظام MLD لنقطة الوصول.int WifiInfo#getApMloLinkId(): تعرض هذه السمة معرّف الرابط الذي تم ربط STA به على نقطة الوصول.List<MloLink> WifiInfo#getAffiliatedMloLinks(): تعرض هذه السمة قائمة بكائناتMloLinkلجميع الروابط التي يعلن عنها AP-MLD، بما في ذلك الرابط المرتبط. يمكن طلب البحث عن عنوانَي MAC الخاصين بنقطة الوصول ومحطة STA على كل عنصرMloLink.
AP-MLD scanning
يوفر برنامج المورّد إطار عمل Wi-Fi مع نتائج الفحص لكل إشارة أو ردّ على طلب الفحص يتلقّاه. وهذا يعني أنّ إطار عمل Wi-Fi:
- قد تتلقّى عدة عناصر
ScanResultsمن نقطة وصول واحدة متعددة الروابط (AP-MLD) لأنّه يمكن أن تتضمّن نقطة الوصول روابط إرسال إشارات متعددة. - قد تتلقّى مجموعة جزئية فقط من نتائج الفحص لروابط نقطة الوصول الخاصة بجهاز AP-MLD، لأنّ بعض إشارات الروابط هذه قد لا تتلقّاها البرامج الثابتة.
لا تسجّل تقارير برامج المورّد سوى نتائج عمليات المسح التي تم تلقّيها عبر الأثير، ويجب ألا تنشئ (تجمع بشكل مصطنع) نتائج عمليات المسح استنادًا إلى الروابط المُعلَن عنها من خلال AP-MLD.
يجب أن يتضمّن برنامج المورّد الروابط المتعددة الأساسية الخاصة بالخيارات وعناصر المعلومات الخاصة بالشبكة المقيدة (RNR IE) التي تم تلقّيها من مثيلات نقطة الوصول في نتائج الفحص التي تم الإبلاغ عنها. إذا كانت تفاصيل نقطة الوصول المرتبطة مفقودة في نتائج الفحص، يمكن لبرنامج المورّد إرسال طلبات فحص متعددة الروابط (إطار طلب الفحص الذي يتضمّن عنصر طلب الفحص متعدد الروابط) لتضمين المجموعة الكاملة أو الجزئية من الإمكانات والمعلَمات وعناصر التشغيل الخاصة بنقطة الوصول مع نقطة الوصول المستهدَفة المتعددة الروابط في إطار الرد.
يمكن لبرنامج المورّد تشغيل ميزة ML-probing (باستخدام ML IE لطلب البحث المتغير في إطار طلب البحث) إذا لزم الأمر.
ربط شبكة AP-MLD
عندما ينضم جهاز إلى شبكة AP-MLD، يستخدم برنامج المورّد رابط نقطة الوصول المحدّد (الرابط المرتبط) لإرسال الإشارات. يمكن أن يرتبط برنامج المورّد ببعض الروابط أو جميعها التي يتيحها الجهاز.
بعد الاقتران الناجح، يرسل برنامج التشغيل
ISupplicantStaIfaceCallback#onStateChanged() مع BSSID لرابط
نقطة الوصول المتعددة الروابط (AP-MLD). يختار برنامج التشغيل بعد ذلك رابطًا من AP-MLD بشرط أن يتم إبلاغ إطار العمل بنتائج الفحص لهذا الرابط.
تقييم الشبكة
بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، تتيح ميزة اختيار شبكة Wi-Fi على Android استخدام تقنية MLO في شبكة Wi-Fi 7. وهذا يعني أنّ Android يختار أفضل شبكة Wi-Fi للجهاز استنادًا إلى عدد الروابط المتاحة لتقنية MLO.
لإتاحة MLO، تستخدم خوارزمية اختيار الشبكة إمكانات MLO التالية من شريحة Wi-Fi:
- الحدّ الأقصى لعدد روابط STR
- الحد الأقصى لعدد روابط الربط
- مجموعات النطاقات المتزامنة
الشكل 2: اختيار شبكة MLO
الحدّ الأقصى لعدد روابط STR
الإرسال والاستلام المتزامن (STR) هو نظام للتحكّم في الوصول إلى وسيط Wi-Fi لعمليات الربط المتعدد. ويكون عزل الإشارة بين الروابط المختلفة كافيًا بحيث يمكن أن تعمل الروابط بشكل مستقل وتكون قادرة على الإرسال والاستقبال في الوقت نفسه في روابط مختلفة. يختلف STR عن STA القديم ذي الرابط الفردي (SL) وSTA القديم ذي النطاق المزدوج المتزامن (DBDC). وتتشارك أجهزة STA المرتبطة بجهاز STA MLD رقم تسلسلي (SN) لجهاز الإرسال ومساحة مشتركة لنقل البيانات مخصّصة لروابط مختلفة إذا كان لعمليات نقل الروابط المتعددة فئة الوصول نفسها (AC).
قد يختلف الحد الأقصى لعدد روابط STR المستخدَمة عن الحد الأقصى لعدد أجهزة الراديو التي تتوافق معها الشريحة. في المثال الوارد في الشكل 2، يبلغ الحد الأقصى لعدد روابط STR 2.
تتيح واجهات AIDL HAL التالية الحد الأقصى لعدد روابط STR والحد الأقصى لعدد روابط الاقتران:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidlhardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
الحد الأقصى لعدد روابط الربط
يمكن أن تعمل روابط متعددة على راديو واحد باستخدام نظام التنازع، وهو نظام Enhanced Multi-Link Single Radio (eMLSR). يستخدم الجهاز المتعدد الروابط eMLSR عبر مجموعة من الروابط إذا كان بإمكانه تلقّي بعض إطارات التحكّم الأساسية وإجراء تقييم واضح للقناة (CCA) في الوقت نفسه على مجموعة الروابط. ومع ذلك، ينقل جهاز MLD البيانات أو يستقبلها على رابط واحد فقط (الرابط الذي يتم اختياره ديناميكيًا في كل فترة فرصة نقل (TXOP)) في كل مرة.
يمكن لمحطة MLD زيادة عدد روابط الربط لتحسين الموثوقية وسرعة معالجة البيانات وتقليل وقت الاستجابة (مقارنةً بمحطة قديمة ذات رابط واحد) من خلال التشغيل المتزامن في STR وeMLSR إذا كانت الشريحة الإلكترونية تتيح ذلك. في الشكل 2، يبلغ الحد الأقصى لعدد روابط الربط 3.
تتيح واجهات AIDL HAL التالية إمكانية الحدّ الأقصى لعدد روابط الربط:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidlhardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
مجموعات النطاقات المتزامنة
يستعلم إطار العمل عن الشريحة للحصول على مجموعات الراديو المسموح بها (من خلال واجهة IWifiChip.aidl AIDL) التي يمكن تشغيلها في الوقت نفسه. ومن هذه المعلومات، يستخلص إطار العمل مجموعات النطاقات المتزامنة المحتملة. في ما يلي مثال على قائمة بمجموعات النطاقات المتزامنة (غيغاهرتز):
- 2.4
- 5
- 6
- 2.4 × 5
- 2.4 × 6
- 5 × 6
تتيح واجهة AIDL HAL التالية استخدام تركيبات الراديو المتزامنة:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
اختيار الشبكة
أثناء اختيار الشبكة (MLO)، يتم تجميع قائمة المرشحين حسب الأعضاء الذين لديهم عنوان MAC نفسه الخاص بـ MLD. يتم احتساب الحد الأقصى لنتيجة معدل نقل البيانات المتوقّع باستخدام ميزة الربط المتزامن المتعدد لكل مجموعة استنادًا إلى الحد الأقصى لعدد روابط STR ومجموعات النطاقات المتزامنة التي تتوافق مع الشريحة. إذا كان الجهاز المرشّح متوافقًا مع ميزة الربط المتعدد وكانت الشريحة الإلكترونية متوافقة مع ميزة STR، يتم استبدال نتيجة معدل النقل المتوقّع بنتيجة معدل النقل المتوقّع للربط المتعدد. ويؤدي ذلك إلى تحسين فرص اختيار شبكات MLO أثناء عملية اختيار الشبكة.
عند الانضمام إلى شبكة AP-MLD، يقوم إطار العمل باختيار SSID استنادًا إلى المعلومات الواردة في العنصر ScanResults كما تم الإبلاغ عنها بواسطة برنامج المورّد. عندما يختار إطار العمل معرّف SSID، يكون برنامج المورّد مسؤولاً عن اختيار معرّف BSSID لأفضل نقطة وصول (أو رابط نقطة وصول) لاستخدامه في الربط.
التعامل مع عنوان MAC الخاص بمحطة الجهاز
يوضّح هذا القسم كيفية التعامل مع عناوين MAC الخاصة بمحطة STA (عناوين MAC الخاصة ببروتوكول MLD وعناوين MAC الخاصة بمحطة STA لكل رابط).
عنوان MAC لبروتوكول MLD
يتولّى إطار عمل Wi-Fi إدارة عنوان MAC الخاص بنظام MLD على الجهاز. يتم التعامل مع عنوان MAC الخاص ببروتوكول MLD بالطريقة نفسها التي يتعامل بها جهاز غير MLD مع عنوان MAC الخاص به.
يمكن أن يكون عنوان MAC عشوائيًا أو عنوان MAC مخصّصًا للأجهزة استنادًا إلى اختيار المستخدم. يتم ضبط عنوان MAC الخاص بـ MLD من خلال إطار العمل باستخدام واجهة برمجة التطبيقات IWifiStaIface#setMacAddress() HAL.
عنوان MAC الخاص بمحطة STA لكل رابط
يدير برنامج المورّد عناوين MAC الخاصة بمحطة STA (لكل رابط). عندما يرتبط جهاز بنقطة وصول، يخصص برنامج المورّد عنوان MAC لكل رابط مرتبط.
يُعيّن برنامج المورّد عناوين MAC لكل رابط استنادًا إلى الخوارزمية. يجب أن تكون الخوارزمية قابلة للتكرار وأن تكون دالة في ما يلي:
- عنوان MAC الخاص بـ STA-MLD الذي يحدّده إطار عمل Wi-Fi
- رقم تعريف الرابط (تم استلامه من نقطة الوصول)
وهذا يعني أنّه إذا كان إطار العمل يعيد استخدام عنوان MAC نفسه الخاص ببروتوكول MLD، على المورّد إعادة استخدام عناوين MAC نفسها المرتبطة بكل مثيل، وإذا كان المورّد يعيد استخدام عناوين MAC الخاصة بكل مثيل، على إطار العمل إعادة استخدام عنوان MAC نفسه الخاص ببروتوكول MLD. يتحقّق هذا الاختبار من أنّه عندما يكون عنوان STA-MLD الذي تم إنشاؤه بواسطة إطار العمل ثابتًا بالنسبة إلى SSID، تكون عناوين MAC لكل STA ثابتة أيضًا.
في ما يلي مثال على خوارزمية لتحديد عنوان MAC الخاص بـ STA لكل رابط (يمكن للمورّدين تنفيذ أي خوارزمية تستوفي معايير الخوارزمية):
- Octet 0: تأكَّد من ضبط بت الإدارة المحلية
- الثمانيات من 1 إلى 4: هي نفسها عنوان MAC الخاص بـ STA-MLD
- Octet 5: Per-STA = (STA-MLD + link ID + 1) MOD (256)
معالجة الروابط المتعددة
يمكن لبرنامج الجهاز الخاص بالمورّد تنفيذ عملية تبديل الروابط وإدارة حالة توفير الطاقة للروابط من أجل تفعيلها أو إيقافها بدون الحاجة إلى إدخال بيانات من إطار عمل Wi-Fi.
لا يتوقّع إطار عمل Wi-Fi تلقّي إشعار عند تغيير حالة الربط.
إدارة حالة توفير الطاقة
يكون وضع توفير الطاقة مفعَّلاً تلقائيًا في إطار عمل Wi-Fi. في حالة توفير الطاقة، يدير البرنامج الثابت الخاص بالمورّد حالة توفير الطاقة للروابط الفردية استنادًا إلى أنماط نقل البيانات وقرارات تفعيل الروابط أو إيقافها.
ومع ذلك، يمكن لإطار عمل Wi-Fi فرض إيقاف حالة توفير الطاقة من خلال استدعاء واجهة برمجة التطبيقات ISupplicantStaIface::setPowerSave(false) HAL. إذا تم إيقاف حالة توفير الطاقة من خلال إطار العمل، يجب أن يحافظ البرنامج الثابت للمورِّد على رابط واحد على الأقل نشطًا (توفير الطاقة غير مفعَّل). في هذه الحالة، يحدّد تنفيذ البرنامج الثابت الرابط الذي سيتم ضبطه.
مسار البيانات
يصف ذلك عملية تنفيذ البرامج الثابتة الخاصة بالمورّد للتعامل مع حركة بيانات الإرسال والاستقبال.
حركة بيانات الإرسال
توجّه البرامج الثابتة حركة بيانات الربط الصاعد إلى رابط واحد (أو أكثر) استنادًا إلى عملية التنفيذ الداخلية. يحدّد البرنامج الثابت الخاص بالمورّد وقت إجراء موازنة التحميل أو التكرار أو التجميع لحركة البيانات استنادًا إلى أنماط حركة البيانات. ننصح بتكرار حركة بيانات البرامج الثابتة إلى روابط متعددة في الحالات التالية:
- عند ضبط وضع وقت الاستجابة المنخفض من خلال واجهة برمجة التطبيقات
IWifiChip#setLatencyMode()HAL. - عندما يكون هناك عدد زيارات بأولوية المستخدم 6 و7
حركة البيانات الواردة
يجب أن يستبدل البرنامج الثابت عنوان MAC (الوجهة) لكل محطة STA في عنوان MAC بعنوان MAC الخاص بمحطة STA في MLD، وأن يستبدل عنوان MAC (المصدر) لكل نقطة وصول AP في عنوان MAC بعنوان MAC الخاص بنقطة وصول AP في MLD. يجب أن ينفّذ البرنامج الثابت عملية استبدال عنوان MAC هذه قبل المرور عبر فلتر APF لأنّ أوامر فلتر APF تتضمّن فلاتر تستند إلى عناوين MAC الخاصة ببروتوكول MLD. يتوفّر فلتر APF واحد لجميع روابط AP-MLD.
التزامن
يجب أن يكون لسيناريوهات التزامن، حيث يتم استخدام الراديو لواجهة جديدة، الأولوية على تخصيص أجهزة راديو متعددة لروابط الواجهة نفسها. يجب أيضًا أن تحظى سيناريوهات التزامن بالأولوية على MLO بغض النظر عن الترتيب الزمني. إنّ استخدام روابط متعددة لواجهة واحدة هو أمر انتهازي، ما يعني أنّه لا يتم استخدام روابط متعددة إلا في الحالات التالية:
- مطلوب MLO استنادًا إلى قرار البرنامج الثابت بشأن موازنة الحمل أو التجميع أو التكرار.
- متاح، ما يعني أنّ واجهة أخرى لا تتطلّب استخدام جهاز لاسلكي.
ربط المعرّف المؤقت بالرابط
بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، عندما يعلن نقطة وصول Wi-Fi 7 عن إيقاف مؤقت لأحد الروابط من خلال عنصر ربط TID يتم إرساله في إطارات الإشارات والردود على عمليات البحث والردود على عمليات الربط، تواصل محطة Wi-Fi 7 الاتصال بنقطة الوصول باستخدام الروابط المتبقية التي تم إعدادها، بدون إجراء عملية ربط أخرى.
بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android أو الإصدارات الأقدم، لا يتيح إطار عمل Wi-Fi تلقّي إشعارات عند تغيير حالة الرابط بسبب ربط المعرّف المؤقت للجهاز بالرابط، حتى إذا لم يكن الرابط المرتبط مرتبطًا بمعرّف مؤقت للجهاز.
AIDL HAL
يُعلم برنامج طلب المصادقة على شبكة Wi-Fi إطار عمل Wi-Fi بالتغييرات في عملية ربط المعرّف المؤقت بالرابط من خلال واجهات AIDL التالية:
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidlhardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIface.aidlhardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/MloLinksInfo.aidl
واجهات برمجة التطبيقات
يمكن للتطبيقات الحصول على معلومات حول التغييرات في عملية ربط المعرّف المؤقت بالرابط باستخدام واجهات برمجة التطبيقات التالية:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged(): يتم تفعيل دالة رد الاتصال بالشبكة من خلال إطار العمل عند حدوث تغيير في عملية الربط بين المعرّف المؤقت والمعرّف المرتبط.-
WifiInfo#getAssociatedMloLinks(): تعرض هذه السمة روابط MLO المرتبطة. -
MloLink#getState(): تعرض حالة الرابط،MLO_LINK_STATE_ACTIVEأوMLO_LINK_STATE_IDLE.
إمكانات التفاوض بشأن ربط المعرّف المؤقت بالجهاز بالرابط
بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، تتوفّر واجهات برمجة التطبيقات التالية للحصول على إمكانات التفاوض بشأن ربط المعرّف المؤقت بالجهاز ومحطة الوصول.
إمكانات الشريحة
تتيح الواجهات التالية إمكانية التفاوض بشأن ربط معرّف الجهاز برابط.
AIDL HAL
تتوفّر واجهة AIDL للتفاوض بشأن ربط المعرّف المؤقت بالجهاز في FeatureSetMask
في hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl. تشير إمكانية
T2LM_NEGOTIATION = 1 << 8 إلى أنّ الشريحة تتوافق مع ربط المعرّف المؤقت بالرابط.
واجهات برمجة التطبيقات
WifiManager.isTidToLinkMappingNegotiationSupported(): تعرض هذه السمة الشريحة التي تتيح التفاوض بشأن ربط المعرّف المؤقت بالرابط.
إمكانية نقطة الوصول
تتيح الواجهات التالية إمكانية AP للتفاوض بشأن ربط المعرّف بالرابط.
AIDL HAL
يستعلم إطار العمل عن إمكانية نقطة الوصول من طالب الاتصال بالإضافة إلى إمكانية الاتصال الحالية.
apTidToLinkMapNegotiationSupported: للتحقّق مما إذا كانت نقطة الوصول تتوافق مع إمكانية التفاوض على خريطة ربط المعرّف المؤقت.
واجهات برمجة التطبيقات
WifiInfo.isApTidToLinkMappingNegotiationSupported(): تعرض هذه السمة ما إذا كان AP يتيح التفاوض بشأن ربط المعرّف المؤقت بالرابط.
إحصاءات طبقة الربط
تتضمّن إحصاءات طبقة الربط تفاصيل خاصة برابط Wi-Fi، مثل قوة إشارة الاستقبال (RSSI) وعدادات حِزم الإرسال والاستقبال المختلفة وإحصاءات الراديو. يطلب إطار عمل Wi-Fi بشكل دوري إحصاءات طبقة الربط وقوة الإشارة المستلَمة (RSSI) لاختيار أفضل شبكة أو لتقييم جودة الشبكة المتصلة. بالنسبة إلى الأجهزة التي تعمل بالإصدار 14 من نظام التشغيل Android أو الإصدارات الأحدث، تتضمّن إحصاءات طبقة الربط ميزة دعم الربط المتعدد. لإتاحة استخدام Wi-Fi 7، يتيح نظام التشغيل Android استخدام MLO في كل من إحصاءات طبقة الربط واستطلاع الإشارة.
يمكن العثور على إحصاءات خاصة بالروابط في واجهات AIDL التالية لطبقة الروابط:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidlhardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
تستمع واجهة برمجة التطبيقات الخاصة بنظام
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
إلى جميع إحصاءات طبقة الربط. يستدعي إطار العمل واجهة برمجة التطبيقات هذه بشكل دوري لتعديل إحصاءات قابلية استخدام شبكة 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
بالنسبة إلى الأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android، لا تأخذ إحصاءات طبقة الربط في الاعتبار استخدام روابط متعددة لواجهة واحدة. لإتاحة ميزة "تحديد الموقع الجغرافي المتعدّد المصادر"، يجب أن يطبّق برنامج المورّد منطق التجميع التالي عند إعداد التقارير عن LinkLayerStats من خلال واجهة برمجة التطبيقات IWifi# getLinkLayerStats_1_6() HAL. أفضل رابط هو الرابط الذي يتضمّن أعلى قيمة RSSI.
StaLinkLayerStats.iface.beaconRx: تعرض هذه السمة عدد إشارات التتبّع لأفضل رابط مستخدَم للواجهة.StaLinkLayerStats.iface.avgRssiMgmt: تعرض هذه السمةavgRssiMgmtأفضل رابط مستخدَم للواجهة.StaLinkLayerStats.iface.wmeXxPktStats(Xx = Vo, Vi, Be,Bk): لعرض إحصاءات الحِزم المجمَّعة (الإجمالي) على مستوى روابط الواجهة.StaLinkLayerStats.iface.wmeXxContentionTimeStats(Xx = Vo, Vi, Be,Bk): لعرض إحصاءات وقت التعارض لأفضل رابط مستخدَم على الواجهة (أقل إحصاءات وقت التعارض).
إعادة ضبط رابط MLO
عند إعادة استخدام أحد روابط نقطة وصول Wi-Fi 7، يمكن لنقطة الوصول الإعلان عن إزالة الرابط من خلال إعادة ضبط إعدادات رابط MLO. يمكن للمحطات الحفاظ على اتصال سلس بنقطة الوصول بدون إعادة ربط على الروابط المتبقية.
تتيح واجهة
onMloLinksInfoChanged
AIDL، المتوفّرة في برنامج Wi-Fi supplicant على
ISupplicantStaIfaceCallback.aidl،
إعادة ضبط إعدادات الربط (إزالة نقطة الوصول للربط).
عندما يعالج إطار عمل Wi-Fi عملية إزالة رابط، يتم ضبط حالة الرابط على MLO_LINK_STATE_UNASSOCIATED.
بعد ذلك، ينشّط إطار العمل
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
لتغيير حالة الرابط.
تعرض الطريقة
WifiInfo#getAffiliatedMloLinks
روابط MLO المرتبطة بالحساب. تعرض الطريقة
MloLink#getState
حالة الرابط. في حال تمت إزالة الرابط، ستكون حالة الرابط المعروضة هي MLO_LINK_STATE_UNASSOCIATED.
استراتيجية Chip MLO
تتيح تقنية MLO للأجهزة إرسال البيانات واستلامها عبر روابط Wi-Fi متعددة في الوقت نفسه، ما يمكن أن يحسّن أداء التطبيقات التي لديها متطلبات محددة، مثل وقت الاستجابة المنخفض والنطاق الترددي العالي واستهلاك الطاقة المنخفض. ويمكن لمورّدي الشرائح الإلكترونية تطوير خوارزميات حول كيفية استخدام الروابط المتاحة.
يمكن للتطبيقات ذات الامتيازات تعديل هذه الخوارزميات باستخدام طريقة
setMloMode
في Wifimanager وتحديد الأوضاع التالية:
MLO_MODE_DEFAULT = 0MLO_MODE_LOW_LATENCY = 1MLO_MODE_HIGH_THROUGHPUT = 2MLO_MODE_LOW_POWER = 3
يستخدم إطار العمل
setMloMode
في واجهة IWifiChip AIDL
لضبط وضع MLO.