वाई-फ़ाई की जांच करें, उसे डीबग करें, और ट्यून करें

इस पेज पर एओएसपी में दिए गए टूल का इस्तेमाल करके, वाई-फ़ाई लागू करने की प्रोसेस की जांच करने, उसे डीबग करने, और बेहतर बनाने का तरीका बताया गया है.

टेस्ट करना

वाई-फ़ाई फ़्रेमवर्क की जांच करने के लिए, एओएसपी यूनिट टेस्ट और सीटीएस टेस्ट, दोनों की सुविधा देता है.

यूनिट टेस्ट

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

वाई-फ़ाई मैनेजर से मिलने वाले टेस्ट:

  • packages/modules/Wifi/framework/tests/ में स्थित
  • निम्न एक्ज़ीक्यूटेबल शेल का उपयोग करके चलाएं (और निष्पादन विकल्पों के लिए फ़ाइल पढ़ें):

    atest FrameworksWifiApiTests
    

वाई-फ़ाई सेवा की जांच:

  • packages/modules/Wifi/service/tests/wifitests/ में स्थित
  • निम्न एक्ज़ीक्यूटेबल शेल का उपयोग करके चलाएं (और निष्पादन विकल्पों के लिए फ़ाइल पढ़ें):

    atest FrameworksWifiTests
    

सीटीएस टेस्ट

कंपैटबिलिटी टेस्ट सुइट (सीटीएस) में वाई-फ़ाई फ़्रेमवर्क के लिए की जाने वाली जांच शामिल हैं. ये cts/tests/tests/net/src/android/net/wifi में मौजूद हैं. वाई-फ़ाई सीटीएस टेस्ट के लिए ज़रूरी है कि डिवाइस-अंडर-टेस्ट को टेस्ट की शुरुआत में ऐक्सेस पॉइंट से जोड़ा जाए.

डीबग करने के लिए लॉग इन करने के बेहतर विकल्प

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

लागू करने का तरीका

रेफ़रंस फ़ाइल को लागू करने के बारे में जानने के लिए, वेंडर एचएएल में डिफ़ॉल्ट तरीके से लागू करने का तरीका देखें.

आपके पास फ़र्मवेयर में लॉग इन करने की सुविधा को बंद करने का विकल्प है. ऐसा करने के लिए, रिसॉर्स config_wifi_enable_wifi_firmware_debugging को 'गलत है' पर सेट करें.

मैन्युअल तरीके से टेस्ट करने की सुविधा

इस मैन्युअल टेस्ट को चलाकर पुष्टि करें कि tombstone डायरेक्ट्री में मौजूद पुरानी फ़ाइलें मिटाई जा रही हैं या नहीं.

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

    • AIDL HAL: गड़बड़ी की मुख्य रिपोर्ट वाली फ़ाइल का dumpsys सेक्शन
    • एचडीएल एचएएल: /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 का इस्तेमाल करके ओवरलोड हो सकते हैं.

adb कमांड का इस्तेमाल करके डिवाइस को कॉन्फ़िगर करके, नए थ्रेशोल्ड की जांच की जा सकती है. (इसके अलावा, नए ओवरले के साथ एक बिल्ड बनाया जा सकता है, लेकिन adb के निर्देशों का इस्तेमाल करके टेस्टिंग से तेज़ी से नतीजे मिलते हैं.)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

उदाहरण के लिए, नीचे दिए गए निर्देश नए थ्रेशोल्ड पैरामीटर को कॉन्फ़िगर करते हैं (इस सैंपल कमांड में इस्तेमाल की गई वैल्यू, एओएसपी कोड बेस में कॉन्फ़िगर की गई डिफ़ॉल्ट वैल्यू हैं):

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