وای فای 7

برای دستگاه‌هایی که Android 13 یا بالاتر دارند، Android از استاندارد Wi-Fi 7 (IEEE 802.11be) پشتیبانی می‌کند. این صفحه ویژگی‌های Android Wi-Fi 7، از جمله عملیات پایه و چند پیوند (MLO) را توضیح می‌دهد.

ویژگی های Wi-Fi 7 پایه

این بخش ویژگی‌های Wi-Fi 7 پایه موجود در اندروید 13 و بالاتر را شرح می‌دهد.

پشتیبانی از Wi-Fi 7 دستگاه

چارچوب Android شامل WifiManager#isWifiStandardSupported(int standard) API است که برنامه‌ها می‌توانند با آرگومان ScanResults.WIFI_STANDARD_11BE تماس بگیرند تا بررسی کنند که آیا دستگاهی از Wi-Fi 7 پشتیبانی می‌کند یا خیر.

وقتی این API فراخوانی می‌شود، ماژول Wi-Fi بررسی می‌کند که آیا پوشش پیکربندی config_wifi11beSupportOverride به‌عنوان یک جایگزین استفاده می‌شود یا خیر و کارهای زیر را انجام می‌دهد:

  • اگر همپوشانی روی true تنظیم شود، فرض بر این است که دستگاه بدون توجه به پاسخ nl80211 از Wi-Fi 7 پشتیبانی می کند. این لغو فقط برای سازندگان دستگاهی مفید است که درایورهایی ندارند که از 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 شامل API int ScanResult#getWifiStandard() است که برنامه‌ها می‌توانند با آن تماس بگیرند تا بررسی کنند که آیا یک نقطه دسترسی اسکن شده (AP) از Wi-Fi 7 پشتیبانی می‌کند یا خیر. اگر AP از Wi-FI 7 پشتیبانی می‌کند، API ScanResults.WIFI_STANDARD_11BE را برمی‌گرداند.WIFI_STANDARD_11BE . برای اینکه برنامه‌ها از این API استفاده کنند، دستگاه نیازی به پشتیبانی از Wi-Fi 7 ندارد.

هنگامی که این API فراخوانی می شود، ماژول Wi-Fi بررسی می کند که آیا EHT Capability IE در نتایج بازگشتی اسکن اتصال وجود دارد یا خیر. اگر EHT Capability IE در نتایج اسکن باشد، AP اسکن شده از Wi-Fi 7 پشتیبانی می کند. کلاس AOSP WifiTracker این اطلاعات پشتیبانی را در هنگام اجرا در حالت کلامی در رابط کاربری نمایش می دهد.

حالت اتصال STA

چارچوب Android شامل API int WifiInfo#getWifiStandard() است که برنامه‌ها می‌توانند با آن تماس بگیرند تا بررسی کنند که آیا حالت اتصال ایستگاه فعلی (STA) Wi-Fi 7 است یا خیر. حالت اتصال STA هنگامی که دستگاه و دستگاه متصل است، Wi-Fi 7 است. AP از Wi-Fi 7 پشتیبانی می‌کند. اگر حالت اتصال Wi-Fi 7 باشد، API ScanResults را برمی‌گرداند ScanResults.WIFI_STANDARD_11BE .

هنگامی که getWifiStandard فراخوانی می شود، ماژول Wi-Fi با فراخوانی HAL API ISupplicantStaIface#getConnectionCapabilities() حالت را تعیین می کند. اجرای این API HAL در لایه wpa_supplicant AIDL بررسی می کند که آیا EHT Capability IE در AssocReq و AssocRsp در طول تنظیم اتصال وجود دارد یا خیر.

انتخاب شبکه

در اندروید 13، انتخاب شبکه از چندین پارامتر برای تعیین اینکه به کدام AP متصل شود، استفاده می کند. یکی از پارامترها، توان عملیاتی تخمینی AP است که با استفاده از بلوک ThroughputPredictor تخمین زده می شود. بلوک ThroughputPredictor از پارامترهای PHY دستگاه و AP اسکن شده استفاده می کند.

