এই পৃষ্ঠায় AOSP-তে প্রদত্ত টুলগুলো ব্যবহার করে ওয়াই-ফাই ইমপ্লিমেন্টেশন কীভাবে পরীক্ষা, ডিবাগ এবং টিউন করতে হয়, তা বর্ণনা করা হয়েছে।
পরীক্ষা
ওয়াই-ফাই ফ্রেমওয়ার্ক পরীক্ষা করার জন্য, AOSP ইউনিট টেস্ট এবং CTS টেস্টের একটি মিশ্রণ প্রদান করে।
ইউনিট পরীক্ষা
AOSP-তে ডিফল্ট ওয়াই-ফাই ফ্রেমওয়ার্কের জন্য ফাংশনাল এবং ইউনিট টেস্ট অন্তর্ভুক্ত রয়েছে: ওয়াই-ফাই ম্যানেজার (অ্যাপ-সাইড কোড) এবং ওয়াই-ফাই সার্ভিস উভয়ের জন্যই।
ওয়াই-ফাই ম্যানেজার পরীক্ষা:
-
packages/modules/Wifi/framework/tests/এ অবস্থিত নিম্নলিখিত শেল এক্সিকিউটেবল ব্যবহার করে চালান (আরও এক্সিকিউশন অপশনের জন্য ফাইলটি পড়ুন):
atest FrameworksWifiApiTests
ওয়াই-ফাই পরিষেবা পরীক্ষা:
-
packages/modules/Wifi/service/tests/wifitests/এ অবস্থিত নিম্নলিখিত শেল এক্সিকিউটেবল ব্যবহার করে চালান (আরও এক্সিকিউশন অপশনের জন্য ফাইলটি পড়ুন):
atest FrameworksWifiTests
CTS পরীক্ষা
কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এ ওয়াই-ফাই ফ্রেমওয়ার্কের জন্য টেস্টগুলো অন্তর্ভুক্ত রয়েছে। এগুলো cts/tests/tests/net/src/android/net/wifi ফোল্ডারে অবস্থিত। ওয়াই-ফাই CTS টেস্টগুলো চালানোর জন্য, টেস্ট রান শুরুর সময়ে পরীক্ষাধীন ডিভাইসটিকে একটি অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকতে হয়।
ডিবাগিংয়ের জন্য উন্নত লগিং বিকল্প
অ্যান্ড্রয়েড ৯ ওয়াই-ফাই লগিং উন্নত করেছে, যার ফলে ওয়াই-ফাই সংক্রান্ত সমস্যা ডিবাগ করা আরও সহজ হয়েছে। অ্যান্ড্রয়েড ৯ বা তার পরবর্তী সংস্করণগুলিতে, ড্রাইভার বা ফার্মওয়্যার রিং বাফার সর্বদা চালু থাকতে পারে। কোনো ত্রুটিপূর্ণ অবস্থা শনাক্ত হলে বাগ রিপোর্ট স্বয়ংক্রিয়ভাবে চালু হতে পারে (শুধুমাত্র ইউজারডিবাগ এবং ইঞ্জ বিল্ডে)। যখন ওয়াই-ফাই এইচএএল (এআইডিএল বা এইচআইডিএল সংস্করণ ১.২ বা তার পরবর্তী) ব্যবহার করা হয়, তখন আইপিসি খরচ বাঁচাতে ফার্মওয়্যার ডিবাগ বাফারগুলি ফ্রেমওয়ার্কের পরিবর্তে এইচএএল-এ সংরক্ষিত হয়।
বাস্তবায়ন
রেফারেন্স ইমপ্লিমেন্টেশনের জন্য, ভেন্ডর HAL-এ থাকা ডিফল্ট ইমপ্লিমেন্টেশনটি দেখুন।
আপনি config_wifi_enable_wifi_firmware_debugging রিসোর্সটিকে false-এ সেট করে ফার্মওয়্যার লগিং নিষ্ক্রিয় করতে পারেন।
ম্যানুয়াল পরীক্ষা
টুম্বস্টোন ডিরেক্টরিতে থাকা পুরোনো ফাইলগুলো মুছে ফেলা হচ্ছে কিনা, তা যাচাই করতে এই ম্যানুয়াল পরীক্ষাটি চালান।
- ওয়াই-ফাই চালু করুন।
- একটি নেটওয়ার্কের সাথে সংযুক্ত হন।
- একটি বাগ রিপোর্ট তৈরি করুন।
বাগ রিপোর্ট জিপ ফাইলটি পরীক্ষা করুন এবং আর্কাইভ করা ফার্মওয়্যার লগগুলো আছে কিনা তা যাচাই করুন। লগগুলো নিম্নলিখিত স্থানগুলোতে পাওয়া যাবে:
- AIDL HAL: মূল বাগরিপোর্ট ফাইলের
dumpsysঅংশ - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: মূল বাগরিপোর্ট ফাইলের
কনফিগারেশন টিউনিং
কোনো ডিভাইস কোন সিগন্যাল শক্তিতে নেটওয়ার্কের সাথে যুক্ত হবে বা বিচ্ছিন্ন হবে, তা নিয়ন্ত্রণ করতে ওয়াই-ফাই ফ্রেমওয়ার্কটি এন্ট্রি এবং এক্সিট আরএসএসআই থ্রেশহোল্ড ব্যবহার করে।
প্রবেশ এবং প্রস্থানের থ্রেশহোল্ডগুলি নিম্নলিখিত নামসহ ওভারলোডযোগ্য কনফিগারেশন প্যারামিটার হিসাবে সংরক্ষিত থাকে (যেখানে ' bad প্যারামিটারটি প্রস্থানের RSSI থ্রেশহোল্ডকে বোঝায়):
-
config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz -
config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz -
config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz -
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
প্যারামিটারগুলো <root>/frameworks/base/core/res/res/values/config.xml ফাইলে সংরক্ষিত থাকে এবং <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml ওভারলে ফাইলটি ব্যবহার করে এগুলো ওভারলোড করা যেতে পারে।
আপনি adb কমান্ড ব্যবহার করে ডিভাইসটি কনফিগার করার মাধ্যমে নতুন থ্রেশহোল্ড পরীক্ষা করতে পারেন। (বিকল্পভাবে, আপনি নতুন ওভারলে সহ একটি বিল্ড তৈরি করতে পারেন, কিন্তু adb কমান্ড ব্যবহার করলে পরীক্ষার ফলাফল দ্রুত পাওয়া যায়।)
adb shell settings put global wifi_score_params \
[rssi2|rssi5]=<bad>:<entry>:<low>:<good>উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি নতুন থ্রেশহোল্ড প্যারামিটার কনফিগার করে (এই নমুনা কমান্ডে ব্যবহৃত মানগুলি হল AOSP কোডবেসে কনফিগার করা ডিফল্ট মান):
adb shell settings put global wifi_score_params \
rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57বিল্ট-ইন প্যারামিটার মানগুলি পুনরুদ্ধার করতে (অর্থাৎ ওভাররাইডগুলি সরাতে) নিম্নলিখিত adb কমান্ডটি ব্যবহার করুন:
adb shell settings delete global wifi_score_params