টেস্টিং, ডিবাগিং এবং টিউনিং ওয়াই-ফাই

এই পৃষ্ঠাটি বর্ণনা করে যে কিভাবে AOSP-এ প্রদত্ত টুল ব্যবহার করে Wi-Fi বাস্তবায়ন পরীক্ষা, ডিবাগ এবং টিউন করা যায়।

পরীক্ষামূলক

ওয়াই-ফাই ফ্রেমওয়ার্ক পরীক্ষা করার জন্য, AOSP ইউনিট পরীক্ষা, ইন্টিগ্রেশন টেস্ট (ACTS) এবং CTS পরীক্ষার মিশ্রণ প্রদান করে।

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

AOSP ডিফল্ট Wi-Fi ফ্রেমওয়ার্কের জন্য কার্যকরী এবং ইউনিট পরীক্ষা অন্তর্ভুক্ত করে: Wi-Fi ম্যানেজার (অ্যাপ-সাইড কোড) এবং Wi-Fi পরিষেবা উভয়ের জন্য।

ওয়াই-ফাই ম্যানেজার পরীক্ষা:

  • packages/modules/Wifi/framework/tests/ অবস্থিত
  • নিম্নলিখিত শেল এক্সিকিউটেবল ব্যবহার করে চালান (আরো এক্সিকিউশন বিকল্পের জন্য ফাইলটি পড়ুন):

    atest FrameworksWifiApiTests
    

Wi-Fi পরিষেবা পরীক্ষা:

  • packages/modules/Wifi/service/tests/wifitests/ অবস্থিত
  • নিম্নলিখিত শেল এক্সিকিউটেবল ব্যবহার করে চালান (আরো এক্সিকিউশন বিকল্পের জন্য ফাইলটি পড়ুন):

    atest FrameworksWifiTests
    

অ্যান্ড্রয়েড কমস টেস্ট স্যুট

অ্যান্ড্রয়েড কমস টেস্ট স্যুট (ACTS) ওয়াই-ফাই, ব্লুটুথ এবং সেলুলার পরিষেবাগুলির মতো সংযোগ স্ট্যাকের স্বয়ংক্রিয় পরীক্ষা করে। টেস্টিং টুলের জন্য adb এবং Python প্রয়োজন এবং এটি tools/test/connectivity/acts এ পাওয়া যাবে।

Wi-FI-এর জন্য ACTS পরীক্ষাগুলি tools/test/connectivity/acts_tests/tests/google/wifi তে পাওয়া যায়, একই ডিরেক্টরিতে একটি উদাহরণ পরীক্ষা কনফিগারেশন সহ: example_config.json

CTS পরীক্ষা

কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) Wi-Fi ফ্রেমওয়ার্কের জন্য পরীক্ষাগুলি অন্তর্ভুক্ত করে। এগুলি cts/tests/tests/net/src/android/net/wifi এ অবস্থিত। Wi-Fi CTS পরীক্ষাগুলির জন্য পরীক্ষা চালানোর শুরুতে ডিভাইস-আন্ডার-টেস্ট একটি অ্যাক্সেস পয়েন্টের সাথে যুক্ত করা প্রয়োজন।

ডিবাগিংয়ের জন্য উন্নত লগিং বিকল্প

Wi-Fi সমস্যাগুলি ডিবাগ করা সহজ করতে Android 9 উন্নত Wi-Fi লগিং করেছে৷ Android 9 বা উচ্চতর সংস্করণে, ড্রাইভার/ফার্মওয়্যার রিং বাফার সবসময় চালু থাকতে পারে। যখন একটি খারাপ অবস্থা শনাক্ত করা হয় তখন বাগ রিপোর্টগুলি স্বয়ংক্রিয়ভাবে ট্রিগার হতে পারে (শুধুমাত্র userdebug এবং eng বিল্ডে)। যখন Wi-Fi HAL (AIDL বা HIDL সংস্করণ 1.2 বা উচ্চতর) ব্যবহার করা হয়, ফার্মওয়্যার ডিবাগ বাফারগুলি IPC খরচ বাঁচাতে ফ্রেমওয়ার্কের পরিবর্তে HAL-এ সংরক্ষণ করা হয়।

বাস্তবায়ন

একটি রেফারেন্স বাস্তবায়নের জন্য, ভেন্ডর HAL-এ ডিফল্ট বাস্তবায়ন দেখুন।

আপনি রিসোর্স, config_wifi_enable_wifi_firmware_debugging , মিথ্যাতে সেট করে ফার্মওয়্যার লগিং অক্ষম করতে পারেন।

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

ইন্টিগ্রেশন পরীক্ষাটি /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py এ পাওয়া যাবে।

যাচাইকৃত ফার্মওয়্যার ডাম্পগুলি ইউজারডিবাগ বিল্ডের জন্য ফ্ল্যাশে উপযুক্ত সমাধির পাথরের ডিরেক্টরিতে টিকে থাকে। একটি বাগ রিপোর্ট তৈরি করার সময় ডাম্পস্টেট এই ডিরেক্টরি থেকে সংগ্রহ করে।

ম্যানুয়াল পরীক্ষা

টম্বস্টোন ডিরেক্টরির পুরানো ফাইলগুলি মুছে ফেলা হচ্ছে তা যাচাই করতে এই ম্যানুয়াল পরীক্ষাটি চালান৷

  1. Wi-Fi চালু করুন।
  2. একটি নেটওয়ার্কে সংযোগ করুন।
  3. একটি বাগ রিপোর্ট তৈরি করুন।
  4. বাগ রিপোর্ট জিপ ফাইলটি পরিদর্শন করুন এবং সংরক্ষণাগারভুক্ত ফার্মওয়্যার লগগুলি বিদ্যমান কিনা তা যাচাই করুন৷ লগগুলি নিম্নলিখিত অবস্থানগুলিতে পাওয়া যায়:

    • AIDL HAL: প্রধান বাগ রিপোর্ট ফাইলের dumpsys বিভাগ
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

কনফিগারেশন টিউনিং

কোন ডিভাইস কোন নেটওয়ার্কের সাথে সংযুক্ত বা বিচ্ছিন্ন হয় তা নিয়ন্ত্রণ করতে, Wi-Fi ফ্রেমওয়ার্ক এন্ট্রি এবং প্রস্থান RSSI থ্রেশহোল্ড ব্যবহার করে।

এন্ট্রি এবং এক্সিট থ্রেশহোল্ডগুলি ওভারলোডযোগ্য কনফিগারেশন প্যারামিটার হিসাবে নিম্নলিখিত নামগুলির সাথে সংরক্ষণ করা হয় (যেখানে 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 ব্যবহার করে ওভারলোড করা হতে পারে <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml

আপনি 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