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

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::setMacRandomization API প্রয়োগ করুন। প্রয়োগ করা ইন্টারফেসের উপর নির্ভর করে, এটি এখানে থাকে:
    • HIDL-এর জন্য hardware/interface/wifi/supplicant/1.2
    • AIDL-এর জন্য hardware/interface/wifi/supplicant/aidl
  • ডিভাইস কাস্টম ওভারলেতে 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.cts

CTS Verifier টেস্ট

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