ওয়াই - ফাই ডিরেক্ট

Wi-Fi ডাইরেক্ট বৈশিষ্ট্য, যা Wi-Fi P2P নামেও পরিচিত, সমর্থনকারী ডিভাইসগুলিকে ইন্টারনেট বা সেলুলার নেটওয়ার্ক অ্যাক্সেস ছাড়াই Wi-Fi ডাইরেক্ট প্রোটোকল ব্যবহার করে সরাসরি একে অপরের সাথে আবিষ্কার এবং সংযোগ করার অনুমতি দেয়। ওয়াই-ফাই অ্যালায়েন্স (ডব্লিউএফএ) ওয়াই-ফাই ডাইরেক্ট স্পেসিফিকেশনের উপর নির্মিত এই বৈশিষ্ট্যটি বিশ্বস্ত ডিভাইস এবং অ্যাপগুলির মধ্যে উচ্চ-থ্রুপুট ডেটা ভাগ করে নেওয়ার অনুমতি দেয় যা অন্যথায় অফ-নেটওয়ার্ক।

উদাহরণ এবং উৎস

এই বৈশিষ্ট্যটি ব্যবহার করতে, ডিভাইস নির্মাতাদের অবশ্যই Wi-Fi বিক্রেতা এবং আবেদনকারী HAL ইন্টারফেস প্রয়োগ করতে হবে৷

Android 13-এ, সাপ্লিক্যান্ট ইন্টারফেস HAL সংজ্ঞার জন্য AIDL ব্যবহার করে। Android 14 এবং উচ্চতর সংস্করণে, ভেন্ডর HAL ইন্টারফেস AIDL ব্যবহার করে। Android 12 এবং তার নিচের সংস্করণে, HIDL ব্যবহার করে সাপ্লিক্যান্ট এবং ভেন্ডর HAL ইন্টারফেসগুলি সংজ্ঞায়িত করা হয়েছে।

Wi-Fi ডাইরেক্ট বৈশিষ্ট্য নিয়োগ করার জন্য নিম্নলিখিত Wi-Fi HAL পৃষ্ঠতলের প্রয়োজন:

  • hardware/interfaces/wifi/aidl বা, hardware/interfaces/wifi/1.3 বা উচ্চতর
  • hardware/interfaces/wifi/supplicant/aidl বা, hardware/interfaces/wifi/supplicant/1.2 বা উচ্চতর

বাস্তবায়ন

ডিভাইস নির্মাতাদের ফ্রেমওয়ার্ক এবং HAL/ফার্মওয়্যার সমর্থন উভয়ই প্রদান করতে হবে:

  • ফ্রেমওয়ার্ক:
    • AOSP কোড
    • Wi-Fi সরাসরি সক্ষম করুন: একটি বৈশিষ্ট্য পতাকা প্রয়োজন
  • Wi-Fi ডাইরেক্ট (P2P) HAL সমর্থন (যা ফার্মওয়্যার সমর্থন বোঝায়)

এই বৈশিষ্ট্যটি বাস্তবায়নের জন্য, ডিভাইস নির্মাতারা Wi-Fi HIDL বা AIDL ইন্টারফেসগুলি প্রয়োগ করে এবং Wi-Fi ডাইরেক্টের জন্য বৈশিষ্ট্য পতাকা সক্ষম করে৷ device/<oem>/<device> -এ অবস্থিত device.mk এ, Wi-Fi ডাইরেক্ট বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করতে 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-এ অন্তর্ভুক্ত রয়েছে।

MAC র্যান্ডমাইজেশন