در اندروید 13، ThroughputPredictor از قابلیت های AP زیر در محاسبات خود استفاده می کند:

  • پشتیبانی از Wi-Fi 7 (802.11be)
  • پشتیبانی از عرض کانال 320 مگاهرتز

گنجاندن این قابلیت‌ها در منطق ThroughputPredictor ، شانس انتخاب APهای با قابلیت Wi-Fi 7 را در زمانی که دستگاه می‌تواند از این ویژگی‌ها استفاده کند، افزایش می‌دهد.

محدوده مبتنی بر وای فای RTT

Android از API برای مقدمه EHT و عرض کانال 320 مگاهرتز برای Wi-Fi RTT پشتیبانی می کند. این امکان پشتیبانی از قابلیت‌های مرتبط با Wi-Fi 7 را در محدوده RTT هر زمان که توسط تراشه پشتیبانی می‌شود، فراهم می‌کند.

API های HAL

API های HAL زیر از قابلیت های Wi-Fi 7 برای محدوده مبتنی بر RTT پشتیبانی می کنند:

API ها

برنامه‌ها می‌توانند از APIهای زیر برای محدوده مبتنی بر Wi-Fi 7 RTT استفاده کنند:

Soft AP

اندروید از Wi-Fi 7 در Soft AP پشتیبانی می کند و ویژگی های زیر را ارائه می دهد.

Soft AP را راه اندازی کنید

اندروید از راه اندازی Soft AP در حالت Wi-Fi 7 پشتیبانی می کند. این توسط پیکربندی همپوشانی config_wifiSoftapIeee80211beSupported اداره می شود.

ماژول Wi-Fi از overlay config_wifiSoftapIeee80211beSupported برای تنظیم HwModeParams#enable80211BE بولی در فراخوانی API IHostApd#addAccessPoint() استفاده می کند. در لایه hostapd AIDL از این مقدار برای تنظیم پارامترهای hostapd.conf استفاده می شود.

API های HAL

بولین enable80211BE در HwModeParams در hostapd HAL از راه‌اندازی Soft AP در حالت Wi-Fi 7 پشتیبانی می‌کند.

اطلاعات Soft AP را گزارش دهید

Android شامل پشتیبانی API برای گنجاندن اطلاعات عرض کانال Wi-Fi 7 و 320 مگاهرتز در اطلاعات Soft AP گزارش شده است.

API های HAL

ثابت WIFI_STANDARD_11BE در رابط Generation.aidl AIDL در hostapd HAL، که در ApInfo گزارش شده در IHostapdCallback#onApInstanceInfoChanged() استفاده می شود، از گزارش اطلاعات Soft AP پشتیبانی می کند.

API ها

برنامه ها می توانند از روش های زیر (API های سیستم) در SoftApInfo برای گزارش اطلاعات Soft AP استفاده کنند.

ویژگی های MLO Wi-Fi 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() : آدرس MAC STA. آدرس MAC اختصاص داده شده به صورت محلی برای نمونه STA در پیوند.
  • int getChannel() : پیوند کانال. شماره کانال لینک
  • int getBand() : پیوند باند. باند پیوند.
  • int getState() : وضعیت پیوند. می تواند یکی از حالات زیر باشد:

    • MLO_LINK_STATE_INVALID : نامعتبر است. برای مقداردهی اولیه و موارد خطا استفاده می شود.
    • MLO_LINK_STATE_UNASSOCIATED : غیر مرتبط. پیوند با AP مرتبط نیست.
    • MLO_LINK_STATE_IDLE : بیکار. پیوند مرتبط است اما فعال نیست (هیچ شناسه ترافیک (TID) به پیوند نگاشت نشده است).
    • MLO_LINK_STATE_ACTIVE : فعال. پیوند مرتبط و فعال است (حداقل یک TID به پیوند نگاشت شده است). یک پیوند فعال می‌تواند در حالت ذخیره انرژی باشد، زیرا فریم ورک وضعیت برق پیوند را کنترل نمی‌کند.

