ওয়াই-ফাই কম লেটেন্সি মোড

অ্যান্ড্রয়েড ১০ ওয়াই-ফাই লক এপিআই-কে প্রসারিত করেছে, যার ফলে ল্যাটেন্সি-সংবেদনশীল অ্যাপগুলো ওয়াই-ফাইকে একটি লো-ল্যাটেন্সি মোডে কনফিগার করতে পারে। নিম্নলিখিত সমস্ত শর্ত পূরণ হলে লো-ল্যাটেন্সি মোড চালু হয়:

  • ওয়াই-ফাই চালু আছে এবং ডিভাইসটিতে ইন্টারনেট সংযোগ রয়েছে।
  • অ্যাপটি একটি ওয়াই-ফাই লক তৈরি ও অধিগ্রহণ করেছে এবং ফোরগ্রাউন্ডে চলছে।
  • স্ক্রিনটি চালু আছে।

ডিভাইসগুলিতে লো-ল্যাটেন্সি মোড সমর্থন করার জন্য, ডিভাইস প্রস্তুতকারকদের অবশ্যই WLAN ড্রাইভার এবং ভেন্ডর HAL আপডেট করতে হবে। লো-ল্যাটেন্সি মোডে, পাওয়ার সেভ (যা IEEE 802.11 স্ট্যান্ডার্ডে ডোজ স্টেট নামেও পরিচিত) ফ্রেমওয়ার্ক দ্বারা স্পষ্টভাবে নিষ্ক্রিয় করা থাকে। ওয়াই-ফাই ল্যাটেন্সি আরও কমাতে ড্রাইভার এবং ফার্মওয়্যার লেয়ারের স্ক্যানিং এবং রোমিং প্যারামিটারগুলি অপ্টিমাইজ করা যেতে পারে। সুনির্দিষ্ট অপ্টিমাইজেশনগুলি ইমপ্লিমেন্টেশন-নির্দিষ্ট।

অ্যান্ড্রয়েডে একটি হাই-পারফরম্যান্স ওয়াই-ফাই লক মোড (এপিআই লেভেল ১২-এ প্রবর্তিত) রয়েছে, যা লো-ল্যাটেন্সি মোড থেকে আলাদা।

বাস্তবায়ন

ওয়াই-ফাই লো-ল্যাটেন্সি মোড ফিচারটি সমর্থন করার জন্য, নিম্নলিখিত IWifiChip ফাংশনগুলোর বাস্তবায়ন প্রদান করুন।

AIDL HAL-এ:

  • int getFeatureSet()
  • void setLatencyMode(in LatencyMode mode)

HIDL HAL-এ (১.৩ বা নতুন সংস্করণ):

  • getCapabilities_1_3() generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities)
  • setLatencyMode(LatencyMode mode) generates (WifiStatus status)

একটি রেফারেন্স ইমপ্লিমেন্টেশন wifi_legacy_hal.cpp ফাইলে পাওয়া যাবে, যেখানে নিম্নলিখিত ফাংশনগুলো রয়েছে:

  • wifi_error wifi_get_supported_feature_set(wifi_interface_handle iface, feature_set *set)
  • wifi_error wifi_set_latency_mode(wifi_interface_handle handle, wifi_latency_mode mode)

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

বৈশিষ্ট্যটি নিষ্ক্রিয় করুন

লো-ল্যাটেন্সি মোড ফিচারটি বন্ধ করতে, AIDL HAL-এর জন্য getFeatureSet() অথবা HIDL HAL-এর জন্য getCapabilities_1_3() ফাংশনের অন্তর্নিহিত কোড এমনভাবে আপডেট করুন, যাতে capabilities & SET_LATENCY_MODE = 0 , যেখানে SET_LATENCY_MODE IWifiChip AIDL বা HIDL ডেফিনিশনে সংজ্ঞায়িত করা আছে। যখন এই ফিচারটি নিষ্ক্রিয় করা হয়, তখন ফ্রেমওয়ার্কটি শুধুমাত্র লো-ল্যাটেন্সি মোড সক্রিয় থাকলেই পাওয়ার সেভ নিষ্ক্রিয় করে।

বৈধতা

