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

Android 10 में, वाई-फ़ाई ईज़ी कनेक्ट प्रोटोकॉल के लिए सहायता उपलब्ध कराई गई है. इसे डिवाइस प्रोविज़निंग प्रोटोकॉल (डीपीपी) के नाम से भी जाना जाता है. Wi-Fi Easy Connect को Wi-Fi Alliance (WFA) ने Wi-Fi Protected Setup (WPS) के विकल्प के तौर पर लॉन्च किया था. WPS को Android 9 में बंद कर दिया गया था.

वाई-फ़ाई ईज़ी कनेक्ट की मदद से, ये काम आसानी से और सुरक्षित तरीके से किए जा सकते हैं:

  • बिना पासवर्ड डाले, वाई-फ़ाई डिवाइसों (इसमें हेडलेस डिवाइस भी शामिल हैं) को किसी नेटवर्क से कनेक्ट करें.
  • पासवर्ड जाने या डाले बिना, वाई-फ़ाई नेटवर्क से कनेक्ट करें.

बूटस्ट्रैपिंग और पुष्टि करने की सुविधा को यूआरआई का इस्तेमाल करके कॉन्फ़िगर किया जाता है. यह यूआरआई, कैमरे का इस्तेमाल करके क्यूआर कोड को स्कैन करके हासिल किया जाता है. इसके अलावा, इसे आउट-ऑफ़-बैंड कॉन्फ़िगर किया जाता है. उदाहरण के लिए, बीएलई या एनएफ़सी का इस्तेमाल करके.

Wi-Fi Easy Connect, डिवाइसों के बीच वाई-फ़ाई क्रेडेंशियल भेजने के लिए एन्क्रिप्ट (सुरक्षित) किए गए चैनल का इस्तेमाल करता है. साथ ही, सार्वजनिक ऐक्शन फ़्रेम का इस्तेमाल किया जाता है. इसलिए, डिवाइस मौजूदा ऐक्सेस पॉइंट का इस्तेमाल कर सकते हैं.

Android 10 में, Wi-Fi Easy Connect की सुविधा सिर्फ़ इनिशिएटर मोड में काम करती है. रेस्पॉन्डर मोड में यह सुविधा काम नहीं करती. ये मोड काम करते हैं:

  • नेटवर्क कॉन्फ़िगर करने वाला डिवाइस: नए डिवाइस पर नेटवर्क के क्रेडेंशियल भेजने के लिए, उसके क्यूआर कोड को स्कैन करें.
  • शुरू करने वाला व्यक्ति-रजिस्टर करने वाला व्यक्ति: नेटवर्क का क्यूआर कोड स्कैन करके नेटवर्क से जुड़ें.

Android 10, WPA2 के लिए पहले से शेयर की गई कुंजी (पीएसके) प्रोटोकॉल और WPA3 के लिए एक साथ प्रमाणीकरण (एसएई) प्रोटोकॉल का इस्तेमाल करता है.

Wi-Fi Easy Connect की सुविधा सिर्फ़ क्लाइंट मोड में काम करती है. SoftAP मोड में यह सुविधा काम नहीं करती.

लागू करना

Wi-Fi Easy Connect की सुविधा के लिए, Android Open Source Project (AOSP) में दिए गए supplicant इंटरफ़ेस को लागू करें. लागू किए गए इंटरफ़ेस के हिसाब से, यह यहां मौजूद होता है:

डीपीपी के लिए, ये ज़रूरी हैं:

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

    • cfg80211
    • nl80211
  • wpa_supplicant जिसमें डीपीपी की सुविधा उपलब्ध हो

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

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

सार्वजनिक एपीआई, Android 10 में ऐप्लिकेशन के इस्तेमाल के लिए उपलब्ध हैं:

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

वाई-फ़ाई ईज़ी कनेक्ट की सुविधा चालू करना

Android फ़्रेमवर्क में Wi-Fi Easy Connect को चालू करने के लिए, wpa_supplicant कॉन्फ़िगरेशन फ़ाइल में CONFIG_DPP कंपाइलेशन विकल्प शामिल करें, android.config:

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

Validation

लागू की गई ट्रैकिंग की जांच करने के लिए, ये टेस्ट चलाएं.

यूनिट टेस्ट

डीपीपी के लिए, सुविधा के फ़्लैग के व्यवहार की पुष्टि करने के लिए, DppManagerTest चलाएं.

atest DppManagerTest

वीटीएस टेस्ट

अगर एचआईडीएल इंटरफ़ेस लागू किया गया है, तो सप्लीकेंट एचएएल v1.2 के व्यवहार की जांच करने के लिए, VtsHalWifiSupplicantV1_2TargetTest चलाएं.

अगर एआईडीएल इंटरफ़ेस लागू किया गया है, तो सप्लीकेंट एचएएल के व्यवहार की जांच करने के लिए, VtsHalWifiSupplicantStaIfaceTargetTest चलाएं.