ওয়াই-ফাই সচেতন, ওয়াই-ফাই সচেতন, ওয়াই-ফাই সচেতন, ওয়াই-ফাই সচেতন

অ্যান্ড্রয়েড ৮.০-এ যুক্ত করা ওয়াই-ফাই অ্যাওয়্যার বৈশিষ্ট্যটি সাপোর্টিং ডিভাইসগুলিকে ইন্টারনেট বা সেলুলার নেটওয়ার্ক অ্যাক্সেস ছাড়াই ওয়াই-ফাই অ্যাওয়্যার প্রোটোকল ব্যবহার করে সরাসরি একে অপরের সাথে আবিষ্কার, সংযোগ এবং রেঞ্জ (অ্যান্ড্রয়েড ৯-এ যুক্ত) করতে সক্ষম করে। ওয়াই-ফাই অ্যালায়েন্স (ডব্লিউএফএ) ওয়াই-ফাই অ্যাওয়্যার স্পেসিফিকেশন (সংস্করণ ২.০, ৩.০, ৩.১ এবং ৪.০) এর উপর ভিত্তি করে তৈরি এই বৈশিষ্ট্যটি বিশ্বস্ত ডিভাইস এবং অ্যাপগুলির মধ্যে হাই-থ্রুপুট ডেটা ভাগ করে নেওয়ার সুবিধা প্রদান করে যা অন্যথায় নেটওয়ার্কের বাইরে থাকে।

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

এই বৈশিষ্ট্যটি ব্যবহার করার জন্য, ডিভাইস নির্মাতাদের Wi-Fi Vendor HAL প্রয়োগ করা উচিত। Android 14 এবং তার উচ্চতর সংস্করণে, Vendor HAL ইন্টারফেস AIDL ব্যবহার করে সংজ্ঞায়িত করা হয়। Android 13 এবং তার নিম্নতর সংস্করণের জন্য, Vendor HAL ইন্টারফেস HIDL ব্যবহার করে সংজ্ঞায়িত করা হয়।

Wi-Fi Aware বৈশিষ্ট্যটি ব্যবহার করতে Wi-Fi ইন্টারফেস অনুসরণ করুন। কোন ইন্টারফেসটি বাস্তবায়িত হয়েছে তার উপর নির্ভর করে, এটি হল:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 বা তার পরবর্তী

AIDL এবং HIDL ইন্টারফেসের সাথে এটি কীভাবে সম্পর্কিত তা দেখতে আপনি লিগ্যাসি ওয়াই-ফাই HAL দেখতে পারেন: hardware/libhardware_legacy/+/android16-release/include/hardware_legacy/wifi_nan.h

বাস্তবায়ন

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

  • কাঠামো:
    • অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) কোড
    • সচেতন সক্ষম করুন: একটি বৈশিষ্ট্য পতাকা এবং একটি বিল্ড পতাকা উভয়ই প্রয়োজন।
  • ওয়াই-ফাই অ্যাওয়ার (NAN) HAL সাপোর্ট (যা ফার্মওয়্যার সাপোর্ট বোঝায়)

এই বৈশিষ্ট্যটি বাস্তবায়নের জন্য, ডিভাইস নির্মাতারা Wi-Fi ইন্টারফেস বাস্তবায়ন করে এবং দুটি বৈশিষ্ট্য পতাকা সক্ষম করে:

  • device/<oem>/<device> এ অবস্থিত BoardConfig.mk অথবা BoardConfig-common.mk তে, নিম্নলিখিত পতাকাটি যোগ করুন:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device/<oem>/<device> এ অবস্থিত device.mk এ, Wi-Fi Aware বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করতে PRODUCT_COPY_FILES পরিবেশ ভেরিয়েবলটি পরিবর্তন করুন:

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

Wi-Fi Aware-এর মধ্যে IEEE 802.11mc প্রোটোকল ব্যবহার করে রেঞ্জিং টু পিয়ার ডিভাইস অন্তর্ভুক্ত, যা রাউন্ড ট্রিপ টাইম (RTT) নামেও পরিচিত। Wi-Fi Aware-এর এই সাব-ফিচারটি শর্তাধীন যে ডিভাইসটি Wi-Fi RTT বৈশিষ্ট্য সমর্থন করে, অর্থাৎ, ডিভাইসটিকে Wi-Fi Aware এবং Wi-Fi RTT উভয়কেই সমর্থন করতে হবে। আরও বিস্তারিত জানার জন্য, Wi-Fi RTT দেখুন।

অন্যথায়, এই বৈশিষ্ট্যের জন্য প্রয়োজনীয় সবকিছু AOSP-তে অন্তর্ভুক্ত।

WIFI_HAL_INTERFACE_COMBINATIONS ফ্ল্যাগ নির্দিষ্ট করা থাকলে WIFI_HIDL_FEATURE_AWARE ফ্ল্যাগটি উপেক্ষা করা হয়। আরও তথ্যের জন্য, Wi-Fi মাল্টি-ইন্টারফেস কনকারেন্সি দেখুন।

ম্যাক র‍্যান্ডমাইজেশন

