वाई-फाई अवेयर

एंड्रॉइड 8.0 में जोड़ा गया वाई-फाई अवेयर फीचर सहायक उपकरणों को इंटरनेट या सेल्युलर नेटवर्क एक्सेस के बिना वाई-फाई अवेयर प्रोटोकॉल का उपयोग करके सीधे एक-दूसरे को खोजने, कनेक्ट करने और रेंज (एंड्रॉइड 9 में जोड़ा गया) करने में सक्षम बनाता है। वाई-फाई एलायंस (डब्ल्यूएफए) वाई-फाई अवेयर स्पेसिफिकेशन (संस्करण 2.0, 3.0, 3.1 और 4.0) पर निर्मित यह सुविधा विश्वसनीय डिवाइस और ऐप्स के बीच उच्च-थ्रूपुट डेटा को आसानी से साझा करने की अनुमति देती है जो अन्यथा नेटवर्क से बाहर हैं।

उदाहरण और स्रोत

इस सुविधा का उपयोग करने के लिए, डिवाइस निर्माताओं को वाई-फाई विक्रेता एचएएल को लागू करना चाहिए। Android 14 और उच्चतर में, विक्रेता HAL इंटरफ़ेस को AIDL का उपयोग करके परिभाषित किया गया है। Android 13 और उससे पहले के संस्करण के लिए, विक्रेता HAL इंटरफ़ेस को HIDL का उपयोग करके परिभाषित किया गया है।

वाई-फ़ाई अवेयर सुविधा का उपयोग करने के लिए वाई-फ़ाई इंटरफ़ेस का अनुसरण करें। कौन सा इंटरफ़ेस लागू किया गया है इसके आधार पर, यह या तो है:

  • एआईडीएल: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 या बाद का संस्करण

यह देखने के लिए कि यह एआईडीएल और एचआईडीएल इंटरफेस के साथ कैसे संबंधित है, आप पुराने वाई-फाई एचएएल का संदर्भ ले सकते हैं: हार्डवेयर/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h।

कार्यान्वयन

डिवाइस निर्माताओं को फ्रेमवर्क और एचएएल/फर्मवेयर समर्थन दोनों प्रदान करने की आवश्यकता है:

  • रूपरेखा:
    • एओएसपी कोड
    • अवेयर सक्षम करें: फीचर फ़्लैग और बिल्ड फ़्लैग दोनों की आवश्यकता होती है
  • वाई-फ़ाई अवेयर (NAN) HAL समर्थन (जिसका तात्पर्य फ़र्मवेयर समर्थन से है)

इस सुविधा को लागू करने के लिए, डिवाइस निर्माता वाई-फ़ाई इंटरफ़ेस लागू करते हैं और दो फ़ीचर फ़्लैग सक्षम करते हैं:

  • device/<oem>/<device> में स्थित BoardConfig.mk या BoardConfig-common.mk में, निम्नलिखित ध्वज जोड़ें:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device/<oem>/<device> में स्थित device.mk में, वाई-फाई अवेयर सुविधा के लिए समर्थन शामिल करने के लिए PRODUCT_COPY_FILES पर्यावरण चर को संशोधित करें:

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

वाई-फाई अवेयर में IEEE 802.11mc प्रोटोकॉल का उपयोग करने वाले सहकर्मी डिवाइस शामिल हैं, जिन्हें राउंड ट्रिप टाइम (RTT) भी कहा जाता है। वाई-फाई अवेयर की यह उप-सुविधा वाई-फाई आरटीटी सुविधा का समर्थन करने वाले डिवाइस पर सशर्त है, यानी, इसके लिए डिवाइस को वाई-फाई अवेयर और वाई-फाई आरटीटी दोनों का समर्थन करना आवश्यक है। अधिक विवरण के लिए, वाई-फाई आरटीटी देखें।

अन्यथा, इस सुविधा के लिए आवश्यक सभी चीजें AOSP में शामिल हैं।

यदि WIFI_HAL_INTERFACE_COMBINATIONS ध्वज निर्दिष्ट है तो WIFI_HIDL_FEATURE_AWARE ध्वज को अनदेखा कर दिया जाता है। अधिक जानकारी के लिए, वाई-फ़ाई मल्टी-इंटरफ़ेस कॉन्करेंसी देखें।

मैक रैंडमाइजेशन

एंड्रॉइड को वाई-फाई अवेयर डिस्कवरी (एनएमआई) और डेटा इंटरफेस (एनडीपी) के मैक पते को यादृच्छिक बनाने और डिवाइस के वास्तविक मैक पते के समान नहीं होने की आवश्यकता है। MAC पते ये होने चाहिए:

  • जब भी वाई-फ़ाई अवेयर सक्षम या पुन: सक्षम किया जाता है तो यादृच्छिक किया जाता है।
  • जब वाई-फ़ाई अवेयर सक्षम होता है, तो MAC पते को NanConfigRequest.macAddressRandomizationIntervalSec पैरामीटर द्वारा कॉन्फ़िगर किए गए नियमित अंतराल पर यादृच्छिक किया जाना चाहिए। इसे फ्रेमवर्क द्वारा डिफ़ॉल्ट रूप से 30 मिनट के लिए कॉन्फ़िगर किया गया है।

