वाई-फाई आसान कनेक्ट

एंड्रॉइड 10 वाई-फाई ईज़ी कनेक्ट प्रोटोकॉल के लिए समर्थन पेश करता है, जिसे डिवाइस प्रोविजनिंग प्रोटोकॉल (डीपीपी) के रूप में भी जाना जाता है। वाई-फाई इज़ी कनेक्ट को वाई-फाई एलायंस (डब्ल्यूएफए) द्वारा वाई-फाई प्रोटेक्टेड सेटअप (डब्ल्यूपीएस) के विकल्प के रूप में पेश किया गया था। एंड्रॉइड 9 में WPS को हटा दिया गया था।

वाई-फाई इज़ी कनेक्ट एक सरल और सुरक्षित तरीका प्रदान करता है:

  • बिना पासवर्ड डाले किसी नेटवर्क पर वाई-फ़ाई डिवाइस (हेडलेस डिवाइस सहित) ऑनबोर्ड करें।
  • पासवर्ड जाने या दर्ज किए बिना वाई-फ़ाई नेटवर्क से जुड़ें।

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

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

एंड्रॉइड 10 केवल इनिशिएटर मोड में वाई-फाई ईज़ी कनेक्ट का समर्थन करता है (रिस्पॉन्डर मोड समर्थित नहीं है)। संचालन के ये तरीके समर्थित हैं:

  • आरंभकर्ता-विन्यासकर्ता: किसी नए डिवाइस के क्यूआर कोड को स्कैन करके नेटवर्क क्रेडेंशियल भेजें।
  • आरंभकर्ता-नामांकित: नेटवर्क क्यूआर कोड को स्कैन करके नेटवर्क से जुड़ें।

एंड्रॉइड 10 WPA2 के लिए प्री-शेयर्ड कुंजी (PSK) प्रोटोकॉल और WPA3 के लिए समकालिक प्रमाणीकरण (SAE) प्रोटोकॉल का समर्थन करता है।

वाई-फ़ाई ईज़ी कनेक्ट केवल क्लाइंट मोड में समर्थित है (सॉफ़्टएपी मोड समर्थित नहीं है)।

कार्यान्वयन

वाई-फाई ईज़ी कनेक्ट का समर्थन करने के लिए, एंड्रॉइड ओपन सोर्स प्रोजेक्ट (एओएसपी) में दिए गए सहायक इंटरफ़ेस को लागू करें। लागू किए गए इंटरफ़ेस के आधार पर, यह यहां है:

डीपीपी का समर्थन करने के लिए निम्नलिखित की आवश्यकता है:

  • DPP का समर्थन करने के लिए Linux कर्नेल पैच:

    • सीएफजी80211
    • nl80211
  • डीपीपी के समर्थन के साथ wpa_supplicant

  • डीपीपी के समर्थन के साथ वाई-फाई ड्राइवर

  • डीपीपी के समर्थन के साथ वाई-फाई फर्मवेयर

ऐप्स द्वारा उपयोग के लिए एंड्रॉइड 10 में सार्वजनिक एपीआई उपलब्ध हैं:

  • WifiManager#isEasyConnectSupported : डिवाइस वाई-फाई ईज़ी कनेक्ट को सपोर्ट करता है या नहीं यह निर्धारित करने के लिए फ्रेमवर्क पर सवाल उठाता है।
  • Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI) : ऐप्स को अपने ऑनबोर्डिंग/सेटअप प्रवाह में वाई-फाई ईज़ी कनेक्ट को एकीकृत करने की अनुमति देता है।

वाई-फाई आसान कनेक्ट सक्षम करना

एंड्रॉइड फ्रेमवर्क में वाई-फाई ईज़ी कनेक्ट को सक्षम करने के लिए, wpa_supplicant कॉन्फ़िगरेशन फ़ाइल, android.config में CONFIG_DPP संकलन विकल्प शामिल करें:

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

मान्यकरण

अपने कार्यान्वयन का परीक्षण करने के लिए, निम्नलिखित परीक्षण चलाएँ।

इकाई परीक्षण

DPP के लिए क्षमता फ़्लैग के व्यवहार को सत्यापित करने के लिए DppManagerTest चलाएँ।

atest DppManagerTest

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

एकीकरण परीक्षण चलाने के लिए, tools/test/connectivity/acts_tests/tests/google/wifi में स्थित Android Comms Test Suite (ACTS) फ़ाइल, WifiDppTest.py का उपयोग करें।

वीटीएस परीक्षण

यदि HIDL इंटरफ़ेस लागू किया गया है, तो निवेदक HAL v1.2 के व्यवहार का परीक्षण करने के लिए VtsHalWifiSupplicantV1_2TargetTest चलाएँ।

यदि AIDL इंटरफ़ेस लागू किया गया है, तो निवेदक HAL के व्यवहार का परीक्षण करने के लिए VtsHalWifiSupplicantStaIfaceTargetTest चलाएँ।