اطلاعات Wi-Fi 7 AP MLO اسکن شده

هنگامی که ماژول Wi-Fi یک شی ScanResult را از AP-MLD دریافت می کند، برنامه ها می توانند پارامترهای MLO را برای Wi-Fi 7 AP MLD دریافت کنند. AOSP WifiTracker پارامترهای MLO را هنگام اجرا در حالت کلامی نمایش می دهد.

ماژول Wi-Fi اطلاعات MLO را با انجام کارهای زیر جمع آوری می کند:

  • عنصر اطلاعات چند پیوندی (IE) موجود در پاسخ بیکن یا کاوشگر را برای خواندن آدرس AP MLD MAC و شناسه پیوند فعلی تجزیه می کند.
  • گزارش کاهش یافته همسایه (RNR) IE موجود در پاسخ beacon یا probe را برای خواندن لیست اطلاعات پیوندهای وابسته تجزیه می کند.

API ها

برای دریافت اطلاعات AP MLO اسکن شده، برنامه ها می توانند از API های زیر استفاده کنند:

اطلاعات اتصال 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 بخواند و وضعیت پیوندهای مرتبط را به روز کند.

API ها

برای دریافت اطلاعات اتصال MLO، برنامه ها می توانند از API های زیر استفاده کنند:

  • WifiInfo#getBSSID() : آدرس MAC نمونه AP (برای پیوندی که دستگاه به آن مرتبط است) را برمی‌گرداند.
  • MacAddress WifiInfo#getApMldMacAddress() : آدرس MLD MAC AP را برمی‌گرداند.
  • int WifiInfo#getApMloLinkId() : شناسه پیوند پیوندی را که STA با AP مرتبط کرده است برمی‌گرداند.
  • List<MloLink> WifiInfo#getAffiliatedMloLinks() : فهرستی از اشیاء MloLink را برای همه پیوندهای تبلیغ شده توسط AP-MLD از جمله پیوند مرتبط برمی‌گرداند. هر دو آدرس MAC AP و STA را می توان در هر شی MloLink جستجو کرد.

اسکن AP-MLD

نرم افزار فروشنده، چارچوب وای فای را با نتایج اسکن برای هر پاسخ چراغ یا کاوشگر دریافت می کند. این بدان معناست که چارچوب Wi-Fi:

  • ممکن است چندین شیء ScanResults را از یک AP-MLD دریافت کند (زیرا AP می تواند چندین پیوند beaconing داشته باشد).
  • ممکن است فقط مجموعه ای جزئی از نتایج اسکن برای پیوندهای AP یک AP-MLD دریافت کند زیرا ممکن است برخی از این سیگنال های پیوند توسط سیستم عامل دریافت نشوند.

نرم افزار فروشنده فقط نتایج اسکن دریافتی از طریق هوا را گزارش می دهد و نباید نتایج اسکن را بر اساس پیوندهای تبلیغ شده توسط AP-MLD ایجاد کند (به طور مصنوعی ترکیب کند).

نرم افزار فروشنده باید انواع پایه چند پیوندی و IE های RNR دریافت شده از نمونه های AP را در نتایج اسکن گزارش شده شامل شود. اگر جزئیات AP وابسته در نتایج اسکن وجود نداشته باشد، نرم‌افزار فروشنده می‌تواند درخواست‌های کاوشگر چند پیوندی (قاب درخواست کاوشگر که شامل یک عنصر درخواست پروب چند پیوندی است) ارسال کند تا مجموعه کامل یا جزئی از قابلیت‌ها، پارامترها و عناصر عملیاتی را شامل شود. از AP ​​با AP-MLD مورد نظر در چارچوب پاسخ.

در صورت نیاز، نرم افزار فروشنده می تواند ML-probing را (با استفاده از نوع probe req ML IE در قاب پروب req) راه اندازی کند.

ارتباط شبکه 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 با پیوند تک پیوندی قدیمی (SL) STA و قدیمی دو باند دوگانه همزمان (DBDC) STA متفاوت است. STAهای وابسته به یک STA MLD یک شماره توالی فرستنده مشترک (SN) و یک فضای مشترک برای انتقال داده اختصاص داده شده به پیوندهای مختلف دارند اگر انتقال چند پیوند دارای دسته دسترسی یکسان (AC) باشد.

