वाई-फ़ाई डायरेक्ट

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

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

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

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

वाई-फ़ाई डायरेक्ट सुविधा का इस्तेमाल करने के लिए, वाई-फ़ाई एचएएल के इन प्लैटफ़ॉर्म पर यह सुविधा उपलब्ध होनी चाहिए:

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

लागू करना

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

  • फ़्रेमवर्क:
    • AOSP कोड
    • Wi-Fi Direct की सुविधा चालू करना: इसके लिए, फ़ीचर फ़्लैग की ज़रूरत होती है
  • Wi-Fi Direct (P2P) एचएएल के साथ काम करता हो (इसका मतलब है कि फ़र्मवेयर के साथ काम करता हो)

इस सुविधा को लागू करने के लिए, डिवाइस बनाने वाली कंपनियां Wi-Fi HIDL या AIDL इंटरफ़ेस लागू करती हैं. साथ ही, Wi-Fi Direct के लिए सुविधा फ़्लैग चालू करती हैं. 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 में शामिल हैं.

एमएसी पता बदलने की सुविधा

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

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

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

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

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

Validation

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

यूनिट टेस्ट

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

सेवा की जांच:

atest com.android.server.wifi.p2p

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

atest android.net.wifi.p2p

Compatibility Test Suite (CTS) टेस्ट

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

CTS टेस्ट ट्रिगर करने के लिए, यह कमांड चलाएं:

% atest android.net.wifi.p2p.cts

सीटीएस की पुष्टि करने वाले टूल के टेस्ट

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