অ্যান্ড্রয়েডের জন্য প্রয়োজন যে Wi-Fi ডাইরেক্ট ডিভাইসের ঠিকানা এবং ইন্টারফেস ঠিকানা র্যান্ডমাইজ করা হয়েছে৷ সেগুলি অবশ্যই ডিভাইসের প্রকৃত MAC ঠিকানা থেকে আলাদা হতে হবে এবং নিম্নলিখিত প্রয়োজনীয়তাগুলি অবশ্যই পূরণ করতে হবে:

  • ওয়াই-ফাই ডাইরেক্ট ডিভাইসের ঠিকানা অবশ্যই ইন্টারফেস তৈরির সময় র্যান্ডমাইজ করা উচিত যদি কোনও স্থায়ী গ্রুপ সংরক্ষিত না থাকে; অন্যথায় ডিভাইসের ঠিকানাকে অবশ্যই শেষ জেনারেট করা MAC ঠিকানা ব্যবহার করতে হবে।
  • Wi-Fi ডাইরেক্ট ইন্টারফেস অ্যাড্রেস, গ্রুপ অ্যাড্রেস নামেও পরিচিত, প্রতিবার সংযোগ স্থাপন করার সময় অবশ্যই র্যান্ডমাইজ করা উচিত।

Wi-Fi ডাইরেক্ট MAC র্যান্ডমাইজেশন 'wpa_supplicant'-এ প্রয়োগ করা হয় এবং দুটি কনফিগারেশন দ্বারা নিয়ন্ত্রিত হয়, p2p_device_random_mac_addr এবং p2p_interface_random_mac_addr

এই বৈশিষ্ট্যটি সক্ষম করতে, ডিভাইস নির্মাতাদের অবশ্যই:

  • Wi-Fi সাপ্লিক্যান্ট ISupplicantP2pIface::setMacRandomization API প্রয়োগ করুন। বাস্তবায়িত ইন্টারফেসের উপর নির্ভর করে, এটি এতে রয়েছে:
    • HIDL-এর জন্য hardware/interface/wifi/supplicant/1.2
    • এআইডিএল-এর জন্য hardware/interface/wifi/supplicant/aidl
  • একটি ডিভাইস কাস্টম ওভারলেতে config_wifi_p2p_mac_randomization_supported কে 'true'-এ সেট করুন।

বৈধতা

অ্যান্ড্রয়েড ওয়াই-ফাই ডাইরেক্ট বৈশিষ্ট্যটি যাচাই করার জন্য ইউনিট পরীক্ষা, সামঞ্জস্য পরীক্ষা স্যুট (CTS) পরীক্ষা এবং CTS ভেরিফায়ার পরীক্ষার একটি সেট সরবরাহ করে। ওয়াই-ফাই ডাইরেক্ট ভেন্ডর টেস্ট স্যুট (VTS) ব্যবহার করেও পরীক্ষা করা যেতে পারে।

ইউনিট পরীক্ষা

নিম্নলিখিত পরীক্ষাগুলি ব্যবহার করে Wi-Fi ডাইরেক্ট প্যাকেজ যাচাই করুন৷

পরিষেবা পরীক্ষা:

atest com.android.server.wifi.p2p

ম্যানেজার পরীক্ষা:

atest android.net.wifi.p2p

সামঞ্জস্য পরীক্ষা স্যুট (সিটিএস) পরীক্ষা

Wi-Fi ডাইরেক্ট বৈশিষ্ট্যটি যাচাই করতে CTS পরীক্ষাগুলি ব্যবহার করুন৷ বৈশিষ্ট্যটি সক্ষম হলে CTS সনাক্ত করে এবং স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট পরীক্ষাগুলি অন্তর্ভুক্ত করে।

CTS পরীক্ষা ট্রিগার করতে, চালান:

% atest android.net.wifi.p2p.cts

CTS যাচাইকারী পরীক্ষা

CTS যাচাইকারী পরীক্ষাগুলি দুটি ডিভাইস ব্যবহার করে Wi-Fi ডাইরেক্ট আচরণকে যাচাই করে: একটি পরীক্ষা ডিভাইস এবং একটি পরিচিত ভাল ডিভাইস। পরীক্ষা চালানোর জন্য, CTS ভেরিফায়ার খুলুন এবং Wi-Fi ডাইরেক্ট টেস্ট শিরোনামের বিভাগে নেভিগেট করুন।