निलंबित करें और फिर से शुरू करें

एंड्रॉइड 14 और उच्चतर में, वाई-फाई अवेयर विशेषाधिकार प्राप्त ऐप्स के लिए सक्रिय खोज सत्रों को निलंबित करने और फिर से शुरू करने की क्षमता का समर्थन करता है (उन सत्रों से जुड़े सभी डेटा पथों सहित)। इस क्षमता का समर्थन करने से उपकरण तेजी से खोज सत्र फिर से शुरू कर सकते हैं और कम बिजली का उपयोग कर सकते हैं क्योंकि खोज सत्र निलंबित किए जा सकते हैं।

यदि कोई डिवाइस इस निलंबन और फिर से शुरू करने की क्षमता का समर्थन करता है, तो जब कोई विशेषाधिकार प्राप्त ऐप खोज सत्र को निलंबित कर देता है, तो फर्मवेयर वाई-फाई अवेयर सत्र को निलंबित कर देता है। जब कोई खोज सत्र निलंबित स्थिति में होता है, तो डिवाइस उस सत्र के किसी भी सक्रिय एनडीपी सहित उस सत्र के लिए कोई फ़्रेम प्रसारित या प्राप्त नहीं करता है। यदि सभी खोज सत्र निलंबित कर दिए जाते हैं, तो डिवाइस किसी भी वाई-फ़ाई अवेयर फ़्रेम को प्रसारित या प्राप्त नहीं करता है।

जब एक विशेषाधिकार प्राप्त ऐप एक निलंबित खोज सत्र को फिर से शुरू करता है, तो फ्रेमवर्क सभी संबद्ध एनडीपी सत्रों सहित सत्र को उसकी पिछली स्थिति में लौटा देता है। किसी निलंबित खोज सत्र को फिर से शुरू करना वाई-फ़ाई अवेयर लाने और एक नया खोज सत्र बनाने से तेज़ है।

खोज सत्रों को निलंबित करने और फिर से शुरू करने की क्षमता का समर्थन करने के लिए, डिवाइस निर्माताओं को एचएएल और फर्मवेयर समर्थन प्रदान करना होगा। विवरण के लिए, IWifiNanIface.java देखें।

डिवाइस निर्माता कई डिवाइसों पर सस्पेंड और रिज्यूम को सिंक्रोनाइज़ करने के लिए आउट-ऑफ-बैंड संचार (उदाहरण के लिए, बीएलई) का उपयोग कर सकते हैं।

मान्यकरण

एंड्रॉइड वाई-फाई अवेयर सुविधा को मान्य करने के लिए यूनिट परीक्षण, एकीकरण परीक्षण (एसीटीएस), संगतता परीक्षण सूट (सीटीएस) परीक्षण और सीटीएस सत्यापनकर्ता परीक्षणों का एक सेट प्रदान करता है। वाई-फाई अवेयर का परीक्षण वेंडर टेस्ट सूट (वीटीएस) का उपयोग करके भी किया जा सकता है।

इकाई परीक्षण

वाई-फाई अवेयर पैकेज परीक्षण का उपयोग करके निष्पादित किया जाता है:

सेवा परीक्षण:

atest com.android.server.wifi.aware

प्रबंधक परीक्षण:

atest android.net.wifi.aware

एकीकरण परीक्षण (ACTS)

tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md में वर्णित acts/sl4a टेस्ट सूट, कार्यात्मक, प्रदर्शन और तनाव परीक्षण प्रदान करता है।

संगतता परीक्षण सूट (सीटीएस) परीक्षण

वाई-फाई अवेयर सुविधा को सत्यापित करने के लिए सीटीएस परीक्षणों का उपयोग करें। सुविधा सक्षम होने पर सीटीएस पता लगाता है और स्वचालित रूप से संबंधित परीक्षण शामिल करता है।

सीटीएस परीक्षण का उपयोग करके ट्रिगर किया जा सकता है:

atest SingleDeviceTest

सीटीएस सत्यापनकर्ता परीक्षण

सीटीएस सत्यापनकर्ता परीक्षण दो उपकरणों का उपयोग करके वाई-फाई अवेयर व्यवहार को मान्य करते हैं: एक परीक्षण उपकरण और एक ज्ञात अच्छा उपकरण। परीक्षण चलाने के लिए, सीटीएस सत्यापनकर्ता खोलें और वाई-फाई अवेयर टेस्ट शीर्षक वाले अनुभाग पर जाएँ।