লো-ল্যাটেন্সি মোড চালু করলে তা ঠিকমতো কাজ করছে কিনা, তা পরীক্ষা করতে নিম্নলিখিত স্বয়ংক্রিয় পরীক্ষা এবং ম্যানুয়াল পিং ল্যাটেন্সি পরীক্ষাগুলো চালান।

স্বয়ংক্রিয় পরীক্ষা

নিম্নলিখিত ভেন্ডর টেস্ট স্যুট (VTS) এবং কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) টেস্টগুলো চালিয়ে স্বয়ংক্রিয় টেস্টিং সম্পাদন করুন:

ম্যানুয়াল টেস্টিং

প্রয়োজনীয় পরীক্ষার সরঞ্জাম এবং পরিবেশ

ম্যানুয়াল টেস্টিং-এর জন্য নিম্নলিখিত সেটআপ প্রয়োজন:

  • ওয়াই-ফাই অ্যাক্সেস পয়েন্ট (AP)
  • পরীক্ষাধীন ডিভাইস (ডিইউটি) ফোন এবং পরীক্ষার কম্পিউটার
    • DUT-কে অবশ্যই Wi-Fi-এর মাধ্যমে অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকতে হবে।
    • পরীক্ষার জন্য ব্যবহৃত কম্পিউটারটিকে অবশ্যই ওয়াই-ফাই অথবা ইথারনেটের মাধ্যমে অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত করতে হবে।
    • পরীক্ষাধীন কম্পিউটারটিকে অবশ্যই USB-এর মাধ্যমে DUT-এর সাথে সংযুক্ত করতে হবে।
  1. লো ল্যাটেন্সি মোড সক্রিয় করুন।

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. নিশ্চিত করুন যে আপনার কম্পিউটারটি অ্যান্ড্রয়েড ডিবাগ ব্রিজ (ADB)-এর মাধ্যমে ফোনের সাথে সংযুক্ত আছে। ADB শেল থেকে, ১ সেকেন্ডের বিরতিতে একটানা ৩ ঘন্টা গেটওয়েতে পিং করুন।

  3. পরীক্ষার ফলাফল একটি টেক্সট ফাইলে সংরক্ষণ করুন এবং পিং ল্যাটেন্সি পরীক্ষার ফলাফলের একটি হিস্টোগ্রাম তৈরি করতে একটি স্প্রেডশিট বা পাইথন স্ক্রিপ্ট ব্যবহার করুন।

  4. ল্যাটেন্সি মোড নিষ্ক্রিয় রেখে ১ থেকে ৩ নম্বর ধাপগুলো পুনরাবৃত্তি করুন।

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. লো-ল্যাটেন্সি মোড চালু করলে গড় পিং ল্যাটেন্সির মান কমে আসে কিনা, তা যাচাই করতে পরীক্ষার ফলাফলগুলো তুলনা করুন।

  1. লো-ল্যাটেন্সি মোড সক্রিয় করুন।

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. টেস্ট কম্পিউটারের কমান্ড লাইন থেকে, ১ সেকেন্ডের ব্যবধানে একটানা ৩ ঘণ্টা ধরে ফোনটির আইপি অ্যাড্রেস পিং করুন।

  3. পরীক্ষার ফলাফল একটি টেক্সট ফাইলে সংরক্ষণ করুন এবং পিং ল্যাটেন্সি পরীক্ষার ফলাফলের একটি হিস্টোগ্রাম তৈরি করতে একটি স্প্রেডশিট বা পাইথন স্ক্রিপ্ট ব্যবহার করুন।

  4. ল্যাটেন্সি মোড নিষ্ক্রিয় রেখে ১ থেকে ৩ নম্বর ধাপগুলো পুনরাবৃত্তি করুন।

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. লো-ল্যাটেন্সি মোড চালু করলে গড় পিং ল্যাটেন্সির মান কমে আসে কিনা, তা যাচাই করতে পরীক্ষার ফলাফলগুলো তুলনা করুন।

অন্যান্য পরীক্ষা

পূর্ববর্তী পরীক্ষাগুলো ভিন্ন ভিন্ন পরিবেশে পুনরাবৃত্তি করুন। যেমন, বাড়িতে বা অফিসে।