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

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

परिक्षण

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

इकाई परीक्षण

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

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

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

    atest FrameworksWifiApiTests
    

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

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

    atest FrameworksWifiTests
    

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

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

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

सीटीएस परीक्षण

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

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

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

कार्यान्वयन

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

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

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

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

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

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

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

  1. वाई-फ़ाई चालू करें.
  2. एक नेटवर्क से कनेक्ट करो।
  3. एक बग रिपोर्ट तैयार करें.
  4. बग रिपोर्ट ज़िप फ़ाइल का निरीक्षण करें और सत्यापित करें कि संग्रहीत फ़र्मवेयर लॉग मौजूद हैं। लॉग निम्नलिखित स्थानों पर पाए जाते हैं:

    • एआईडीएल एचएएल: मुख्य बग्रेपोर्ट फ़ाइल का dumpsys अनुभाग
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::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 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 shell settings delete global wifi_score_params