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

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

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

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

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

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

Android 10 पर, वाई-फ़ाई आसानी से कनेक्ट करने की सुविधा सिर्फ़ शुरू करने वाले मोड में काम करती है. जवाब देने वाले मोड में यह सुविधा काम नहीं करती. ये मोड काम करते हैं:

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

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

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

लागू करना

वाई-फ़ाई आसानी से कनेक्ट करने की सुविधा के साथ काम करने के लिए, Android Open Source Project (AOSP) में दिए गए supplicant इंटरफ़ेस को लागू करें. लागू किए गए इंटरफ़ेस के आधार पर, यह यहां मौजूद होता है:

डीपीपी के साथ काम करने के लिए, ये ज़रूरी हैं:

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

    • cfg80211
    • nl80211
  • wpa_supplicant डीपीपी के साथ काम करने वाला

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

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

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

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

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

Android फ़्रेमवर्क में वाई-फ़ाई आसानी से कनेक्ट करने की सुविधा चालू करने के लिए, wpa_supplicant कॉन्फ़िगरेशन फ़ाइल में CONFIG_DPP कंपाइलेशन विकल्प शामिल करें, android.config:

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

पुष्टि करें

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

यूनिट टेस्ट

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

atest DppManagerTest

VTS टेस्ट

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

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