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

Android 8.0-এ যোগ করা Wi-Fi Aware বৈশিষ্ট্যটি ইন্টারনেট বা সেলুলার নেটওয়ার্ক অ্যাক্সেস ছাড়াই Wi-Fi Aware প্রোটোকল ব্যবহার করে সরাসরি একে অপরের সাথে আবিষ্কার, সংযোগ এবং পরিসর (Android 9 এ যোগ করা) সমর্থক ডিভাইসগুলিকে সক্ষম করে। Wi-Fi Alliance (WFA) Wi-Fi Aware স্পেসিফিকেশন (সংস্করণ 2.0, 3.0, 3.1 এবং 4.0) এর উপর নির্মিত এই বৈশিষ্ট্যটি অন্যথায় অফ-নেটওয়ার্কের বিশ্বস্ত ডিভাইস এবং অ্যাপগুলির মধ্যে উচ্চ-থ্রুপুট ডেটা সহজে ভাগ করে নেওয়ার অনুমতি দেয়।

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

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

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

  • এআইডিএল: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 বা তার পরে

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

বাস্তবায়ন

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

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

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

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

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device/<oem>/<device> এ অবস্থিত device.mk এ, Wi-Fi সচেতন বৈশিষ্ট্যের জন্য সমর্থন অন্তর্ভুক্ত করতে 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_HIDL_FEATURE_AWARE পতাকা উপেক্ষা করা হয় যদি WIFI_HAL_INTERFACE_COMBINATIONS পতাকা নির্দিষ্ট করা থাকে। আরও তথ্যের জন্য, Wi-Fi মাল্টি-ইন্টারফেস কনকারেন্সি দেখুন।

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

অ্যান্ড্রয়েডের জন্য Wi-Fi অ্যাওয়ার ডিসকভারি (NMI) এবং ডেটা ইন্টারফেস (NDPs) এর MAC ঠিকানা র্যান্ডমাইজ করা প্রয়োজন এবং ডিভাইসের সত্যিকারের MAC ঠিকানার সাথে অভিন্ন নয়৷ MAC ঠিকানা হতে হবে:

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

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

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

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

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

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

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

বৈধতা

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

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

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

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

atest com.android.server.wifi.aware

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

atest android.net.wifi.aware

ইন্টিগ্রেশন টেস্ট (ACTS)

tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md এ বর্ণিত acts/sl4a টেস্ট স্যুট কার্যকরী, কর্মক্ষমতা এবং স্ট্রেস পরীক্ষা প্রদান করে।

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

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

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

atest SingleDeviceTest

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

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