Wi-Fi Direct सुविधा, जिसे Wi-Fi P2P भी कहा जाता है, की मदद से डिवाइसों को इंटरनेट या मोबाइल नेटवर्क के ऐक्सेस के बिना, Wi-Fi Direct प्रोटोकॉल का इस्तेमाल करके एक-दूसरे का पता लगाने और उनसे कनेक्ट करने की सुविधा मिलती है. Wi-Fi Alliance (WFA) के Wi-Fi Direct स्पेसिफ़िकेशन पर आधारित इस सुविधा की मदद से, भरोसेमंद डिवाइसों और ऐप्लिकेशन के बीच ज़्यादा डेटा शेयर किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि वे डिवाइस और ऐप्लिकेशन, नेटवर्क से कनेक्ट हों.
उदाहरण और सोर्स
इस सुविधा का इस्तेमाल करने के लिए, डिवाइस बनाने वाली कंपनियों को Wi-Fi Vendor और Supplicant HAL इंटरफ़ेस लागू करने होंगे.
Android 13 में, Supplicant इंटरफ़ेस एचएएल डेफ़िनिशन के लिए एआईडीएल का इस्तेमाल करता है. Android 14 और इसके बाद के वर्शन में, वेंडर एचएएल इंटरफ़ेस, एआईडीएल का इस्तेमाल करता है. Android 12 और उससे पहले के वर्शन में, Supplicant और Vendor HAL इंटरफ़ेस को एचआईडीएल का इस्तेमाल करके तय किया जाता है.
वाई-फ़ाई डायरेक्ट की सुविधा का इस्तेमाल करने के लिए, वाई-फ़ाई एचएएल के इन प्लैटफ़ॉर्म की ज़रूरत होती है:
hardware/interfaces/wifi/aidl
या,hardware/interfaces/wifi/1.3
या उससे ज़्यादाhardware/interfaces/wifi/supplicant/aidl
या,hardware/interfaces/wifi/supplicant/1.2
या उससे ज़्यादा
लागू करना
डिवाइस बनाने वाली कंपनियों को फ़्रेमवर्क और एचएएल/फ़र्मवेयर, दोनों के लिए सहायता उपलब्ध करानी होगी:
- फ़्रेमवर्क:
- AOSP कोड
- Wi-Fi Direct की सुविधा चालू करना: इसके लिए, सुविधा फ़्लैग की ज़रूरत होती है
- वाई-फ़ाई डायरेक्ट (पी2पी) एचएएल के साथ काम करना (इसका मतलब है कि फ़र्मवेयर के साथ काम करना)
इस सुविधा को लागू करने के लिए, डिवाइस बनाने वाली कंपनियां वाई-फ़ाई HIDL या AIDL इंटरफ़ेस लागू करती हैं. साथ ही, वाई-फ़ाई डायरेक्ट के लिए सुविधा फ़्लैग चालू करती हैं. 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 के लिए ज़रूरी है कि वाई-फ़ाई डायरेक्ट डिवाइस का पता और इंटरफ़ेस का पता, रैंडम तरीके से जनरेट किया गया हो. ये डिवाइस के असली मैक पते से अलग होने चाहिए. साथ ही, ये इन ज़रूरी शर्तों के मुताबिक होने चाहिए:
- अगर कोई ग्रुप सेव नहीं किया गया है, तो इंटरफ़ेस बनाने पर Wi-Fi Direct डिवाइस का पता अपने-आप बदल जाना चाहिए. ऐसा न होने पर, डिवाइस के पते के लिए आखिरी बार जनरेट किए गए एमएसी पते का इस्तेमाल किया जाना चाहिए.
- वाई-फ़ाई डायरेक्ट इंटरफ़ेस का पता, जिसे ग्रुप पता भी कहा जाता है, हर बार कनेक्शन सेट अप होने पर बदलना चाहिए.
वाई-फ़ाई डायरेक्ट मैक पते को बदलने की सुविधा, 'wpa_supplicant' में लागू की गई है. इसे दो कॉन्फ़िगरेशन, p2p_device_random_mac_addr
और
p2p_interface_random_mac_addr
से कंट्रोल किया जाता है.
इस सुविधा को चालू करने के लिए, डिवाइस बनाने वाली कंपनियों को ये काम करने होंगे:
- Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
API लागू करें. लागू किए गए इंटरफ़ेस के हिसाब से, यह इनमें मौजूद होता है:- HIDL के लिए
hardware/interface/wifi/supplicant/1.2
- एआईडीएल के लिए
hardware/interface/wifi/supplicant/aidl
- HIDL के लिए
- डिवाइस के कस्टम ओवरले में,
config_wifi_p2p_mac_randomization_supported
को 'सही' पर सेट करें.
पुष्टि करें
Android, यूनिट टेस्ट, Compatibility Test Suite (CTS) टेस्ट, और CTS Verifier टेस्ट का एक सेट उपलब्ध कराता है. इनकी मदद से, Wi-Fi Direct की सुविधा की पुष्टि की जा सकती है. Vendor Test Suite (VTS) का इस्तेमाल करके भी, Wi-Fi Direct की जांच की जा सकती है.
यूनिट टेस्ट
यहां दिए गए टेस्ट का इस्तेमाल करके, वाई-फ़ाई डायरेक्ट पैकेज की पुष्टि करें.
सेवा की जांच:
atest com.android.server.wifi.p2p
मैनेजर टेस्ट:
atest android.net.wifi.p2p
Compatibility Test Suite (CTS) के टेस्ट
वाई-फ़ाई डायरेक्ट की सुविधा की पुष्टि करने के लिए, सीटीएस टेस्ट का इस्तेमाल करें. CTS, इस सुविधा के चालू होने का पता लगाता है और उससे जुड़े टेस्ट अपने-आप शामिल कर लेता है.
सीटीएस टेस्ट ट्रिगर करने के लिए, यह चलाएं:
% atest android.net.wifi.p2p.cts
सीटीएस की पुष्टि करने वाले टूल के टेस्ट
CTS की पुष्टि करने वाली जांच, दो डिवाइसों का इस्तेमाल करके वाई-फ़ाई डायरेक्ट के व्यवहार की पुष्टि करती है: एक टेस्ट डिवाइस और सामान्य तौर पर काम करने वाला डिवाइस. टेस्ट चलाने के लिए, CTS Verifier खोलें और 'वाई-फ़ाई डायरेक्ट टेस्ट' सेक्शन पर जाएं.