Android 13 या उच्चतर चलाने वाले उपकरणों के लिए, Android वाई-फ़ाई 7 (IEEE 802.11be) मानक का समर्थन करता है। यह पेज बेसलाइन और मल्टी-लिंक ऑपरेशन (एमएलओ) सहित एंड्रॉइड वाई-फाई 7 सुविधाओं का वर्णन करता है।
बेसलाइन वाई-फ़ाई 7 सुविधाएँ
यह अनुभाग एंड्रॉइड 13 और उच्चतर में शामिल बेसलाइन वाई-फाई 7 सुविधाओं का वर्णन करता है।
डिवाइस वाई-फाई 7 सपोर्ट
एंड्रॉइड फ्रेमवर्क में WifiManager#isWifiStandardSupported(int standard)
API शामिल है, जिसे ऐप्स ScanResults.WIFI_STANDARD_11BE
तर्क के साथ कॉल कर सकते हैं, यह जांचने के लिए कि कोई डिवाइस वाई-फाई 7 का समर्थन करता है या नहीं।
जब इस एपीआई को कॉल किया जाता है, तो वाई-फाई मॉड्यूल जांच करता है कि क्या config_wifi11beSupportOverride
कॉन्फ़िगरेशन ओवरले को ओवरराइड के रूप में उपयोग किया जाता है और निम्न कार्य करता है:
- यदि ओवरले को
true
पर सेट किया गया है, तो यह माना जाता है कि डिवाइस nl80211 की प्रतिक्रिया की परवाह किए बिना वाई-फाई 7 का समर्थन करता है। यह ओवरराइड केवल उन डिवाइस निर्माताओं के लिए उपयोगी है जिनके पास वाई-फ़ाई 7 का समर्थन लौटाने वाले ड्राइवर नहीं हैं। - यदि ओवरले
false
(डिफ़ॉल्ट मान) पर सेट है, तो वाई-फाई मॉड्यूल nl80211 से जानकारी का उपयोग करता है। वाई-फ़ाई मॉड्यूल wificond से जानकारी का अनुरोध करता है, जो nl80211 कमांडNL80211_CMD_GET_WIPHY
को कॉल करता है। यदिNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
विशेषता ड्राइवर की प्रतिक्रिया में है, तो माना जाता है कि डिवाइस वाई-फाई 7 का समर्थन करता है।
स्कैन किया गया एपी वाई-फाई 7 समर्थन
एंड्रॉइड फ्रेमवर्क में int ScanResult#getWifiStandard()
एपीआई शामिल है, जिसे ऐप्स यह जांचने के लिए कॉल कर सकते हैं कि स्कैन किया गया एक्सेस प्वाइंट (एपी) वाई-फाई 7 का समर्थन करता है या नहीं। यदि एपी वाई-फाई 7 का समर्थन करता है, तो एपीआई ScanResults.WIFI_STANDARD_11BE
लौटाता है। इस एपीआई का उपयोग करने वाले ऐप्स के लिए डिवाइस को वाई-फ़ाई 7 का समर्थन करना आवश्यक नहीं है।
जब इस एपीआई को कॉल किया जाता है, तो वाई-फाई मॉड्यूल जांचता है कि कनेक्टिविटी स्कैन के लौटाए गए परिणामों में EHT Capability IE
है या नहीं। यदि EHT Capability IE
स्कैन परिणामों में है, तो स्कैन किया गया AP वाई-फाई 7 का समर्थन करता है। AOSP WifiTracker
वर्ग वर्बोज़ मोड में चलने पर उपयोगकर्ता इंटरफ़ेस में इस समर्थन जानकारी को प्रदर्शित करता है।
एसटीए कनेक्शन मोड
एंड्रॉइड फ्रेमवर्क में int WifiInfo#getWifiStandard()
API शामिल है, जिसे ऐप्स यह जांचने के लिए कॉल कर सकते हैं कि वर्तमान स्टेशन (STA) कनेक्शन मोड वाई-फाई 7 है या नहीं। STA कनेक्शन मोड वाई-फाई 7 है जब डिवाइस और कनेक्टेड दोनों AP वाई-फाई 7 को सपोर्ट करता है। यदि कनेक्शन मोड वाई-फाई 7 है, तो एपीआई ScanResults.WIFI_STANDARD_11BE
लौटाता है।
जब getWifiStandard
को कॉल किया जाता है, तो वाई-फ़ाई मॉड्यूल ISupplicantStaIface#getConnectionCapabilities()
HAL API को कॉल करके मोड निर्धारित करता है। wpa_supplicant
AIDL लेयर में इस HAL API का कार्यान्वयन यह जांचता है कि कनेक्शन सेटअप के दौरान EHT Capability IE
AssocReq
और AssocRsp
दोनों में है या नहीं।
नेटवर्क का चयन
एंड्रॉइड 13 में, नेटवर्क चयन यह निर्धारित करने के लिए कई मापदंडों का उपयोग करता है कि किस एपी से कनेक्ट करना है। मापदंडों में से एक एपी का अनुमानित थ्रूपुट है, जिसका अनुमान ThroughputPredictor
ब्लॉक का उपयोग करके लगाया जाता है। ThroughputPredictor
ब्लॉक डिवाइस और स्कैन किए गए एपी दोनों के PHY पैरामीटर का उपयोग करता है।
एंड्रॉइड 13 में, ThroughputPredictor
अपनी गणना में निम्नलिखित एपी क्षमताओं का उपयोग करता है:
- वाई-फाई 7 (802.11be) का समर्थन
- 320 मेगाहर्ट्ज चैनल चौड़ाई का समर्थन
ThroughputPredictor
लॉजिक में इन क्षमताओं को शामिल करने से वाई-फाई 7 सक्षम एपी का चयन करने की संभावना बढ़ जाती है जब डिवाइस इन सुविधाओं का उपयोग कर सकता है।
वाई-फाई आरटीटी-आधारित रेंजिंग
एंड्रॉइड ईएचटी प्रस्तावना के लिए एपीआई समर्थन और वाई-फाई आरटीटी के लिए 320 मेगाहर्ट्ज चैनल चौड़ाई प्रदान करता है। यह जब भी चिप द्वारा समर्थित होता है तो आरटीटी में वाई-फाई 7 संबंधित क्षमताओं के समर्थन को सक्षम बनाता है।
एचएएल एपीआई
निम्नलिखित एचएएल एपीआई आरटीटी-आधारित रेंजिंग के लिए वाई-फाई 7 क्षमताओं का समर्थन करते हैं:
-
EHT
:enum RttPreamble
औरenum WifiRatePreamble
में स्थिरांक -
WIDTH_320
:enum WifiChannelWidthInMhz
में स्थिरांक -
BW_320MHz
:enum RttBw
में स्थिरांक
शहद की मक्खी
ऐप्स वाई-फाई 7 आरटीटी-आधारित रेंजिंग के लिए निम्नलिखित एपीआई का उपयोग कर सकते हैं:
-
ScanResult#PREAMBLE_EHT
-
ResponderConfig#PREAMBLE_EHT
(SystemApi)
नरम एपी
एंड्रॉइड सॉफ्ट एपी में वाई-फाई 7 का समर्थन करता है और निम्नलिखित सुविधाएं प्रदान करता है।
सॉफ्ट एपी प्रारंभ करें
एंड्रॉइड वाई-फाई 7 मोड में सॉफ्ट एपी शुरू करने का समर्थन करता है। यह config_wifiSoftapIeee80211beSupported
ओवरले कॉन्फ़िगरेशन द्वारा नियंत्रित होता है।
वाई-फ़ाई मॉड्यूल IHostApd#addAccessPoint()
API कॉल में बूलियन HwModeParams#enable80211BE
सेट करने के लिए ओवरले config_wifiSoftapIeee80211beSupported
का उपयोग करता है। होस्टपैड एआईडीएल परत में, इस मान का उपयोग hostapd.conf
पैरामीटर सेट करने के लिए किया जाता है।
एचएएल एपीआई
होस्टपैड एचएएल में HwModeParams
में enable80211BE
बूलियन वाई-फाई 7 मोड में सॉफ्ट एपी शुरू करने का समर्थन करता है।
सॉफ्ट एपी जानकारी की रिपोर्ट करें
एंड्रॉइड में रिपोर्ट की गई सॉफ्ट एपी जानकारी में वाई-फाई 7 और 320 मेगाहर्ट्ज चैनल चौड़ाई की जानकारी शामिल करने के लिए एपीआई समर्थन शामिल है।
एचएएल एपीआई
होस्टपैड एचएएल में Generation.aidl
एआईडीएल इंटरफ़ेस में WIFI_STANDARD_11BE
स्थिरांक, जिसका उपयोग IHostapdCallback#onApInstanceInfoChanged()
कॉलबैक में रिपोर्ट किए गए ApInfo
में किया जाता है, सॉफ्ट एपी जानकारी की रिपोर्टिंग का समर्थन करता है।
शहद की मक्खी
सॉफ्ट एपी जानकारी की रिपोर्ट करने के लिए ऐप्स SoftApInfo
में निम्नलिखित विधियों (सिस्टम एपीआई) का उपयोग कर सकते हैं।
-
SoftApInfo#getWifiStandard()
: यदि Soft AP वाई-फ़ाई 7 मोड में प्रारंभ किया गया है, तोScanResults.WIFI_STANDARD_11BE
लौटाता है। -
SoftApInfo#getBandwidth()
: यदि 320 मेगाहर्ट्ज चैनल चौड़ाई का उपयोग किया जाता है तोSoftApInfo#CHANNEL_WIDTH_320MHZ
लौटाता है।
एमएलओ वाई-फाई 7 विशेषताएं
मल्टी-लिंक ऑपरेशन (एमएलओ) वाई-फाई 7 (802.11बीई) विनिर्देश में मुख्य विशेषता है। वाई-फाई 7 में चलने वाले मल्टी-लिंक डिवाइस (एमएलडी) के लिए एमएलओ एक अनिवार्य सुविधा है, चाहे समवर्ती या गैर-समवर्ती रूप से।
चित्र 1. एमएलओ आरेख।
जैसा कि चित्र 1 में दिखाया गया है, एपी-एमएलडी और एसटीए-एमएलडी दोनों में प्रत्येक लिंक पर कई एपी या एसटीए उदाहरण चल रहे हैं। प्रत्येक लिंक का एक अलग AP या STA MAC पता होता है। एपी या एसटीए के पास डिवाइस की पहचान करने के लिए एक एमएलडी मैक पता भी है।
एमएलओ लिंक प्रतिनिधित्व
android.net.wifi.MloLink
वर्ग MLO लिंक का प्रतिनिधित्व करता है। इस वर्ग में निम्नलिखित पैरामीटर शामिल हैं:
-
int getLinkId()
: एपी एमएलडी द्वारा विज्ञापित लिंक आईडी। -
MacAddress getApMacAddress()
: AP MAC पता। उस लिंक के लिए एपी उदाहरण का बीएसएसआईडी। -
MacAddress getStaMacAddress()
: STA MAC पता। लिंक पर एसटीए उदाहरण के लिए स्थानीय रूप से निर्दिष्ट मैक पता। -
int getChannel()
: लिंक चैनल। लिंक का चैनल नंबर. -
int getBand()
: लिंक बैंड। लिंक का बैंड. int getState()
: लिंक स्थिति। निम्नलिखित राज्यों में से एक हो सकता है:-
MLO_LINK_STATE_INVALID
: अमान्य. आरंभीकरण और त्रुटि मामलों के लिए उपयोग किया जाता है। -
MLO_LINK_STATE_UNASSOCIATED
: असंबद्ध। लिंक किसी AP से संबद्ध नहीं है. -
MLO_LINK_STATE_IDLE
: निष्क्रिय. लिंक संबद्ध है लेकिन सक्रिय नहीं है (लिंक पर कोई ट्रैफ़िक पहचानकर्ता (टीआईडी) मैप नहीं किया गया है)। -
MLO_LINK_STATE_ACTIVE
: सक्रिय। लिंक संबद्ध और सक्रिय है (लिंक पर कम से कम एक TID मैप किया गया है)। एक सक्रिय लिंक पावर सेव मोड में हो सकता है क्योंकि फ्रेमवर्क लिंक की पावर स्थिति की निगरानी नहीं करता है।
-
स्कैन की गई वाई-फाई 7 एपी एमएलओ जानकारी
जब वाई-फाई मॉड्यूल एपी-एमएलडी से ScanResult
ऑब्जेक्ट प्राप्त करता है तो ऐप्स वाई-फाई 7 एपी एमएलडी के लिए एमएलओ पैरामीटर प्राप्त कर सकते हैं। वर्बोज़ मोड में चलने पर AOSP WifiTracker
MLO पैरामीटर प्रदर्शित करता है।
वाई-फाई मॉड्यूल निम्नलिखित कार्य करके एमएलओ जानकारी एकत्र करता है:
- एपी एमएलडी मैक पते और वर्तमान लिंक आईडी को पढ़ने के लिए बीकन या जांच प्रतिक्रिया में शामिल मल्टी-लिंक सूचना तत्व (आईई) को पार्स करता है।
- संबद्ध लिंक जानकारी की सूची को पढ़ने के लिए बीकन या जांच प्रतिक्रिया में शामिल कम पड़ोसी रिपोर्ट (आरएनआर) आईई को पार्स करता है।
शहद की मक्खी
स्कैन की गई एपी एमएलओ जानकारी प्राप्त करने के लिए, ऐप्स निम्नलिखित एपीआई का उपयोग कर सकते हैं:
-
ScanResult#BSSID
: एपी इंस्टेंस मैक पता (उस लिंक के लिए जिस पर स्कैन परिणाम प्राप्त हुआ है) -
MacAddress ScanResult#getApMldMacAddress()
: AP का MLD MAC पता लौटाता है। -
int ScanResult#getApMloLinkId()
: उस लिंक के लिए लिंक आईडी लौटाता है जिस पर स्कैनरिजल्ट प्राप्त हुआ था। -
List<MloLink> ScanResult#getAffiliatedMloLinks()
: एपी-एमएलडी द्वारा विज्ञापित सभी लिंक के लिएMloLink
ऑब्जेक्ट की एक सूची लौटाता है, जिसमें वह लिंक भी शामिल है जिस पर स्कैनरिजल्ट प्राप्त हुआ था।
कनेक्टेड वाई-फाई 7 एपी एमएलओ जानकारी
जब कोई डिवाइस वाई-फाई 7 एपी-एमएलडी से कनेक्ट होता है, तो फ्रेमवर्क WifiInfo
ऑब्जेक्ट से कनेक्शन के एमएलओ पैरामीटर एकत्र करता है। AOSP WifiTracker
ऑब्जेक्ट वर्बोज़ मोड में चलने पर यह जानकारी प्रदर्शित करता है।
जब डिवाइस एपी-एमएलडी से जुड़ता है, तो वाई-फाई मॉड्यूल एपी से प्राप्त ScanResult
ऑब्जेक्ट से एमएलओ जानकारी की प्रतिलिपि बनाता है। मॉड्यूल तब AP और STA दोनों के लिए प्रत्येक लिंक के MAC पते को पढ़ने और संबंधित लिंक की स्थिति को अपडेट करने के लिए ISupplicantStaIface#getConnectionMloLinksInfo()
HAL API को कॉल करता है।
शहद की मक्खी
एमएलओ कनेक्शन जानकारी प्राप्त करने के लिए, ऐप्स निम्नलिखित एपीआई का उपयोग कर सकते हैं:
-
WifiInfo#getBSSID()
: AP इंस्टेंस MAC पता लौटाता है (उस लिंक के लिए जिस पर डिवाइस संबद्ध है)। -
MacAddress WifiInfo#getApMldMacAddress()
: AP का MLD MAC पता लौटाता है। -
int WifiInfo#getApMloLinkId()
: उस लिंक के लिए लिंक आईडी लौटाता है जिस पर STA ने AP के साथ संबद्ध किया है। -
List<MloLink> WifiInfo#getAffiliatedMloLinks()
: संबंधित लिंक सहित AP-MLD द्वारा विज्ञापित सभी लिंक के लिएMloLink
ऑब्जेक्ट की एक सूची लौटाता है। प्रत्येकMloLink
ऑब्जेक्ट पर AP और STA दोनों MAC पते पूछे जा सकते हैं।
एपी-एमएलडी स्कैनिंग
विक्रेता सॉफ्टवेयर प्रत्येक बीकन या जांच प्रतिक्रिया के लिए स्कैन परिणामों के साथ वाई-फाई ढांचा प्रदान करता है। इसका मतलब है कि वाई-फाई ढांचा:
- एक ही एपी-एमएलडी से कई
ScanResults
ऑब्जेक्ट प्राप्त हो सकते हैं (क्योंकि एपी में कई बीकनिंग लिंक हो सकते हैं)। - एपी-एमएलडी के एपी लिंक के लिए स्कैन परिणामों का केवल आंशिक सेट प्राप्त हो सकता है क्योंकि इनमें से कुछ लिंक सिग्नल फर्मवेयर द्वारा प्राप्त नहीं किए जा सकते हैं।
विक्रेता सॉफ़्टवेयर केवल हवा में प्राप्त स्कैन परिणामों की रिपोर्ट करता है, और एपी-एमएलडी द्वारा विज्ञापित लिंक के आधार पर स्कैन परिणाम (कृत्रिम रूप से संश्लेषित) नहीं बनाना चाहिए।
विक्रेता सॉफ़्टवेयर को रिपोर्ट किए गए स्कैन परिणामों में एपी उदाहरणों से प्राप्त मूल संस्करण मल्टी-लिंक और आरएनआर आईई शामिल करना होगा। यदि संबद्ध एपी विवरण स्कैन परिणामों में गायब हैं, तो विक्रेता सॉफ्टवेयर क्षमताओं, मापदंडों और संचालन तत्वों के पूर्ण या आंशिक सेट को शामिल करने के लिए मल्टी-लिंक जांच अनुरोध (जांच अनुरोध फ्रेम जिसमें एक जांच अनुरोध मल्टी-लिंक तत्व शामिल है) भेज सकता है। प्रतिक्रिया फ्रेम में लक्षित एपी-एमएलडी के साथ एपी का।
यदि आवश्यक हो तो विक्रेता सॉफ्टवेयर एमएल-प्रोबिंग (जांच अनुरोध फ्रेम में जांच अनुरोध संस्करण एमएल आईई का उपयोग करके) ट्रिगर कर सकता है।
एपी-एमएलडी नेटवर्क एसोसिएशन
जब कोई डिवाइस एपी-एमएलडी नेटवर्क से जुड़ता है, तो विक्रेता सॉफ्टवेयर सिग्नलिंग के लिए चयनित एपी लिंक (संबद्ध लिंक) का उपयोग करता है। विक्रेता सॉफ़्टवेयर डिवाइस द्वारा समर्थित सभी या कुछ लिंक से संबद्ध हो सकता है।
सफल एसोसिएशन पर, ड्राइवर AP-MLD के लिए एक लिंक के BSSID के साथ ISupplicantStaIfaceCallback#onStateChanged()
की रिपोर्ट करता है। इसके बाद ड्राइवर एपी-एमएलडी के एक लिंक का चयन करता है, बशर्ते स्कैन परिणाम उस लिंक के लिए फ्रेमवर्क को रिपोर्ट किए गए हों।
नेटवर्क स्कोरिंग
एंड्रॉइड 14 या उच्चतर चलाने वाले उपकरणों के लिए, एंड्रॉइड वाई-फाई नेटवर्क चयन वाई-फाई 7 एमएलओ का समर्थन करता है। इसका मतलब है कि एंड्रॉइड एमएलओ के लिए उपलब्ध लिंक की संख्या के आधार पर डिवाइस के लिए सर्वश्रेष्ठ वाई-फाई नेटवर्क का चयन करता है।
एमएलओ का समर्थन करने के लिए, नेटवर्क चयन एल्गोरिदम वाई-फाई चिप से निम्नलिखित एमएलओ क्षमताओं का उपयोग करता है:
- अधिकतम एसटीआर लिंक गिनती
- अधिकतम एसोसिएशन लिंक गिनती
- एक साथ बैंड संयोजन
चित्र 2. एमएलओ नेटवर्क चयन।
अधिकतम एसटीआर लिंक गिनती
एक साथ संचारित और प्राप्त करें (एसटीआर) मल्टी-लिंक ऑपरेशन के लिए एक वाई-फाई माध्यम सामग्री योजना है। विभिन्न लिंकों के बीच सिग्नल अलगाव पर्याप्त है ताकि लिंक स्वतंत्र रूप से काम कर सकें और विभिन्न लिंक में एक साथ संचारित और प्राप्त करने में सक्षम हों। एसटीआर लीगेसी सिंगल लिंक (एसएल) एसटीए और लीगेसी डुअल बैंड डुअल समवर्ती (डीबीडीसी) एसटीए से अलग है। एसटीए एमएलडी से संबद्ध एसटीए एक सामान्य ट्रांसमीटर अनुक्रम संख्या (एसएन) साझा करते हैं और यदि एकाधिक लिंक ट्रांसमिशन में समान एक्सेस श्रेणी (एसी) होती है तो विभिन्न लिंक को आवंटित डेटा ट्रांसमिशन के लिए एक सामान्य स्थान होता है।
उपयोग किए गए एसटीआर लिंक की अधिकतम संख्या चिप द्वारा समर्थित रेडियो की अधिकतम संख्या से भिन्न हो सकती है। चित्र 2 के उदाहरण में, अधिकतम एसटीआर लिंक संख्या 2 है।
निम्नलिखित एआईडीएल एचएएल इंटरफेस अधिकतम एसटीआर लिंक गिनती और एसोसिएशन लिंक गिनती क्षमताओं की अधिकतम संख्या का समर्थन करते हैं:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
अधिकतम एसोसिएशन लिंक गिनती
विवाद योजना, एन्हांस्ड मल्टी-लिंक सिंगल रेडियो (ईएमएलएसआर) का उपयोग करके एकाधिक लिंक एक ही रेडियो पर काम कर सकते हैं। एक मल्टी-लिंक डिवाइस लिंक के एक सेट पर ईएमएलएसआर का उपयोग करता है यदि यह कुछ बुनियादी नियंत्रण फ्रेम प्राप्त कर सकता है और लिंक के सेट पर एक साथ स्पष्ट चैनल मूल्यांकन (सीसीए) कर सकता है। हालाँकि, एमएलडी एक समय में केवल एक लिंक (प्रत्येक ट्रांसमिट अवसर (टीएक्सओपी) अवधि में गतिशील रूप से चुना गया लिंक) पर डेटा प्रसारित या प्राप्त करता है।
एक एमएलडी स्टेशन चिप द्वारा समर्थित होने पर एसटीआर और ईएमएलएसआर में समवर्ती संचालन करके बेहतर विश्वसनीयता, बेहतर थ्रूपुट और कम विलंबता (एकल लिंक विरासत स्टेशन की तुलना में) के लिए एसोसिएशन लिंक की संख्या को अधिकतम कर सकता है। चित्र 2 में, अधिकतम एसोसिएशन लिंक संख्या 3 है।
निम्नलिखित एआईडीएल एचएएल इंटरफेस अधिकतम एसोसिएशन लिंक गिनती क्षमता का समर्थन करते हैं:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
एक साथ बैंड संयोजन
फ़्रेमवर्क चिप से अनुमत रेडियो संयोजन ( IWifiChip.aidl
AIDL इंटरफ़ेस के माध्यम से) प्राप्त करने के लिए पूछताछ करता है जो एक साथ काम कर सकता है। इस जानकारी से, रूपरेखा एक साथ संभावित बैंड संयोजन प्राप्त करती है। एक साथ बैंड संयोजन (GHz) की एक उदाहरण सूची निम्नलिखित है:
- 2.4
- 5
- 6
- 2.4 x 5
- 2.4 x 6
- 5 x 6
निम्नलिखित AIDL HAL इंटरफ़ेस एक साथ रेडियो संयोजनों का समर्थन करता है:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
नेटवर्क का चयन
नेटवर्क चयन (एमएलओ) के दौरान, उम्मीदवार सूची को समान एमएलडी मैक पते वाले सदस्यों द्वारा समूहीकृत किया जाता है। प्रत्येक समूह के लिए अधिकतम पूर्वानुमानित मल्टी-लिंक थ्रूपुट स्कोर की गणना अधिकतम एसटीआर लिंक गणना और चिप द्वारा समर्थित एक साथ बैंड संयोजनों के आधार पर की जाती है। यदि उम्मीदवार मल्टी-लिंक सक्षम है और चिप एसटीआर का समर्थन करता है, तो अनुमानित थ्रूपुट स्कोर को मल्टी-लिंक अनुमानित थ्रूपुट स्कोर से बदल दिया जाता है। इससे नेटवर्क चयन के दौरान एमएलओ उम्मीदवारों को बढ़ावा मिलता है।
एपी-एमएलडी नेटवर्क से जुड़ते समय, फ्रेमवर्क विक्रेता सॉफ्टवेयर द्वारा रिपोर्ट की गई ScanResults
ऑब्जेक्ट में प्राप्त जानकारी के आधार पर एसएसआईडी चयन करता है। फ्रेमवर्क द्वारा एसएसआईडी चयन पर, विक्रेता सॉफ्टवेयर एसोसिएशन के लिए उपयोग करने के लिए सर्वोत्तम एपी (या एपी लिंक) के लिए बीएसएसआईडी का चयन करने के लिए जिम्मेदार है।
डिवाइस एसटीए मैक एड्रेस हैंडलिंग
यह अनुभाग वर्णन करता है कि डिवाइस एसटीए मैक पते (एमएलडी मैक पते और प्रति-लिंक एसटीए मैक पते) को कैसे प्रबंधित किया जाता है।
एमएलडी मैक पता
वाई-फाई फ्रेमवर्क डिवाइस के एमएलडी मैक एड्रेस को प्रबंधित करता है। एमएलडी मैक पते को उसी तरह से संभाला जाता है जैसे एक गैर-एमएलडी डिवाइस अपने स्वयं के मैक पते को संभालता है। MAC पता उपयोगकर्ता की पसंद के आधार पर एक यादृच्छिक MAC पता या हार्डवेयर प्रावधानित MAC पता हो सकता है। MLD MAC पता IWifiStaIface#setMacAddress()
HAL API का उपयोग करके फ्रेमवर्क द्वारा सेट किया गया है।
प्रति-लिंक एसटीए मैक पता
विक्रेता सॉफ़्टवेयर उदाहरण STA MAC पते (प्रत्येक लिंक के लिए) प्रबंधित करता है। जब कोई डिवाइस एपी के साथ जुड़ता है, तो विक्रेता सॉफ़्टवेयर प्रत्येक संबद्ध लिंक के लिए एक इंस्टेंस मैक पता निर्दिष्ट करता है।
विक्रेता सॉफ़्टवेयर अपने एल्गोरिदम के आधार पर प्रति-लिंक मैक पते निर्दिष्ट करता है। एल्गोरिदम दोहराने योग्य होना चाहिए और निम्नलिखित का एक कार्य होना चाहिए:
- एसटीए-एमएलडी मैक एड्रेस वाई-फाई फ्रेमवर्क द्वारा सेट किया गया है।
- लिंक आईडी (एपी से प्राप्त)
इसका मतलब यह है कि यदि फ्रेमवर्क समान एमएलडी मैक पते का पुन: उपयोग करता है, तो विक्रेता को समान संबद्ध प्रति-इंस्टेंस मैक पते का पुन: उपयोग करना होगा, और इसके विपरीत। यह गारंटी देता है कि जब एसएसआईडी के लिए फ्रेमवर्क जनरेट किया गया एसटीए-एमएलडी पता लगातार बना रहता है, तो प्रति-एसटीए मैक पते भी लगातार बने रहते हैं।
प्रति-लिंक एसटीए मैक एड्रेस असाइनमेंट के लिए एक उदाहरण एल्गोरिदम निम्नलिखित है (विक्रेता किसी भी एल्गोरिदम को लागू कर सकते हैं जो एल्गोरिदम मानदंडों को पूरा करता है):
- ऑक्टेट 0: सुनिश्चित करें कि स्थानीय रूप से प्रशासित बिट सेट है
- ऑक्टेट 1-4: एसटीए-एमएलडी मैक एड्रेस के समान
- ऑक्टेट 5: प्रति-एसटीए = (एसटीए-एमएलडी + लिंक आईडी + 1) एमओडी (256)
मल्टी-लिंक हैंडलिंग
विक्रेता फर्मवेयर लिंक स्विचिंग कर सकता है और वाई-फाई फ्रेमवर्क से इनपुट के बिना सक्रियण या निष्क्रियकरण के लिए लिंक की पावर सेव स्थिति का प्रबंधन कर सकता है।
जब लिंक स्थिति बदली जाती है तो वाई-फ़ाई फ़्रेमवर्क किसी अधिसूचना की अपेक्षा नहीं करता है।
बिजली बचाने की स्थिति का प्रबंधन
वाई-फ़ाई फ़्रेमवर्क पर पावर सेव स्थिति डिफ़ॉल्ट रूप से सक्षम है। पावर सेव स्थिति में, विक्रेता फ़र्मवेयर ट्रैफ़िक पैटर्न और लिंक सक्रियण या निष्क्रियकरण निर्णयों के आधार पर व्यक्तिगत लिंक की पावर सेव स्थिति का प्रबंधन करता है।
हालाँकि, वाई-फ़ाई फ़्रेमवर्क ISupplicantStaIface::setPowerSave(false)
HAL API को कॉल करके पावर सेव स्थिति को अक्षम करने के लिए बाध्य कर सकता है। यदि पावर सेव स्थिति फ्रेमवर्क द्वारा अक्षम है, तो विक्रेता फर्मवेयर को कम से कम एक लिंक सक्रिय रखना होगा (पावर सेव अक्षम)। इस स्थिति में, फर्मवेयर कार्यान्वयन तय करता है कि कौन सा लिंक सेट किया गया है।
डेटा पथ
यह अपलिंक और डाउनलोड ट्रैफ़िक को संभालने के लिए विक्रेता फ़र्मवेयर कार्यान्वयन का वर्णन करता है।
अपलिंक ट्रैफ़िक
फ़र्मवेयर अपने आंतरिक कार्यान्वयन के आधार पर ट्रैफ़िक को एक (या अधिक) लिंक पर अपलिंक करता है। विक्रेता फ़र्मवेयर तय करता है कि ट्रैफ़िक पैटर्न के आधार पर लोड संतुलन, दोहराव, या ट्रैफ़िक का एकत्रीकरण कब करना है। हम निम्नलिखित मामलों में एकाधिक लिंक पर फ़र्मवेयर डुप्लिकेट ट्रैफ़िक की अनुशंसा करते हैं:
- जब लो-विलंबता मोड
IWifiChip#setLatencyMode()
HAL API के माध्यम से सेट किया जाता है। - जब उपयोगकर्ता प्राथमिकता 6 और 7 के साथ ट्रैफ़िक हो।
डाउनलिंक यातायात
फ़र्मवेयर को MAC हेडर के (गंतव्य) प्रति-STA MAC पते को MLD-STA MAC से और MAC हेडर के (स्रोत) प्रति-AP MAC पते को MLD-AP MAC पते से बदलना होगा। फ़र्मवेयर को एपीएफ फ़िल्टर से गुजरने से पहले यह मैक एड्रेस प्रतिस्थापन करना होगा क्योंकि एपीएफ फ़िल्टर कमांड में एमएलडी मैक पते पर आधारित फ़िल्टर होते हैं। एपी-एमएलडी के सभी लिंक के लिए एक एकल एपीएफ फ़िल्टर है।
संगामिति
समवर्ती परिदृश्य, जहां एक नए इंटरफ़ेस के लिए एक रेडियो का उपयोग किया जाता है, एक ही इंटरफ़ेस के लिंक के लिए एकाधिक रेडियो समर्पित करने पर प्राथमिकता होनी चाहिए। समवर्ती परिदृश्यों को एमएलओ पर भी प्राथमिकता दी जानी चाहिए, चाहे कोई भी पहले आए। एकल इंटरफ़ेस के लिए एकाधिक लिंक का उपयोग करना अवसरवादी है, जिसका अर्थ है कि एकाधिक लिंक का उपयोग केवल तभी किया जाता है जब:
- लोड संतुलन, एकत्रीकरण या दोहराव के लिए फर्मवेयर निर्णय के आधार पर एमएलओ की आवश्यकता होती है ।
- एमएलओ उपलब्ध है , जिसका अर्थ है कि किसी अन्य इंटरफ़ेस के लिए रेडियो की आवश्यकता नहीं है।
टीआईडी-टू-लिंक मैपिंग
एंड्रॉइड 14 या उच्चतर चलाने वाले उपकरणों के लिए, जब वाई-फाई 7 एपी बीकन, जांच प्रतिक्रिया और एसोसिएशन प्रतिक्रिया फ्रेम में प्रेषित टीआईडी-टू-लिंक मैपिंग तत्व के माध्यम से लिंक में से किसी एक को अस्थायी रूप से अक्षम करने की घोषणा करता है, तो वाई-फाई 7 स्टेशन किसी अन्य एसोसिएशन को निष्पादित किए बिना, स्थापित किए गए शेष लिंक का उपयोग करके एपी के साथ कनेक्शन जारी रखता है।
एंड्रॉइड 13 या उससे पहले के संस्करण पर चलने वाले उपकरणों के लिए, वाई-फाई फ्रेमवर्क टीआईडी-टू-लिंक मैपिंग के कारण लिंक स्थिति बदलने पर सूचनाएं प्राप्त करने का समर्थन नहीं करता है, भले ही संबंधित लिंक टीआईडी से लिंक न हो।
एआईडीएल एचएएल
वाई-फाई आवेदक निम्नलिखित एआईडीएल इंटरफेस के माध्यम से टीआईडी-टू-लिंक मैपिंग परिवर्तनों के वाई-फाई ढांचे को सूचित करता है:
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/MloLinksInfo.aidl
शहद की मक्खी
ऐप्स निम्नलिखित एपीआई का उपयोग करके टीआईडी-टू-लिंक मैपिंग परिवर्तनों के बारे में जानकारी प्राप्त कर सकते हैं:
-
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: TID-टू-लिंक मैपिंग परिवर्तन होने पर नेटवर्क कॉलबैक फ्रेमवर्क द्वारा ट्रिगर होता है। -
WifiInfo#getAssociatedMloLinks()
: संबंधित MLO लिंक लौटाता है। -
MloLink#getState()
: लिंक की स्थिति,MLO_LINK_STATE_ACTIVE
याMLO_LINK_STATE_IDLE
लौटाता है।
टीआईडी-टू-लिंक मैपिंग बातचीत क्षमताएं
एंड्रॉइड 14 या उच्चतर चलाने वाले उपकरणों के लिए, स्टेशन और एपी के लिए टीआईडी-टू-लिंक मानचित्र बातचीत क्षमताएं प्राप्त करने के लिए निम्नलिखित एपीआई उपलब्ध हैं।
चिप क्षमता
निम्नलिखित इंटरफ़ेस टीआईडी-टू-लिंक मैपिंग बातचीत के लिए चिप क्षमता का समर्थन करते हैं।
एआईडीएल एचएएल
टीआईडी-टू-लिंक मैपिंग वार्ता के लिए एआईडीएल इंटरफ़ेस hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
में FeatureSetMask
में है। T2LM_NEGOTIATION = 1 << 8
क्षमता इंगित करती है कि चिप TID-टू-लिंक मैपिंग का समर्थन करती है। शहद की मक्खी
-
WifiManager.isTidToLinkMappingNegotiationSupported()
: वह चिप लौटाता है जो TID-टू-लिंक मैपिंग बातचीत का समर्थन करती है।
एपी क्षमता
निम्नलिखित इंटरफ़ेस टीआईडी-टू-लिंक मैपिंग बातचीत के लिए एपी क्षमता का समर्थन करते हैं।
एआईडीएल एचएएल
फ्रेमवर्क वर्तमान कनेक्शन क्षमता के साथ आवेदक से एपी क्षमता पर सवाल उठाता है।
-
apTidToLinkMapNegotiationSupported
: जांच करता है कि क्या कोई AP TID-टू-लिंक मानचित्र बातचीत क्षमता का समर्थन करता है।
शहद की मक्खी
-
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: यह बताता है कि AP TID-टू-लिंक मैपिंग वार्ता का समर्थन करता है या नहीं।
लिंक परत आँकड़े
लिंक परत आँकड़ों में वाई-फ़ाई लिंक-विशिष्ट विवरण जैसे RSSI, विभिन्न TX और RX पैकेट काउंटर और रेडियो आँकड़े शामिल हैं। सर्वश्रेष्ठ नेटवर्क का चयन करने या कनेक्टेड नेटवर्क की गुणवत्ता का मूल्यांकन करने के लिए वाई-फ़ाई फ़्रेमवर्क समय-समय पर लिंक लेयर आँकड़े और आरएसएसआई का सर्वेक्षण करता है। Android 14 या उच्चतर चलाने वाले उपकरणों के लिए, लिंक परत आँकड़ों में मल्टी-लिंक समर्थन शामिल है। वाई-फाई 7 का समर्थन करने के लिए, एंड्रॉइड लिंक लेयर स्टैटिस्टिक्स और सिग्नल पोलिंग दोनों में एमएलओ का समर्थन करता है।
लिंक-विशिष्ट आँकड़े निम्नलिखित लिंक परत एआईडीएल इंटरफेस में पाए जाते हैं:
-
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
-
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
सिस्टम 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()
विधि को कॉल कर सकते हैं।
एकल लिंक (एमएलओ नहीं) के लिए android.net.wifi.WifiUsabilityStatsEntry
में एपीआई एमएलओ कनेक्शन के लिए एकत्रित आँकड़े लौटाते हैं। एकत्रीकरण मानदंड निम्नलिखित है:
निम्नलिखित एकत्रित पैकेट आँकड़े प्रति-लिंक आँकड़ों के योग का उपयोग करते हैं:
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
निम्नलिखित आँकड़े उच्चतम आरएसएसआई वाले लिंक से डेटा का उपयोग करते हैं:
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
Android 13 में लिंक परत आँकड़े
Android 13 चलाने वाले उपकरणों के लिए, लिंक परत आँकड़े एकल इंटरफ़ेस के लिए एकाधिक लिंक के उपयोग को ध्यान में नहीं रखते हैं। एमएलओ का समर्थन करने के लिए, IWifi# getLinkLayerStats_1_6()
HAL API के माध्यम से LinkLayerStats
रिपोर्ट करते समय विक्रेता सॉफ़्टवेयर को निम्नलिखित एकत्रीकरण तर्क लागू करना होगा। सबसे अच्छा लिंक उच्चतम आरएसएसआई वाला लिंक है।
-
StaLinkLayerStats.iface.beaconRx
: इंटरफ़ेस के लिए उपयोग किए गए सर्वोत्तम लिंक के लिए बीकन गणना की रिपोर्ट करें। -
StaLinkLayerStats.iface.avgRssiMgmt
: इंटरफ़ेस के लिए उपयोग किए गए सर्वोत्तम लिंक के लिएavgRssiMgmt
रिपोर्ट करें। -
StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): इंटरफ़ेस के लिंक पर एकत्रित पैकेट आँकड़े (कुल) की रिपोर्ट करें। -
StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): इंटरफ़ेस पर उपयोग किए गए सर्वोत्तम लिंक (न्यूनतम विवाद समय आँकड़े) के लिए विवाद समय आँकड़े रिपोर्ट करें।
एमएलओ लिंक पुनर्विन्यास
जब वाई-फाई 7 एक्सेस प्वाइंट के लिंक में से एक को पुन: उपयोग किया जाता है, तो एपी एमएलओ लिंक पुन: कॉन्फ़िगरेशन के माध्यम से लिंक को हटाने की घोषणा कर सकता है। स्टेशन शेष लिंक पर पुनर्संबद्धता के बिना एपी के साथ निर्बाध कनेक्टिविटी बनाए रख सकते हैं।
ISupplicantStaIfaceCallback.aidl
पर वाई-फाई सप्लिकेंट में स्थित onMloLinksInfoChanged
AIDL इंटरफ़ेस, लिंक रीकॉन्फ़िगरेशन (लिंक को AP हटाने) का समर्थन करता है।
जब वाई-फ़ाई फ़्रेमवर्क किसी लिंक को हटाने की प्रक्रिया करता है, तो लिंक स्थिति MLO_LINK_STATE_UNASSOCIATED
पर सेट हो जाती है। इसके बाद फ्रेमवर्क लिंक स्थिति परिवर्तन के लिए ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
को ट्रिगर करता है।
WifiInfo#getAffiliatedMloLinks
विधि संबद्ध MLO लिंक लौटाती है। MloLink#getState
विधि लिंक की स्थिति लौटाती है। यदि लिंक हटा दिया जाता है, तो लौटाई गई लिंक स्थिति MLO_LINK_STATE_UNASSOCIATED
है।
चिप एमएलओ रणनीति
एमएलओ उपकरणों को एक ही समय में कई वाई-फाई लिंक पर डेटा भेजने और प्राप्त करने की अनुमति देता है, जो कम विलंबता, उच्च बैंडविड्थ और कम पावर जैसी विशिष्ट आवश्यकताओं वाले ऐप्स के प्रदर्शन में सुधार कर सकता है। चिप विक्रेता उपलब्ध लिंक का उपयोग करने के तरीके पर एल्गोरिदम विकसित कर सकते हैं।
विशेषाधिकार प्राप्त ऐप्स Wifimanager
में setMloMode
विधि का उपयोग करके इन एल्गोरिदम को संशोधित कर सकते हैं और निम्नलिखित मोड सेट कर सकते हैं:
-
MLO_MODE_DEFAULT = 0
-
MLO_MODE_LOW_LATENCY = 1
-
MLO_MODE_HIGH_THROUGHPUT = 2
-
MLO_MODE_LOW_POWER = 3
एमएलओ मोड सेट करने के लिए फ्रेमवर्क IWifiChip
AIDL इंटरफ़ेस में setMloMode
का उपयोग करता है।