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

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

टेस्ट करना

वाई-फ़ाई फ़्रेमवर्क की जांच करने के लिए, AOSP यूनिट टेस्ट और सीटीएस टेस्ट का इस्तेमाल करता है.

यूनिट टेस्ट

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

वाई-फ़ाई मैनेजर की जांच:

  • 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 को गलत पर सेट करें.

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

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

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

    • AIDL HAL: मुख्य bugreport फ़ाइल का 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