حداکثر تعداد پیوندهای STR استفاده شده می تواند با حداکثر تعداد رادیوهای پشتیبانی شده توسط تراشه متفاوت باشد. در مثال شکل 2، حداکثر تعداد پیوندهای STR 2 است.

رابط‌های AIDL HAL زیر از حداکثر تعداد پیوندهای STR و حداکثر تعداد قابلیت‌های تعداد پیوندهای مرتبط پشتیبانی می‌کنند:

پیوندهای متعدد می توانند در یک رادیو با استفاده از طرح منازعه، رادیو تک پیوندی پیشرفته (eMLSR) کار کنند. یک دستگاه چند پیوندی در صورتی که بتواند فریم های کنترل اولیه خاصی را دریافت کند و ارزیابی کانال شفاف (CCA) را به طور همزمان روی مجموعه پیوندها انجام دهد، از eMLSR روی مجموعه ای از پیوندها استفاده می کند. با این حال، 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 (یا پیوند AP) برای استفاده برای ارتباط است.

مدیریت آدرس MAC دستگاه STA

این بخش نحوه مدیریت آدرس‌های 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 تنظیم می شود.

نرم افزار فروشنده آدرس های MAC STA را (برای هر پیوند) مدیریت می کند. هنگامی که یک دستگاه با یک AP مرتبط می شود، نرم افزار فروشنده یک آدرس MAC نمونه را برای هر پیوند مرتبط اختصاص می دهد.

نرم افزار فروشنده بر اساس الگوریتم خود آدرس های MAC را برای هر پیوند اختصاص می دهد. الگوریتم باید تکرار پذیر باشد و تابعی از موارد زیر باشد:

  • آدرس MAC STA-MLD توسط چارچوب Wi-Fi تنظیم شده است.
  • شناسه پیوند (دریافت شده از AP)

این بدان معنی است که اگر فریم ورک از همان آدرس MLD MAC استفاده مجدد کند، فروشنده باید از همان آدرس‌های MAC هر نمونه مرتبط استفاده مجدد کند و بالعکس. این تضمین می‌کند که وقتی آدرس STA-MLD ایجاد شده چارچوب برای یک SSID پایدار است، آدرس‌های MAC هر STA نیز پایدار هستند.

در زیر یک الگوریتم مثال برای تخصیص آدرس STA MAC در هر پیوند آورده شده است (فروشندگان می توانند هر الگوریتمی را که معیارهای الگوریتم را برآورده می کند پیاده سازی کنند):

  • Octet 0: مطمئن شوید که بیت مدیریت محلی تنظیم شده است
  • Octet 1-4: همان آدرس MAC STA-MLD
  • Octet 5: Per-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 وجود دارد.

سیستم عامل باید آدرس (مقصد) هر STA MAC هدر MAC را با MLD-STA MAC و (منبع) آدرس MAC هر AP هدر MAC را با آدرس MLD-AP MAC جایگزین کند. سیستم عامل باید این جایگزینی آدرس MAC را قبل از عبور از فیلتر APF انجام دهد زیرا دستورات فیلتر APF دارای فیلترهایی بر اساس آدرس های MLD MAC هستند. یک فیلتر APF برای همه پیوندهای یک AP-MLD وجود دارد.

همزمانی

سناریوهای همزمانی، که در آن از یک رادیو برای یک رابط جدید استفاده می شود، باید نسبت به اختصاص چندین رادیو برای پیوندهای یک رابط، اولویت داشته باشند. سناریوهای همزمانی نیز باید نسبت به MLO اولویت داشته باشند بدون توجه به اینکه کدامیک اول بوده است. استفاده از چندین پیوند برای یک رابط واحد فرصت طلبانه است، به این معنی که چندین پیوند تنها زمانی استفاده می شوند که:

  • MLO بر اساس تصمیم سیستم عامل برای متعادل کردن بار، تجمیع یا تکرار مورد نیاز است .
  • MLO در دسترس است ، به این معنی که یک رابط دیگر نیازی به رادیو ندارد.

