Wi-Fi ডাইরেক্ট ফিচার, যা Wi-Fi P2P নামেও পরিচিত, এটি কাজ করে এমন ডিভাইসকে ইন্টারনেট বা মোবাইল নেটওয়ার্ক অ্যাক্সেস ছাড়াই Wi-Fi ডাইরেক্ট প্রোটোকল ব্যবহার করে সরাসরি একে অপরের সাথে কানেক্ট করতে দেয়। Wi-Fi Alliance (WFA) Wi-Fi Direct স্পেসিফিকেশন এর উপর ভিত্তি করে তৈরি এই ফিচার অফ-নেটওয়ার্ক থাকা বিশ্বস্ত ডিভাইস ও অ্যাপের মধ্যে হাই-থ্রুপুট ডেটা শেয়ার করার অনুমতি দেয়।
উদাহরণ ও সোর্স
এই ফিচার ব্যবহার করতে, ডিভাইস প্রস্তুতকারকদের অবশ্যই Wi-Fi ভেন্ডর ও সাপ্লিক্যান্ট HAL ইন্টারফেস প্রয়োগ করতে হবে।
Android 13-এ, Supplicant ইন্টারফেস HAL সংজ্ঞার জন্য AIDL ব্যবহার করে। Android 14 ও এর পরবর্তী যেকোনও ভার্সনে, ভেন্ডর HAL ইন্টারফেস AIDL ব্যবহার করে। Android 12 এবং এর আগের যেকোনও ভার্সনে, HIDL ব্যবহার করে সাপ্লিক্যান্ট এবং ভেন্ডর HAL ইন্টারফেসকে সংজ্ঞায়িত করা হয়।
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 কোড
- ওয়াই-ফাই ডাইরেক্ট চালু করুন: ফিচার ফ্ল্যাগ প্রয়োজন
- Wi-Fi Direct (P2P) HAL সাপোর্ট (যার অর্থ ফার্মওয়্যার সাপোর্ট)
এই ফিচার প্রয়োগ করতে, ডিভাইস প্রস্তুতকারকরা Wi-Fi HIDL বা AIDL
ইন্টারফেস প্রয়োগ করেন এবং Wi-Fi Direct-এর জন্য ফিচার ফ্ল্যাগ চালু করেন। device.mk-এ অবস্থিত
device/<oem>/<device>-এ, ওয়াই-ফাই ডাইরেক্ট ফিচারের জন্য সহায়তা অন্তর্ভুক্ত করতে, 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 র্যান্ডমাইজেশন
Android-এর প্রয়োজন হল, Wi-Fi Direct ডিভাইস অ্যাড্রেস এবং ইন্টারফেস অ্যাড্রেস র্যান্ডমাইজ করা। সেগুলি অবশ্যই ডিভাইসের আসল MAC অ্যাড্রেসের থেকে আলাদা হতে হবে এবং নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:
- ইন্টারফেস তৈরি করার সময় Wi-Fi Direct ডিভাইসের অ্যাড্রেস র্যান্ডমাইজ করতে হবে যদি কোনও পারসিস্টেন্ট গ্রুপ সেভ করা না থাকে; অন্যথায়, ডিভাইসের অ্যাড্রেসকে শেষবার জেনারেট করা MAC অ্যাড্রেস ব্যবহার করা চালিয়ে যেতে হবে।
- Wi-Fi ডাইরেক্ট ইন্টারফেস অ্যাড্রেস, যা গ্রুপ অ্যাড্রেস নামেও পরিচিত, প্রতিবার কানেকশন তৈরি করার সময় অবশ্যই র্যান্ডমাইজ করতে হবে।
'wpa_supplicant'-এ Wi-Fi Direct MAC র্যান্ডমাইজেশন প্রয়োগ করা হয় এবং দুটি কনফিগারেশন দ্বারা
নিয়ন্ত্রণ করা হয়, 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-কে 'সত্য' হিসেবে সেট করুন।
যাচাইকরণ
Android, Wi-Fi Direct ফিচার যাচাই করার জন্য ইউনিট টেস্ট, কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্ট এবং CTS ভেরিফায়ার টেস্টের একটি সেট প্রদান করে। এছাড়াও, ভেন্ডর টেস্ট স্যুট (VTS) ব্যবহার করে Wi-Fi Direct পরীক্ষা করা যেতে পারে।
ইউনিট টেস্ট
নিম্নলিখিত পরীক্ষা ব্যবহার করে Wi-Fi Direct প্যাকেজ যাচাই করুন।
পরিষেবা সংক্রান্ত পরীক্ষা:
atest com.android.server.wifi.p2pম্যানেজার টেস্ট:
atest android.net.wifi.p2pকম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্ট
Wi-Fi Direct ফিচার যাচাই করতে CTS টেস্ট ব্যবহার করুন। ফিচার চালু করা হলে CTS তা শনাক্ত করে এবং সংশ্লিষ্ট পরীক্ষাগুলি অটোমেটিক অন্তর্ভুক্ত করে।
CTS টেস্ট ট্রিগার করতে, এগুলি রান করান:
atest android.net.wifi.p2p.ctsCTS Verifier টেস্ট
CTS Verifier টেস্ট দুটি ডিভাইস ব্যবহার করে Wi-Fi Direct-এর আচরণ যাচাই করে: একটি টেস্ট ডিভাইস এবং একটি পরিচিত ভালো ডিভাইস। টেস্ট রান করতে, CTS Verifier খুলুন এবং Wi-Fi Direct টেস্ট শীর্ষক বিভাগে যান।