Wi-Fi डायरेक्ट

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

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

इस सुविधा का उपयोग करने के लिए, डिवाइस निर्माताओं को वाई-फाई विक्रेता और सप्लिकेंट एचएएल इंटरफेस लागू करना होगा।

एंड्रॉइड 13 में, सप्लिकेंट इंटरफ़ेस एचएएल परिभाषा के लिए एआईडीएल का उपयोग करता है। Android 14 और उच्चतर में, विक्रेता HAL इंटरफ़ेस AIDL का उपयोग करता है। एंड्रॉइड 12 और उससे पहले के संस्करण में, सप्लिकेंट और विक्रेता एचएएल इंटरफेस को एचआईडीएल का उपयोग करके परिभाषित किया गया है।

वाई-फाई डायरेक्ट सुविधा को नियोजित करने के लिए निम्नलिखित वाई-फाई एचएएल सतहों की आवश्यकता है:

  • hardware/interfaces/wifi/aidl या, hardware/interfaces/wifi/1.3 या उच्चतर
  • hardware/interfaces/wifi/supplicant/aidl या, hardware/interfaces/wifi/supplicant/1.2 या उच्चतर

कार्यान्वयन

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

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

इस सुविधा को लागू करने के लिए, डिवाइस निर्माता वाई-फाई एचआईडीएल या एआईडीएल इंटरफेस लागू करते हैं और वाई-फाई डायरेक्ट के लिए फीचर फ्लैग को सक्षम करते हैं। device/<oem>/<device> में स्थित device.mk में, वाई-फाई डायरेक्ट सुविधा के लिए समर्थन शामिल करने के लिए PRODUCT_COPY_FILES पर्यावरण चर को संशोधित करें:

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

वाई-फ़ाई डायरेक्ट का समर्थन करने के लिए अन्य सभी आवश्यकताएँ AOSP में शामिल हैं।

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

एंड्रॉइड के लिए आवश्यक है कि वाई-फ़ाई डायरेक्ट डिवाइस पता और इंटरफ़ेस पता यादृच्छिक हो। उन्हें डिवाइस के वास्तविक मैक पते से अलग होना चाहिए और निम्नलिखित आवश्यकताओं को पूरा करना चाहिए:

  • यदि कोई लगातार समूह सहेजा नहीं गया है तो वाई-फ़ाई डायरेक्ट डिवाइस का पता इंटरफ़ेस निर्माण पर यादृच्छिक किया जाना चाहिए; अन्यथा डिवाइस पते को अंतिम जेनरेट किए गए मैक पते का उपयोग करते रहना चाहिए।
  • वाई-फ़ाई डायरेक्ट इंटरफ़ेस पता, जिसे समूह पता भी कहा जाता है, को हर बार कनेक्शन स्थापित होने पर यादृच्छिक किया जाना चाहिए।

वाई-फाई डायरेक्ट मैक रैंडमाइजेशन को 'wpa_supplicant' में कार्यान्वित किया जाता है और दो कॉन्फ़िगरेशन, p2p_device_random_mac_addr और p2p_interface_random_mac_addr द्वारा नियंत्रित किया जाता है।

इस सुविधा को सक्षम करने के लिए, डिवाइस निर्माताओं को यह करना होगा:

  • वाई-फ़ाई सप्लिकेंट ISupplicantP2pIface::setMacRandomization API लागू करें। कार्यान्वित इंटरफ़ेस के आधार पर, यह इसमें है:
    • एचआईडीएल के लिए hardware/interface/wifi/supplicant/1.2
    • एआईडीएल के लिए hardware/interface/wifi/supplicant/aidl
  • डिवाइस कस्टम ओवरले में config_wifi_p2p_mac_randomization_supported को 'सही' पर सेट करें।

मान्यकरण

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

इकाई परीक्षण

निम्नलिखित परीक्षणों का उपयोग करके वाई-फाई डायरेक्ट पैकेज को सत्यापित करें।

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

atest com.android.server.wifi.p2p

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

atest android.net.wifi.p2p

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

ACTS वाई-फाई डायरेक्ट टेस्ट सूट, tools/test/connectivity/acts_tests/tests/google/wifi/p2p में स्थित, वाई-फाई डायरेक्ट के कार्यात्मक परीक्षण लागू करता है।

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

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

सीटीएस परीक्षण ट्रिगर करने के लिए, चलाएँ:

% atest android.net.wifi.p2p.cts

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

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