Android 12 में वाई-फ़ाई एपी/एपी एक साथ काम करने की सुविधा उपलब्ध है. इसकी मदद से, डिवाइसों में दो ऐक्सेस पॉइंट (एपी) इंटरफ़ेस बनाए जा सकते हैं. इस सुविधा की मदद से, डिवाइसों को ड्यूअल बैंड सिम्युलटेनियस (डीबीएस) वाई-फ़ाई हॉटस्पॉट (सॉफ़्ट एपी) के ज़रिए, कनेक्ट करने की सुविधा मिलती है. एक वाई-फ़ाई हॉटस्पॉट के ज़रिए टेदरिंग की सुविधा देने के बारे में जानकारी के लिए, वाई-फ़ाई हॉटस्पॉट (सॉफ़्ट एपी) सहायता देखें.
इस पेज पर, इस सुविधा के चालू होने पर डिवाइस के व्यवहार के बारे में बताया गया है. साथ ही, डिवाइस बनाने वाली कंपनियों और वेंडर के लिए, इसे लागू करने की जानकारी दी गई है.
यह कैसे काम करता है
जब वाई-फ़ाई एपी/एपी एक साथ काम करने की सुविधा काम करती है, तो डिवाइस दो एपी इंटरफ़ेस बना सकता है. उदाहरण के लिए, एक इंटरफ़ेस 2.4 गीगाहर्ट्ज़ बैंड पर और दूसरा इंटरफ़ेस 5 गीगाहर्ट्ज़ बैंड पर काम कर सकता है. इसके बाद, क्लाइंट हर एपी इंटरफ़ेस से कनेक्ट हो सकते हैं.
वाई-फ़ाई एचएएल, दो एपी इंटरफ़ेस के साथ एक ब्रिज किया गया इंटरफ़ेस जनरेट करता है. साथ ही, जब स्टैक किसी सॉफ़्ट एपी को चालू करता है, तो उसे वाई-फ़ाई और कनेक्टिविटी स्टैक के लिए उपलब्ध कराता है. सॉफ़्ट एपी चालू होने के बाद, Wi-Fi HAL से पता चलता है कि दो इंटरफ़ेस उपलब्ध हैं. साथ ही, हर एपी के लिए जानकारी अपडेट की जाती है. जैसे, ऑपरेशन चैनल, बैंडविड्थ, और बीएसएसआईडी.
बैटरी बचाने के लिए, फ़्रेमवर्क कुछ समय तक इस्तेमाल न होने पर, किसी भी एपी (2.4 GHz, 5 GHz या 6 GHz) को बंद कर देता है. जब कोई क्लाइंट कनेक्ट नहीं होता, तो फ़्रेमवर्क किसी एपी को बंद मानता है. डिवाइस बनाने वाली कंपनियां, इस समयावधि को अपनी ज़रूरत के मुताबिक तय कर सकती हैं. ज़्यादा जानकारी के लिए, इनऐक्टिविटी की अवधि को पसंद के मुताबिक बनाना लेख पढ़ें.
डिवाइस, वाई-फ़ाई एपी/एपी के साथ-साथ काम करते हैं. इसके लिए, वे इनमें से किसी एक ब्रिज किए गए सॉफ्ट एपी कॉन्फ़िगरेशन का इस्तेमाल करते हैं:
- दो बैंड कॉन्फ़िगर करना (फ़्रेमवर्क या ड्राइवर, चैनल को अपने-आप चुनता है)
- ड्यूअल-बैंड एपी पर दो चैनल कॉन्फ़िगर करना
ज़रूरी शर्तें
वाई-फ़ाई एपी/एपी को एक साथ सिंक करने की सुविधा लागू करने के लिए, डिवाइसों को ये ज़रूरी शर्तें पूरी करनी होंगी:
वाई-फ़ाई चिप या फ़र्मवेयर, एक साथ दो एपी कनेक्शन के साथ काम करना चाहिए. फ़र्मवेयर को दोनों कनेक्शन के लिए, सभी चैनल और बैंड के कॉम्बिनेशन के साथ काम करना चाहिए. परफ़ॉर्मेंस की समस्याओं से बचने के लिए, हमारा सुझाव है कि आप 2x2+2x2 DBS की सुविधा वाली वाई-फ़ाई चिप का इस्तेमाल करें.
डिवाइस में, वाई-फ़ाई वेंडर एचएएल में इन तरीकों का इस्तेमाल किया जा सकता है:
IWifiChip.createBridgedApIface()
IWifiChip.removeIfaceInstanceFromBridgedApIface()
IWifiApIface.resetToFactoryMacAddress()
IWifiApIface.getBridgedInstances()
लागू करना
वाई-फ़ाई एपी/एपी के साथ एक साथ काम करने की सुविधा लागू करने के लिए, यह तरीका अपनाएं:
रनटाइम रिसॉर्स ओवरले का इस्तेमाल करके, इनमें से कम से कम एक फ़ंक्शन चालू करें. ये फ़ंक्शन डिफ़ॉल्ट रूप से बंद होते हैं:
config_wifiBridgedSoftApSupported
: एक साथ ब्रिज किए गए कई एपी के साथ काम करता है.config_wifiStaWithBridgedSoftApConcurrencySupported
: एक स्टेशन (एसटीए) और कई ब्रिज किए गए एपी के साथ एक साथ काम करता है.
AIDL Wi-Fi HAL या HIDL Wi-Fi HAL 1.6 का इस्तेमाल करने वाले डिवाइसों के लिए, Wi-Fi HAL इंटरफ़ेस कॉम्बिनेशन में
AP_BRIDGED
तय करें. ज़्यादा जानकारी के लिए, वाई-फ़ाई के एक से ज़्यादा इंटरफ़ेस पर एक साथ काम करना देखें.ब्रिज किए गए सॉफ्ट एपी कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:
WifiManager#registerSoftApCallback
का इस्तेमाल करके, डिवाइस की सुविधाएं पाने के लिए कॉलबैक रजिस्टर करें.SoftApCallback
कॉलबैक, ब्रिज किए गए सॉफ्ट एपी कॉन्फ़िगरेशन के लिए ये तरीके उपलब्ध कराता है:SoftApCallback#onInfoChanged
: चल रहे सॉफ़्ट एपी इंस्टेंस के बारे में जानकारी देता है.SoftApCallback#onConnectedClientsChanged
: सॉफ़्ट एपी इंस्टेंस के लिए, कनेक्ट किए गए क्लाइंट की सूची देता है.
निष्क्रिय रहने की अवधि को पसंद के मुताबिक बनाना
कोई गतिविधि न होने की अवधि को पसंद के मुताबिक बनाने के लिए, यहां दिया गया ओवरले कॉन्फ़िगर करें. यह packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
में मौजूद होता है:
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: डिफ़ॉल्ट रूप से, डिवाइस बंद होने में लगने वाला समय.SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
चालू होने पर ही मान्य होगा.(13 से उपलब्ध)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
: यह बताता है कि चार्जिंग के दौरान, डिवाइस इस्तेमाल न होने पर स्क्रीन बंद होने का टाइमर बंद करना है या नहीं.