Android 10 Wi-Fi লক API প্রসারিত করে যাতে লেটেন্সি-সংবেদনশীল অ্যাপ্লিকেশানগুলিকে Wi-Fi কনফিগার করার জন্য একটি কম লেটেন্সি মোডে অনুমতি দেয়৷ নিম্ন-বিলম্বন মোড শুরু হয় যখন নিম্নলিখিত সমস্ত শর্ত পূরণ হয়:
- Wi-Fi সক্ষম এবং ডিভাইসে ইন্টারনেট অ্যাক্সেস রয়েছে৷
- অ্যাপটি একটি ওয়াই-ফাই লক তৈরি করেছে এবং অর্জন করেছে, এবং অগ্রভাগে চলছে।
- পর্দা চালু আছে।
ডিভাইসে লো-লেটেন্সি মোড সমর্থন করার জন্য, ডিভাইস নির্মাতাদের অবশ্যই WLAN ড্রাইভার এবং বিক্রেতা HAL আপডেট করতে হবে। লো-লেটেন্সি মোডে, পাওয়ার সেভ (আইইইই 802.11 স্ট্যান্ডার্ডে ডোজ স্টেট নামেও পরিচিত) ফ্রেমওয়ার্ক দ্বারা স্পষ্টভাবে অক্ষম করা হয়েছে। ড্রাইভার এবং ফার্মওয়্যার স্তরগুলিতে স্ক্যানিং এবং রোমিং প্যারামিটারগুলি আরও Wi-Fi লেটেন্সি কমাতে অপ্টিমাইজ করা যেতে পারে। সঠিক অপ্টিমাইজেশান বাস্তবায়ন নির্দিষ্ট.
অ্যান্ড্রয়েডের একটি উচ্চ-পারফরম্যান্স ওয়াই-ফাই লক মোড রয়েছে (এপিআই স্তর 12-এ প্রবর্তিত) যা নিম্ন-বিলম্বিত মোড থেকে আলাদা।
বাস্তবায়ন
Wi-Fi লো-লেটেন্সি মোড বৈশিষ্ট্য সমর্থন করতে, নিম্নলিখিত IWifiChip
ফাংশনগুলির জন্য বাস্তবায়ন প্রদান করুন।
এআইডিএল এইচএএল-এ:
-
int getFeatureSet()
-
void setLatencyMode(in LatencyMode mode)
HIDL HAL-এ (1.3 বা নতুন):
-
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 কমান্ড, NL80211_CMD_SET_POWER_SAVE
সমর্থন করতে হবে, পাওয়ার সেভ সক্ষম ও নিষ্ক্রিয় করতে। যখন Wi-Fi পাওয়ার সেভ অক্ষম থাকে, তখন Wi-Fi সিস্টেমকে অবশ্যই জাগ্রত অবস্থায় থাকতে হবে এবং ন্যূনতম বিলম্বের সাথে প্যাকেট পাঠাতে বা গ্রহণ করতে প্রস্তুত থাকতে হবে।
বৈশিষ্ট্যটি নিষ্ক্রিয় করুন
লো-লেটেন্সি মোড বৈশিষ্ট্যটি বন্ধ করতে, AIDL HAL-এর জন্য getFeatureSet()
এর অন্তর্নিহিত কোড বা HIDL HAL-এর জন্য getCapabilities_1_3()
এর অন্তর্নিহিত কোড আপডেট করুন, যেমন capabilities & SET_LATENCY_MODE = 0
, যেখানে SET_LATENCY_MODE
IWifiChip
বা HALID সংজ্ঞায় সংজ্ঞায়িত করা হয়েছে . যখন এই বৈশিষ্ট্যটি অক্ষম করা হয়, ফ্রেমওয়ার্ক শুধুমাত্র কম-বিলম্বিত মোড সক্রিয় থাকে তখনই পাওয়ার সেভ অক্ষম করে।
বৈধতা
লো-ল্যাটেন্সি মোড সক্ষম হলে কাজ করে তা পরীক্ষা করতে, নিম্নলিখিত স্বয়ংক্রিয় পরীক্ষা এবং ম্যানুয়াল পিং লেটেন্সি পরীক্ষা চালান।
স্বয়ংক্রিয় পরীক্ষা
নিম্নলিখিত VTS এবং CTS পরীক্ষা চালান:
- VTS (AIDL):
hardware/interfaces/wifi/aidl/vts/functional/wifi_chip_aidl_test.cpp
- VTS (HIDL):
hardware/interfaces/wifi/1.3/vts/functional/wifi_chip_hidl_test.cpp
- CTS:
cts/tests/tests/net/src/android/net/wifi/cts/WifiLockTest.java
ম্যানুয়াল পরীক্ষা
প্রয়োজনীয় পরীক্ষার সরঞ্জাম এবং পরিবেশ
ম্যানুয়াল পরীক্ষার জন্য, নিম্নলিখিত সেটআপ প্রয়োজন:
- Wi-Fi অ্যাক্সেস পয়েন্ট (AP)
ডিভাইস-আন্ডার-টেস্ট (DUT) ফোন এবং পরীক্ষা কম্পিউটার
- DUT অবশ্যই Wi-Fi এর মাধ্যমে অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকতে হবে।
- পরীক্ষার কম্পিউটারটি অবশ্যই ওয়াই-ফাই বা ইথারনেটের মাধ্যমে অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকতে হবে।
- পরীক্ষার কম্পিউটার অবশ্যই USB এর মাধ্যমে DUT এর সাথে সংযুক্ত থাকতে হবে।
আপলিংক পিং পরীক্ষা
কম লেটেন্সি মোড সক্ষম করুন।
adb root
adb shell cmd wifi force-low-latency-mode enabled
নিশ্চিত করুন যে আপনার কম্পিউটার ফোনের সাথে ADB এর মাধ্যমে সংযুক্ত আছে। ADB শেল থেকে, 1 সেকেন্ডের ব্যবধানে 3 ঘন্টা একটানা গেটওয়ে পিং করুন।
একটি পাঠ্য ফাইলে পরীক্ষার আউটপুট সংরক্ষণ করুন এবং পিং লেটেন্সি পরীক্ষার ফলাফলের একটি হিস্টোগ্রাম তৈরি করতে একটি স্প্রেডশীট বা একটি পাইথন স্ক্রিপ্ট ব্যবহার করুন৷
লেটেন্সি মোড অক্ষম করে ধাপ 1 থেকে 3 পুনরাবৃত্তি করুন।
adb root
adb shell cmd wifi force-low-latency-mode disabled
লো-লেটেন্সি মোড সক্রিয় থাকা অবস্থায় গড় পিং লেটেন্সি মান কমে গেছে তা নিশ্চিত করতে পরীক্ষার ফলাফলের তুলনা করুন।
ডাউনলিংক পিং পরীক্ষা
কম লেটেন্সি মোড সক্ষম করুন।
adb root
adb shell cmd wifi force-low-latency-mode enabled
টেস্ট কম্পিউটারের কমান্ড লাইন থেকে, 1 সেকেন্ডের ব্যবধানে 3 ঘন্টা একটানা ফোনের আইপি অ্যাড্রেস পিং করুন।
একটি পাঠ্য ফাইলে পরীক্ষার আউটপুট সংরক্ষণ করুন এবং পিং লেটেন্সি পরীক্ষার ফলাফলের একটি হিস্টোগ্রাম তৈরি করতে একটি স্প্রেডশীট বা একটি পাইথন স্ক্রিপ্ট ব্যবহার করুন৷
লেটেন্সি মোড অক্ষম করে ধাপ 1 থেকে 3 পুনরাবৃত্তি করুন।
adb root
adb shell cmd wifi force-low-latency-mode disabled
লো-লেটেন্সি মোড সক্রিয় থাকা অবস্থায় গড় পিং লেটেন্সি মান কমে গেছে তা নিশ্চিত করতে পরীক্ষার ফলাফলের তুলনা করুন।
অন্যান্য পরীক্ষা
উপরের পরীক্ষাগুলো বিভিন্ন পরিবেশে পুনরাবৃত্তি করুন। উদাহরণস্বরূপ, বাড়িতে বা অফিসে।