परीक्षण, डिबगिंग, और वाई-फाई ट्यूनिंग

यह पृष्ठ बताता है कि एओएसपी में दिए गए टूल का उपयोग करके वाई-फाई कार्यान्वयन का परीक्षण, डिबग और ट्यून कैसे करें।

परिक्षण

वाई-फाई ढांचे का परीक्षण करने के लिए, एओएसपी यूनिट परीक्षण, एकीकरण परीक्षण (एसीटीएस), और सीटीएस परीक्षणों का मिश्रण प्रदान करता है।

यूनिट परीक्षण

एओएसपी में डिफ़ॉल्ट वाई-फाई ढांचे के लिए कार्यात्मक और इकाई परीक्षण शामिल हैं: वाई-फाई प्रबंधक (ऐप-साइड कोड) और वाई-फाई सेवा दोनों के लिए।

वाई-फाई प्रबंधक परीक्षण:

  • packages/modules/Wifi/framework/tests/ में स्थित है
  • निम्नलिखित शेल निष्पादन योग्य का उपयोग करके चलाएँ (अधिक निष्पादन विकल्पों के लिए फ़ाइल पढ़ें):

    atest FrameworksWifiApiTests
    

वाई-फाई सेवा परीक्षण:

  • packages/modules/Wifi/service/tests/wifitests/ में स्थित है
  • निम्नलिखित शेल निष्पादन योग्य का उपयोग करके चलाएँ (अधिक निष्पादन विकल्पों के लिए फ़ाइल पढ़ें):

    atest FrameworksWifiTests
    

एंड्रॉइड कॉमस टेस्ट सूट

Android Comms टेस्ट सूट (ACTS) वाई-फाई, ब्लूटूथ और सेलुलर सेवाओं जैसे कनेक्टिविटी स्टैक का स्वचालित परीक्षण करता है। परीक्षण उपकरण के लिए adb और Python की आवश्यकता होती है, और इसे tools/test/connectivity/acts में पाया जा सकता है।

Wi-FI के लिए tools/test/connectivity/acts_tests/tests/google/wifi में पाए जाते हैं, एक उदाहरण परीक्षण कॉन्फ़िगरेशन के साथ उसी निर्देशिका में: example_config.json

सीटीएस टेस्ट

संगतता परीक्षण सूट (सीटीएस) में वाई-फाई ढांचे के लिए परीक्षण शामिल हैं। ये cts/tests/tests/net/src/android/net/wifi में स्थित हैं। वाई-फाई सीटीएस परीक्षणों के लिए टेस्ट रन की शुरुआत में डिवाइस-अंडर-टेस्ट को एक्सेस प्वाइंट से जोड़ा जाना आवश्यक है।

डिबगिंग के लिए उन्नत लॉगिंग विकल्प

एंड्रॉइड 9 वाई-फाई लॉगिंग को बेहतर बनाता है जिससे वाई-फाई मुद्दों को डीबग करना आसान हो जाता है। Android 9 या उच्चतर में, ड्राइवर/फर्मवेयर रिंग बफ़र्स हमेशा चालू रह सकते हैं। खराब स्थिति का पता चलने पर (केवल userdebug और eng बिल्ड में) बग रिपोर्ट को स्वचालित रूप से ट्रिगर किया जा सकता है। जब वाई-फाई एचएएल (संस्करण 1.2 या उच्चतर) का उपयोग किया जाता है, तो आईपीसी लागतों को बचाने के लिए फर्मवेयर डिबग बफ़र्स को फ्रेमवर्क के बजाय एचएएल में संग्रहीत किया जाता है।

कार्यान्वयन

संदर्भ कार्यान्वयन के लिए, विक्रेता एचएएल में डिफ़ॉल्ट कार्यान्वयन देखें।

आप संसाधन, config_wifi_enable_wifi_firmware_debugging को गलत पर सेट करके फर्मवेयर लॉगिंग को अक्षम कर सकते हैं।

एकीकरण परीक्षण (ACTS)

एकीकरण परीक्षण /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py पर पाया जा सकता है।

उपयोगकर्ताडीबग बिल्ड के लिए फ्लैश में उपयुक्त टॉम्बस्टोन निर्देशिका में सत्यापित फर्मवेयर डंप बने रहते हैं। डंपस्टेट बग रिपोर्ट बनाते समय इस निर्देशिका से एकत्र करता है।

मैनुअल परीक्षण

यह सत्यापित करने के लिए कि टॉम्बस्टोन निर्देशिका में पुरानी फ़ाइलें हटाई जा रही हैं, यह मैन्युअल परीक्षण चलाएँ।

  1. वाई-फ़ाई चालू करें.
  2. एक नेटवर्क से कनेक्ट करो।
  3. बग रिपोर्ट जनरेट करें।
  4. बग्रेपोर्ट ज़िप फ़ाइल का निरीक्षण करें और सत्यापित करें कि /lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt में संग्रहीत फ़र्मवेयर लॉग हैं।

विन्यास ट्यूनिंग

सिग्नल की ताकत को नियंत्रित करने के लिए जिस पर डिवाइस नेटवर्क से जुड़ता है या उससे अलग होता है, वाई-फाई फ्रेमवर्क आरएसएसआई थ्रेसहोल्ड में प्रवेश और निकास का उपयोग करता है।

प्रवेश और निकास थ्रेसहोल्ड को निम्नलिखित नामों के साथ ओवरलोडेबल कॉन्फ़िगरेशन पैरामीटर के रूप में संग्रहीत किया जाता है (जहां bad पैरामीटर निकास आरएसएसआई थ्रेसहोल्ड को संदर्भित करता है):

  • 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