Wi-Fi RTT (IEEE 802.11mc)

অ্যান্ড্রয়েড 9-এ Wi-Fi রাউন্ড ট্রিপ টাইম (RTT) বৈশিষ্ট্যটি সমর্থনকারী ডিভাইসগুলিকে অন্যান্য সমর্থনকারী ডিভাইসগুলির দূরত্ব পরিমাপ করতে সক্ষম করে: সেগুলি অ্যাক্সেস পয়েন্ট (APs) বা Wi-Fi সচেতন সমকক্ষ (যদি Wi-Fi সচেতনতা সমর্থিত হয়) যন্ত্র). IEEE 802.11mc প্রোটোকলের উপর নির্মিত এই বৈশিষ্ট্যটি অ্যাপগুলিকে উন্নত অবস্থান নির্ভুলতা এবং সচেতনতা ব্যবহার করতে সক্ষম করে।

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

এই বৈশিষ্ট্যটি ব্যবহার করতে, ভেন্ডর এইচএএল ইন্টারফেস প্রয়োগ করুন। Android 14 এবং উচ্চতর সংস্করণে, ভেন্ডর HAL ইন্টারফেস AIDL ব্যবহার করে সংজ্ঞায়িত করা হয়েছে। অ্যান্ড্রয়েড 13 এবং তার চেয়ে কম সময়ে, ভেন্ডর HAL ইন্টারফেস HIDL ব্যবহার করে সংজ্ঞায়িত করা হয়েছে। অ্যান্ড্রয়েড 8.0-এ, HIDL পূর্ববর্তী হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) কাঠামোটি প্রতিস্থাপন করেছে যা ইন্টারফেস এবং প্যাকেজে সংগৃহীত প্রকার এবং পদ্ধতি কলগুলি নির্দিষ্ট করে বাস্তবায়নকে স্ট্রীমলাইন করতে ব্যবহৃত হয়।

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

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

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

বাস্তবায়ন

Wi-Fi RTT বাস্তবায়ন করতে, আপনাকে অবশ্যই ফ্রেমওয়ার্ক এবং HAL/ফার্মওয়্যার সমর্থন উভয়ই প্রদান করতে হবে:

  • ফ্রেমওয়ার্ক:

    • AOSP কোড
    • Wi-Fi RTT সক্ষম করুন: একটি বৈশিষ্ট্য পতাকা প্রয়োজন৷
  • Wi-Fi RTT (IEEE 802.11mc) HAL সমর্থন (যা ফার্মওয়্যার সমর্থন বোঝায়)

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

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

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

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

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

গোপনীয়তা বাড়ানোর জন্য, Wi-Fi RTT লেনদেনের সময় ব্যবহৃত MAC ঠিকানাটি র্যান্ডমাইজ করা আবশ্যক, অর্থাৎ, এটি অবশ্যই Wi-Fi ইন্টারফেসের নেটিভ MAC ঠিকানার সাথে মেলে না। যাইহোক, একটি ব্যতিক্রম হিসাবে, যখন একটি ডিভাইস একটি AP এর সাথে যুক্ত থাকে, তখন এটি সেই MAC ঠিকানা ব্যবহার করতে পারে যার সাথে এটি সেই AP বা অন্যান্য AP-এর সাথে যেকোনো RTT লেনদেনের জন্য যুক্ত।

বৈধতা

এই বৈশিষ্ট্যের জন্য অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (সিটিএস) পরীক্ষা বিদ্যমান। বৈশিষ্ট্যটি সক্ষম হলে CTS সনাক্ত করে এবং স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট পরীক্ষাগুলি অন্তর্ভুক্ত করে। এই বৈশিষ্ট্যটি ভেন্ডর টেস্ট স্যুট (VTS) এবং acts/sl4a ব্যবহার করেও পরীক্ষা করা যেতে পারে, একটি পরীক্ষা স্যুট যা ব্যাপক ইন্টিগ্রেশন পরীক্ষা পরিচালনা করে।

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

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

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

atest com.android.server.wifi.rtt

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

atest android.net.wifi.rtt

ইন্টিগ্রেশন (ACTS) পরীক্ষা

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

সিটিএস

এই বৈশিষ্ট্যের জন্য অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (সিটিএস) পরীক্ষা বিদ্যমান। বৈশিষ্ট্যটি সক্ষম হলে CTS সনাক্ত করে এবং স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট পরীক্ষাগুলি অন্তর্ভুক্ত করে। একটি অ্যাক্সেস পয়েন্ট যা Wi-Fi RTT (IEEE 802.11mc) সমর্থন করে সেটি অবশ্যই ডিভাইস-আন্ডার-টেস্টের সীমার মধ্যে থাকতে হবে।

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

