Android एक डिफ़ॉल्ट Android फ़्रेमवर्क लागू करने की सुविधा देता है, जिसमें अलग-अलग वाई-फ़ाई प्रोटोकॉल और मोड के लिए सहायता शामिल होती है. इनमें ये शामिल हैं:
- वाई-फ़ाई इन्फ़्रास्ट्रक्चर (एसटीए)
- टेदर या सिर्फ़ सीमित दायरे में इस्तेमाल होने वाले मोड में वाई-फ़ाई हॉटस्पॉट (सॉफ़्ट एपी)
- Wi-Fi Direct (p2p)
- वाई-फ़ाई अवेयर (एनएएन)
- वाई-फ़ाई आरटीटी (आईईईई 802.11mc एफ़टीएम)
वाई-फ़ाई सेवाओं का इस्तेमाल करने वाला ऐप्लिकेशन, Binder की मदद से सीधे तौर पर अलग-अलग वाई-फ़ाई सेवाओं से संपर्क करता है. सिस्टम सेवा में वाई-फ़ाई सेवाएं काम करती हैं और ये दिए गए एचआईडीएल और एआईडीएल इंटरफ़ेस के ज़रिए एचएएल के साथ इंटरैक्ट करती हैं. इस डायग्राम में, Android Wi-Fi स्टैक का सामान्य स्ट्रक्चर दिखाया गया है.
पहला डायग्राम. Android वाई-फ़ाई आर्किटेक्चर
ऐप्लिकेशन का फ़्रेमवर्क
ऐप्लिकेशन फ़्रेमवर्क लेवल पर ऐप्लिकेशन कोड होता है. यह वाई-फ़ाई फ़्रेमवर्क और हार्डवेयर के साथ इंटरैक्ट करने के लिए, अलग-अलग android.net.wifi एपीआई का इस्तेमाल करता है. अंदरूनी तौर पर, यह कोड, Binder IPC प्रोसेस के ज़रिए Wi-Fi प्रोसेस को कॉल करता है.
वाई-फ़ाई सेवाएं
वाई-फ़ाई सेवाएं, सिस्टम सेवा में चलती हैं और ये packages/modules/Wifi/service/
में मौजूद होती हैं. वाई-फ़ाई सेवा, एआईडीएल के ज़रिए वाई-फ़ाई एचएएल के साथ कम्यूनिकेट करती है.
वाई-फ़ाई की कई सेवाएं उपलब्ध हैं:
- वाई-फ़ाई सेवा: वाई-फ़ाई इन्फ़्रास्ट्रक्चर मोड (STA और AP, दोनों) को कंट्रोल करने का मुख्य तरीका.
- वाई-फ़ाई पी2पी सेवा: यह वाई-फ़ाई डायरेक्ट मोड को मैनेज करती है.
- Wi-Fi Aware सेवा: यह Wi-Fi Aware मोड को मैनेज करती है.
- Wi-Fi RTT सेवा: यह IEEE 802.11mc FTM फ़ंक्शन को मैनेज करती है.
वाई-फ़ाई फ़्रेमवर्क में, system/connectivity/wificond
में मौजूद wificond नाम की स्टैंड-अलोन प्रोसेस भी शामिल है. wificond प्रोसेस, स्टैंडर्ड nl80211
कमांड के ज़रिए वाई-फ़ाई ड्राइवर से संपर्क करती है.
वाई-फ़ाई एचएएल
वाई-फ़ाई फ़्रेमवर्क में तीन वाई-फ़ाई एचएएल प्लैटफ़ॉर्म होते हैं. इन्हें तीन अलग-अलग इंटरफ़ेस से दिखाया जाता है: वेंडर एचएएल, सुप्लाइंटेंट एचएएल, और Hostapd एचएएल.
अलग-अलग एचएएल को लागू करने के बारे में जानकारी के लिए, Wi-Fi एचएएल देखें.