Wi-Fi Direct

Wi-Fi Direct की सुविधा को वाई-फ़ाई P2P भी कहा जाता है. इसकी मदद से, डिवाइस का इस्तेमाल करने वाले डिवाइस, इंटरनेट या मोबाइल नेटवर्क के बिना वाई-फ़ाई डायरेक्ट प्रोटोकॉल का इस्तेमाल करके, सीधे एक-दूसरे को खोज सकते हैं और एक-दूसरे से कनेक्ट हो सकते हैं. Wi-Fi Alliance (WFA) पर बनाई गई यह सुविधा, Wi-Fi Direct की खास बातें है. इसकी मदद से, नेटवर्क से बाहर के भरोसेमंद डिवाइसों और ऐप्लिकेशन के बीच ज़्यादा डेटा शेयर किया जा सकता है.

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

इस सुविधा का इस्तेमाल करने के लिए, डिवाइस बनाने वाली कंपनियों को वाई-फ़ाई वेंडर और सहायक HAL इंटरफ़ेस लागू करने होंगे.

Android 13 में, सप्लांट इंटरफ़ेस में एचएएल डेफ़िनिशन के लिए एआईडीएल का इस्तेमाल किया जाता है. Android 14 और उसके बाद के वर्शन में, वेंडर एचएएल इंटरफ़ेस में AIDL का इस्तेमाल किया जाता है. Android 12 और उससे पहले के वर्शन में, सप्लिकेंट और वेंडर एचएएल इंटरफ़ेस, HIDL का इस्तेमाल करके तय किए जाते हैं.

Wi-Fi Direct का इस्तेमाल करने के लिए, नीचे दिए गए वाई-फ़ाई एचएएल प्लैटफ़ॉर्म ज़रूरी हैं:

  • hardware/interfaces/wifi/aidl या hardware/interfaces/wifi/1.3 या इससे ज़्यादा
  • hardware/interfaces/wifi/supplicant/aidl या hardware/interfaces/wifi/supplicant/1.2 या इससे ज़्यादा

लागू करने का तरीका

डिवाइस बनाने वाली कंपनियों को फ़्रेमवर्क और एचएएल/फ़र्मवेयर, दोनों से जुड़ी सहायता देनी होगी:

  • फ़्रेमवर्क:
    • एओएसपी कोड
    • Wi-Fi Direct चालू करें: फ़ीचर फ़्लैग की ज़रूरत है
  • Wi-Fi Direct (P2P) HAL की सुविधा (इसमें फ़र्मवेयर की सुविधा शामिल है)

इस सुविधा को लागू करने के लिए, डिवाइस मैन्युफ़ैक्चरर, वाई-फ़ाई एचआईडीएल या एआईडीएल इंटरफ़ेस को लागू करते हैं. साथ ही, वाई-फ़ाई डायरेक्ट के लिए फ़ीचर फ़्लैग को चालू करते हैं. device/<oem>/<device> में मौजूद device.mk में, Wi-Fi Direct के साथ काम करने के लिए, 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
```

Wi-FI Direct के साथ काम करने के लिए, एओएसपी में अन्य सभी ज़रूरी शर्तें शामिल हैं.

एमएसी रैंडमाइज़ेशन

Android के लिए यह ज़रूरी है कि Wi-Fi Direct डिवाइस का पता और इंटरफ़ेस का पता किसी भी क्रम में दिया गया हो. वे डिवाइस के सही MAC पते से अलग होने चाहिए और उन्हें नीचे दी गई ज़रूरी शर्तें पूरी करनी होंगी:

  • अगर कोई स्थायी समूह सेव नहीं किया गया है, तो इंटरफ़ेस बनाते समय Wi-Fi Direct डिवाइस पता बिना किसी क्रम के होना चाहिए. ऐसा न होने पर, डिवाइस के पते में सबसे आखिर में जनरेट किए गए MAC पते का इस्तेमाल किया जाना चाहिए.
  • हर बार कनेक्शन स्थापित होने पर, Wi-Fi Direct इंटरफ़ेस पता, जिसे समूह पता भी कहा जाता है, किसी भी क्रम में होना चाहिए.

Wi-Fi Direct MAC को किसी भी क्रम में लगाने की सुविधा, 'wpa_supplicant' में लागू की जाती है और इसे दो कॉन्फ़िगरेशन, p2p_device_random_mac_addr और p2p_interface_random_mac_addr से कंट्रोल किया जाता है.

इस सुविधा को चालू करने के लिए, डिवाइस बनाने वाली कंपनियों के लिए ज़रूरी है कि:

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

पुष्टि करें

Wi-Fi Direct सुविधा की पुष्टि करने के लिए, Android, यूनिट टेस्ट, कंपैटबिलिटी टेस्ट सुइट (सीटीएस) टेस्ट, और सीटीएस की पुष्टि करने वाले टेस्ट का सेट उपलब्ध कराता है. Wi-Fi Direct की जांच विक्रेता टेस्ट सुइट (वीटीएस) का इस्तेमाल करके भी की जा सकती है.

यूनिट टेस्ट

नीचे दिए गए टेस्ट का इस्तेमाल करके Wi-Fi Direct पैकेज की पुष्टि करें.

सर्विस टेस्ट:

atest com.android.server.wifi.p2p

मैनेजर टेस्ट:

atest android.net.wifi.p2p

कंपैटबिलिटी टेस्ट सुइट (सीटीएस) के टेस्ट

Wi-Fi Direct सुविधा की पुष्टि करने के लिए, सीटीएस जांच का इस्तेमाल करें. CTS, यह पता लगा लेता है कि सुविधा कब चालू है. साथ ही, वह उससे जुड़े टेस्ट को अपने-आप शामिल कर लेती है.

सीटीएस टेस्ट को ट्रिगर करने के लिए, इसे चलाएं:

% atest android.net.wifi.p2p.cts

सीटीएस वेरिफ़ायर टेस्ट

CTS Verifier, दो डिवाइसों का इस्तेमाल करके Wi-Fi Direct के काम करने के तरीके की पुष्टि कर देता है: टेस्ट डिवाइस और जाने-पहचाने अच्छे डिवाइस. टेस्ट करने के लिए, CTS Verifier खोलें और Wi-Fi Direct Tests टाइटल वाले सेक्शन पर जाएं.