ওয়াই-ফাই ডিরেক্ট ফিচার, যা ওয়াই-ফাই পিটুপি (Wi-Fi P2P) নামেও পরিচিত, সমর্থিত ডিভাইসগুলোকে ইন্টারনেট বা মোবাইল নেটওয়ার্ক সংযোগ ছাড়াই ওয়াই-ফাই ডিরেক্ট প্রোটোকল ব্যবহার করে সরাসরি একে অপরকে খুঁজে পেতে এবং সংযুক্ত হতে দেয়। ওয়াই-ফাই অ্যালায়েন্স (WFA)-এর ওয়াই-ফাই ডিরেক্ট স্পেসিফিকেশনের উপর ভিত্তি করে নির্মিত এই ফিচারটি বিশ্বস্ত ডিভাইস এবং অ্যাপগুলোর মধ্যে উচ্চ-ক্ষমতাসম্পন্ন ডেটা আদান-প্রদানের সুযোগ করে দেয়, যেগুলো সাধারণত নেটওয়ার্কের বাইরে থাকে।
উদাহরণ এবং উৎস
এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, ডিভাইস প্রস্তুতকারকদের অবশ্যই Wi-Fi Vendor এবং Supplicant HAL ইন্টারফেসগুলো বাস্তবায়ন করতে হবে।
অ্যান্ড্রয়েড ১৩-এ, সাপ্লিক্যান্ট ইন্টারফেসটি HAL সংজ্ঞার জন্য AIDL ব্যবহার করে। অ্যান্ড্রয়েড ১৪ এবং তার পরবর্তী সংস্করণগুলিতে, ভেন্ডর HAL ইন্টারফেসটি AIDL ব্যবহার করে। অ্যান্ড্রয়েড ১২ এবং তার পূর্ববর্তী সংস্করণগুলিতে, সাপ্লিক্যান্ট এবং ভেন্ডর HAL ইন্টারফেসগুলি HIDL ব্যবহার করে সংজ্ঞায়িত করা হয়।
Wi-Fi Direct ফিচারটি ব্যবহার করার জন্য নিম্নলিখিত 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 কোড
- ওয়াই-ফাই ডিরেক্ট সক্রিয় করুন: এর জন্য একটি ফিচার ফ্ল্যাগ প্রয়োজন।
- ওয়াই-ফাই ডিরেক্ট (P2P) HAL সমর্থন (যার জন্য ফার্মওয়্যার সমর্থনের প্রয়োজন)
এই ফিচারটি বাস্তবায়ন করতে, ডিভাইস নির্মাতারা Wi-Fi HIDL বা AIDL ইন্টারফেসগুলো প্রয়োগ করে এবং Wi-Fi Direct-এর জন্য ফিচার ফ্ল্যাগটি সক্রিয় করে। device/<oem>/<device> ফোল্ডারে অবস্থিত device.mk ফাইলে, Wi-Fi Direct ফিচারটির সাপোর্ট অন্তর্ভুক্ত করার জন্য 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
Wi-FI Direct সমর্থন করার জন্য প্রয়োজনীয় অন্যান্য সকল শর্ত AOSP-তে অন্তর্ভুক্ত রয়েছে।
MAC র্যান্ডমাইজেশন
অ্যান্ড্রয়েডের জন্য ওয়াই-ফাই ডিরেক্ট ডিভাইস অ্যাড্রেস এবং ইন্টারফেস অ্যাড্রেস র্যান্ডমাইজড হওয়া আবশ্যক। এগুলি অবশ্যই ডিভাইসের আসল MAC অ্যাড্রেস থেকে ভিন্ন হতে হবে এবং নিম্নলিখিত শর্তগুলি পূরণ করতে হবে:
- যদি কোনো স্থায়ী গ্রুপ সংরক্ষিত না থাকে, তবে ইন্টারফেস তৈরির সময় ওয়াই-ফাই ডিরেক্ট ডিভাইস অ্যাড্রেসটি অবশ্যই র্যান্ডমাইজ করতে হবে; অন্যথায়, ডিভাইস অ্যাড্রেসটি সর্বশেষ তৈরি হওয়া MAC অ্যাড্রেসটিই ব্যবহার করতে থাকবে।
- ওয়াই-ফাই ডিরেক্ট ইন্টারফেস অ্যাড্রেস, যা গ্রুপ অ্যাড্রেস নামেও পরিচিত, প্রতিবার সংযোগ স্থাপনের সময় অবশ্যই র্যান্ডমাইজ করতে হবে।
Wi-Fi Direct MAC র্যান্ডমাইজেশন 'wpa_supplicant'-এ প্রয়োগ করা হয়েছে এবং এটি p2p_device_random_mac_addr ও p2p_interface_random_mac_addr এই দুটি কনফিগারেশন দ্বারা নিয়ন্ত্রিত হয়।
এই বৈশিষ্ট্যটি সক্রিয় করতে, ডিভাইস নির্মাতাদের অবশ্যই:
- Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomizationAPI-টি প্রয়োগ করুন। প্রয়োগকৃত ইন্টারফেসের উপর নির্ভর করে, এটি নিম্নলিখিতগুলির মধ্যে থাকে:- HIDL-এর জন্য
hardware/interface/wifi/supplicant/1.2 - AIDL-এর জন্য
hardware/interface/wifi/supplicant/aidl
- HIDL-এর জন্য
- ডিভাইস কাস্টম ওভারলেতে
config_wifi_p2p_mac_randomization_supportedকে 'true'-তে সেট করুন।
বৈধতা
অ্যান্ড্রয়েড ওয়াই-ফাই ডিরেক্ট ফিচারটি যাচাই করার জন্য একগুচ্ছ ইউনিট টেস্ট, কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্ট এবং CTS ভেরিফায়ার টেস্ট প্রদান করে। ভেন্ডর টেস্ট স্যুট (VTS) ব্যবহার করেও ওয়াই-ফাই ডিরেক্ট পরীক্ষা করা যেতে পারে।
ইউনিট পরীক্ষা
নিম্নলিখিত পরীক্ষাগুলো ব্যবহার করে ওয়াই-ফাই ডিরেক্ট প্যাকেজটি যাচাই করুন।
পরিষেবা পরীক্ষা:
atest com.android.server.wifi.p2pব্যবস্থাপক পরীক্ষা:
atest android.net.wifi.p2pসামঞ্জস্য পরীক্ষা স্যুট (CTS) পরীক্ষা
Wi-Fi Direct ফিচারটি যাচাই করতে CTS টেস্ট ব্যবহার করুন। ফিচারটি কখন চালু করা হয়েছে তা CTS শনাক্ত করে এবং স্বয়ংক্রিয়ভাবে এর সাথে সম্পর্কিত টেস্টগুলো অন্তর্ভুক্ত করে।
CTS টেস্টগুলো চালু করতে, চালান:
atest android.net.wifi.p2p.ctsCTS ভেরিফায়ার পরীক্ষা
CTS ভেরিফায়ার টেস্ট দুটি ডিভাইস ব্যবহার করে Wi-Fi Direct-এর কার্যকারিতা যাচাই করে: একটি পরীক্ষামূলক ডিভাইস এবং একটি ভালো ডিভাইস। টেস্টগুলো চালানোর জন্য, CTS ভেরিফায়ার খুলুন এবং 'Wi-Fi Direct Tests' শিরোনামের বিভাগে যান।