অ্যান্ড্রয়েডের জন্য Wi-Fi Aware discovery (NMI) এবং ডেটা ইন্টারফেসের (NDPs) MAC ঠিকানা র‍্যান্ডমাইজড হওয়া প্রয়োজন এবং ডিভাইসের প্রকৃত MAC ঠিকানার সাথে অভিন্ন হওয়া উচিত নয়। MAC ঠিকানাগুলি অবশ্যই:

  • যখনই Wi-Fi Aware সক্ষম বা পুনরায় সক্ষম করা হয় তখনই এলোমেলোভাবে তৈরি করা হয়।
  • যখন Wi-Fi Aware সক্রিয় থাকে, তখন NanConfigRequest.macAddressRandomizationIntervalSec প্যারামিটার দ্বারা কনফিগার করা নিয়মিত বিরতিতে MAC ঠিকানাটি র্যান্ডমাইজ করতে হবে। এটি ডিফল্টরূপে ফ্রেমওয়ার্ক দ্বারা 30 মিনিটের জন্য কনফিগার করা হয়।

স্থগিত করুন এবং পুনরায় শুরু করুন

অ্যান্ড্রয়েড ১৪ এবং উচ্চতর সংস্করণে, Wi-Fi Aware বিশেষায়িত অ্যাপগুলিকে সক্রিয় আবিষ্কার সেশনগুলি স্থগিত এবং পুনরায় শুরু করার ক্ষমতা সমর্থন করে (সেই সেশনগুলির সাথে সম্পর্কিত সমস্ত ডেটা পাথ সহ)। এই ক্ষমতা সমর্থন করে ডিভাইসগুলিকে আবিষ্কার সেশনগুলি দ্রুত পুনরায় শুরু করতে এবং কম শক্তি ব্যবহার করতে দেয় কারণ আবিষ্কার সেশনগুলি স্থগিত করা যেতে পারে।

যদি কোনও ডিভাইস এই সাসপেন্ড এবং রিজিউম ক্ষমতা সমর্থন করে, তাহলে কোনও বিশেষায়িত অ্যাপ যখন ডিসকভারি সেশন সাসপেন্ড করে, তখন ফার্মওয়্যারটি ওয়াই-ফাই অ্যাওয়্যার সেশন সাসপেন্ড করে। যখন কোনও ডিসকভারি সেশন সাসপেন্ড অবস্থায় থাকে, তখন ডিভাইসটি সেই সেশনের জন্য কোনও ফ্রেম ট্রান্সমিট বা রিসিভ করে না, যার মধ্যে সেই সেশনের কোনও সক্রিয় এনডিপিও অন্তর্ভুক্ত থাকে। যদি সমস্ত ডিসকভারি সেশন সাসপেন্ড করা হয়, তাহলে ডিভাইসটি কোনও ওয়াই-ফাই অ্যাওয়্যার ফ্রেম ট্রান্সমিট বা রিসিভ করে না।

যখন কোনও বিশেষ সুবিধাপ্রাপ্ত অ্যাপ একটি স্থগিত আবিষ্কার অধিবেশন পুনরায় শুরু করে, তখন ফ্রেমওয়ার্কটি সমস্ত সংশ্লিষ্ট NDP অধিবেশন সহ সেশনটিকে তার পূর্ববর্তী অবস্থায় ফিরিয়ে দেয়। একটি স্থগিত আবিষ্কার অধিবেশন পুনরায় শুরু করা Wi-Fi Aware চালু করে একটি নতুন আবিষ্কার অধিবেশন তৈরি করার চেয়ে দ্রুত।

আবিষ্কার সেশন স্থগিত এবং পুনরায় শুরু করার ক্ষমতা সমর্থন করার জন্য, ডিভাইস নির্মাতাদের অবশ্যই HAL এবং ফার্মওয়্যার সহায়তা প্রদান করতে হবে। বিস্তারিত জানার জন্য, IWifiNanIface.java দেখুন।

ডিভাইস নির্মাতারা একাধিক ডিভাইসে সাসপেন্ড এবং রিজিউম সিঙ্ক্রোনাইজ করতে আউট-অফ-ব্যান্ড যোগাযোগ (উদাহরণস্বরূপ, BLE) ব্যবহার করতে পারে।

বৈধতা

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

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

Wi-Fi Aware প্যাকেজ পরীক্ষাগুলি ব্যবহার করে সম্পাদিত হয়:

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

atest com.android.server.wifi.aware

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

atest android.net.wifi.aware

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

ওয়াই-ফাই অ্যাওয়ার বৈশিষ্ট্যটি যাচাই করতে CTS পরীক্ষা ব্যবহার করুন। বৈশিষ্ট্যটি কখন সক্রিয় থাকে তা CTS সনাক্ত করে এবং স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট পরীক্ষাগুলি অন্তর্ভুক্ত করে।

CTS পরীক্ষাগুলি ব্যবহার করে ট্রিগার করা যেতে পারে:

atest SingleDeviceTest

সিটিএস যাচাইকারী পরীক্ষা

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