برای دستگاه‌هایی که دارای Android نسخه ۱۴ یا بالاتر هستند، هنگامی که Wi-Fi 7 AP غیرفعال شدن موقت یکی از پیوندها را از طریق عنصر نقشه‌برداری TID-to-link ارسال شده در فریم‌های beacon، پاسخ کاوشگر و پاسخ انجمن اعلام می‌کند، Wi-Fi 7 ایستگاه اتصال با AP را با استفاده از پیوندهای باقیمانده تنظیم شده بدون انجام ارتباط دیگری ادامه می دهد.

برای دستگاه‌هایی که Android نسخه 13 یا پایین‌تر دارند، چارچوب Wi-Fi از دریافت اعلان‌ها برای زمانی که وضعیت پیوند به دلیل نگاشت TID-to-link تغییر می‌کند، پشتیبانی نمی‌کند، حتی اگر پیوند مرتبط به TID مرتبط نباشد.

درخواست کننده Wi-Fi چارچوب Wi-Fi را از تغییرات نقشه برداری TID-to-link از طریق رابط های AIDL زیر مطلع می کند:

برنامه‌ها می‌توانند اطلاعاتی درباره تغییرات نقشه‌برداری TID-to-link با استفاده از APIهای زیر دریافت کنند:

برای دستگاه‌های دارای Android 14 یا بالاتر، APIهای زیر برای دریافت قابلیت‌های مذاکره نقشه TID-to-link برای ایستگاه و AP در دسترس هستند.

قابلیت تراشه

رابط های زیر از قابلیت تراشه برای مذاکره نقشه برداری TID-to-link پشتیبانی می کنند.

AIDL HAL

رابط AIDL برای مذاکره نقشه برداری TID-to-link در FeatureSetMask در hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl است. قابلیت T2LM_NEGOTIATION = 1 << 8 نشان می دهد که تراشه از نگاشت TID-to-link پشتیبانی می کند. API ها

قابلیت AP

رابط های زیر از قابلیت AP برای مذاکره نقشه برداری TID-to-link پشتیبانی می کنند.

AIDL HAL

چارچوب قابلیت AP را از درخواست کننده همراه با قابلیت اتصال فعلی جستجو می کند.

  • apTidToLinkMapNegotiationSupported : بررسی می کند که آیا یک AP از قابلیت مذاکره نقشه TID-to-link پشتیبانی می کند یا خیر.

API ها

آمار لایه پیوند شامل جزئیات مربوط به پیوند Wi-Fi مانند RSSI، شمارنده های مختلف بسته TX و RX و آمار رادیویی است. چارچوب Wi-Fi به طور دوره ای آمار لایه پیوند و RSSI را برای انتخاب بهترین شبکه یا ارزیابی کیفیت شبکه متصل بررسی می کند. برای دستگاه‌هایی که اندروید 14 یا بالاتر دارند، آمار لایه پیوند شامل پشتیبانی از چند پیوند است. برای پشتیبانی از Wi-Fi 7، اندروید از MLO هم در آمار لایه پیوند و هم در نظرسنجی سیگنال پشتیبانی می کند.

آمار مربوط به پیوند در رابط های لایه پیوند AIDL زیر یافت می شود:

API سیستم android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() به تمام آمار لایه پیوند گوش می دهد. این چارچوب به صورت دوره‌ای از این API برای به‌روزرسانی آمار قابلیت استفاده از Wi-Fi استفاده می‌کند.

APIهای مختص پیوند زیر در 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() تماس بگیرند.

APIهای موجود در 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 تغییر کاربری داده می شود، AP می تواند از طریق پیکربندی مجدد پیوند MLO حذف پیوند را اعلام کند. ایستگاه ها می توانند اتصال یکپارچه با AP را بدون ارتباط مجدد در پیوندهای باقی مانده حفظ کنند.

رابط 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 استفاده می کند.