atest WifiRttTest

ক্রমাঙ্কন

Wi-Fi RTT ভালোভাবে পারফর্ম করার জন্য, 802.11mc প্রোটোকলে ফিরে আসা রেঞ্জগুলি কী পারফরম্যান্স ইন্ডিকেটর (KPI) এর মধ্যে আদর্শভাবে সঠিক। 90% CDF ত্রুটির জন্য, তালিকাভুক্ত ব্যান্ডউইথগুলিতে, একটি পরিসীমা অনুমানের জন্য প্রস্তাবিত KPI-তে নিম্নলিখিত সহনশীলতা থাকতে পারে:

  • 80MHz: 2 মিটার
  • 40MHz: 4 মিটার
  • 20MHz: 8 মিটার

বৈশিষ্ট্যটির বাস্তবায়ন সঠিকভাবে কাজ করছে তা নিশ্চিত করতে, ক্রমাঙ্কন পরীক্ষা করা প্রয়োজন।

ক্রমবর্ধমান দূরত্বে RTT আনুমানিক পরিসরের সাথে একটি গ্রাউন্ড ট্রুথ রেঞ্জ তুলনা করে এটি অর্জন করা যেতে পারে। মৌলিক সামঞ্জস্যের জন্য, RTT ক্যালিব্রেট করা বলে পরিচিত একটি ডিভাইসের বিরুদ্ধে আপনার সমাধান যাচাই করা উচিত। রেঞ্জ ক্রমাঙ্কন নিম্নলিখিত অবস্থার অধীনে পরীক্ষা করা উচিত:

  1. একটি বড় খোলা পরীক্ষাগার, বা একটি করিডোর যেখানে প্রচুর ধাতব বস্তু নেই যার ফলে মাল্টি-পাথের অস্বাভাবিক উচ্চ ঘটনা ঘটতে পারে।
  2. কমপক্ষে একটি লাইন-অফ-সাইট (LOS) ট্র্যাক বা পথ 25 মিটার পর্যন্ত প্রসারিত।
  3. ট্র্যাকের এক প্রান্ত থেকে অন্য প্রান্তে 0.5 মিটার বৃদ্ধির মার্কার৷
  4. মেঝে থেকে 20 সেমি উপরে মাউন্ট করা ট্র্যাকের এক প্রান্তে একটি RTT সক্ষম অ্যাক্সেস পয়েন্ট সুরক্ষিত করার জায়গা, এবং একটি Android ফোনের জন্য একটি চলমান মাউন্ট (বা পরীক্ষাধীন অন্যান্য অ্যান্ড্রয়েড মোবাইল ডিভাইস) যা ট্র্যাক বরাবর সরানো যেতে পারে, এবং সারিবদ্ধ করা যেতে পারে। 0.5 মিটার মার্কার, এছাড়াও মেঝে থেকে 20 সেমি উপরে।

  5. অ্যাক্সেস পয়েন্ট থেকে দূরত্ব সহ প্রতিটি মার্কারে 50টি রেঞ্জিং ফলাফল রেকর্ড করা উচিত। পরিসংখ্যান, যেমন পরিসীমা গড় এবং প্রকরণ, প্রতিটি মার্কার অবস্থানের জন্য গণনা করা উচিত।

ধাপ 5-এর ফলাফল থেকে, আনুমানিক পরিসরের (y-অক্ষ) বিপরীতে গ্রাউন্ড ট্রুথ (x-অক্ষ) এবং অনুমান করা সেরা ফিট রিগ্রেশন লাইনের জন্য একটি চার্ট আঁকা যেতে পারে। আদর্শ ডিভাইস ক্রমাঙ্কনের ফলে y-অক্ষে 0.0m অফসেট সহ গ্রেডিয়েন্ট 1.0 এর একটি লাইন তৈরি হবে। এই মানগুলি থেকে বিচ্যুতিগুলি গ্রহণযোগ্য যদি তারা সংশ্লিষ্ট ব্যান্ডউইথের জন্য KPI-এর মধ্যে থাকে৷ ফলাফলগুলি KPI-এর বাইরে থাকলে, KPI স্পেসিফিকেশনের মধ্যে ফলাফলগুলি আনতে ডিভাইস বৈশিষ্ট্যটি পুনরায় ক্যালিব্রেট করা উচিত।