वाई-फाई लो-लेटेंसी मोड

एंड्रॉइड 10 विलंबता-संवेदनशील ऐप्स को वाई-फाई को कम-विलंबता मोड में कॉन्फ़िगर करने की अनुमति देने के लिए वाई-फाई लॉक एपीआई का विस्तार करता है। निम्न-विलंबता मोड तब प्रारंभ होता है जब निम्नलिखित सभी शर्तें पूरी हो जाती हैं:

  • वाई-फ़ाई सक्षम है और डिवाइस में इंटरनेट एक्सेस है।
  • ऐप ने वाई-फाई लॉक बनाया और हासिल कर लिया है, और अग्रभूमि में चल रहा है।
  • स्क्रीन चालू है.

उपकरणों पर कम-विलंबता मोड का समर्थन करने के लिए, डिवाइस निर्माताओं को WLAN ड्राइवर और विक्रेता HAL को अपडेट करना होगा। कम-विलंबता मोड में, पावर सेव (जिसे आईईईई 802.11 मानक में डोज़ स्थिति के रूप में भी जाना जाता है) फ्रेमवर्क द्वारा स्पष्ट रूप से अक्षम है। वाई-फ़ाई विलंबता को और कम करने के लिए ड्राइवर और फ़र्मवेयर परतों में स्कैनिंग और रोमिंग पैरामीटर को अनुकूलित किया जा सकता है। सटीक अनुकूलन कार्यान्वयन विशिष्ट हैं।

एंड्रॉइड में एक उच्च-प्रदर्शन वाई-फाई लॉक मोड है (एपीआई स्तर 12 में पेश किया गया) जो कम-विलंबता मोड से अलग है।

कार्यान्वयन

वाई-फ़ाई कम-विलंबता मोड सुविधा का समर्थन करने के लिए, निम्नलिखित IWifiChip फ़ंक्शंस के लिए कार्यान्वयन प्रदान करें।

एआईडीएल एचएएल में:

  • int getFeatureSet()
  • void setLatencyMode(in LatencyMode mode)

HIDL HAL (1.3 या नया) में:

  • getCapabilities_1_3() generates (WifiStatus status, bitfield<ChipCapabilityMask> capabilities)
  • setLatencyMode(LatencyMode mode) generates (WifiStatus status)

निम्नलिखित कार्यों के साथ एक संदर्भ कार्यान्वयन wifi_legacy_hal.cpp में पाया जा सकता है:

  • wifi_error wifi_get_supported_feature_set(wifi_interface_handle iface, feature_set *set)
  • wifi_error wifi_set_latency_mode(wifi_interface_handle handle, wifi_latency_mode mode)

कम-विलंबता मोड में, एंड्रॉइड फ्रेमवर्क में WifiLockManager द्वारा पावर सेव को स्पष्ट रूप से अक्षम कर दिया गया है। इसका समर्थन करने के लिए, पावर सेव को सक्षम और अक्षम करने के लिए WLAN ड्राइवर को NL80211 कमांड, NL80211_CMD_SET_POWER_SAVE का समर्थन करना होगा। जब वाई-फ़ाई पावर सेव अक्षम हो, तो वाई-फ़ाई सिस्टम को सक्रिय अवस्था में रहना चाहिए और न्यूनतम विलंब के साथ पैकेट भेजने या प्राप्त करने के लिए तैयार रहना चाहिए।

सुविधा को अक्षम किया जा रहा है

कम-विलंबता मोड सुविधा को बंद करने के लिए, AIDL HAL के लिए getFeatureSet() या HIDL HAL के लिए getCapabilities_1_3() के अंतर्निहित कोड को अपडेट करें, जैसे कि capabilities & SET_LATENCY_MODE = 0 , जहां SET_LATENCY_MODE को IWifiChip AIDL या HIDL परिभाषा में परिभाषित किया गया है . जब यह सुविधा अक्षम हो जाती है, तो फ़्रेमवर्क पावर सेव को केवल तभी अक्षम करता है जब कम-विलंबता मोड सक्रिय होता है।

मान्यकरण

यह जांचने के लिए कि सक्षम होने पर निम्न-विलंबता मोड काम करता है, निम्नलिखित स्वचालित परीक्षण और मैन्युअल पिंग विलंबता परीक्षण चलाएँ।

स्वचालित परीक्षण

निम्नलिखित वीटीएस और सीटीएस परीक्षण चलाएँ:

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

आवश्यक परीक्षण उपकरण और वातावरण

मैन्युअल परीक्षण के लिए, निम्नलिखित सेटअप आवश्यक है:

  • वाई-फाई एक्सेस प्वाइंट (एपी)
  • डिवाइस-अंडर-टेस्ट (DUT) फ़ोन और परीक्षण कंप्यूटर

    • DUT को वाई-फ़ाई पर एक्सेस प्वाइंट से कनेक्ट किया जाना चाहिए।
    • परीक्षण कंप्यूटर वाई-फाई या ईथरनेट पर एक्सेस प्वाइंट से जुड़ा होना चाहिए।
    • परीक्षण कंप्यूटर को USB पर DUT से कनेक्ट किया जाना चाहिए।
  1. निम्न विलंबता मोड सक्षम करें.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. सुनिश्चित करें कि आपका कंप्यूटर ADB के माध्यम से फ़ोन से जुड़ा है। एडीबी शेल से, गेटवे को 1 सेकंड के अंतराल पर 3 घंटे तक लगातार पिंग करें।

  3. परीक्षण आउटपुट को एक टेक्स्ट फ़ाइल में सहेजें और पिंग विलंबता परीक्षण परिणामों का हिस्टोग्राम उत्पन्न करने के लिए एक स्प्रेडशीट या पायथन स्क्रिप्ट का उपयोग करें।

  4. विलंबता मोड अक्षम होने पर चरण 1 से 3 तक दोहराएँ।

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. यह सुनिश्चित करने के लिए परीक्षण परिणामों की तुलना करें कि निम्न-विलंबता मोड सक्षम होने पर औसत पिंग विलंबता मान कम हो जाता है।

  1. निम्न-विलंबता मोड सक्षम करें.

    adb root
    adb shell cmd wifi force-low-latency-mode enabled
    
  2. परीक्षण कंप्यूटर की कमांड लाइन से, फ़ोन के आईपी पते को 1 सेकंड के अंतराल पर 3 घंटे तक लगातार पिंग करें।

  3. परीक्षण आउटपुट को एक टेक्स्ट फ़ाइल में सहेजें और पिंग विलंबता परीक्षण परिणामों का हिस्टोग्राम उत्पन्न करने के लिए एक स्प्रेडशीट या पायथन स्क्रिप्ट का उपयोग करें।

  4. विलंबता मोड अक्षम होने पर चरण 1 से 3 तक दोहराएँ।

    adb root
    adb shell cmd wifi force-low-latency-mode disabled
    
  5. यह सुनिश्चित करने के लिए परीक्षण परिणामों की तुलना करें कि निम्न-विलंबता मोड सक्षम होने पर औसत पिंग विलंबता मान कम हो जाता है।

अन्य परीक्षण

उपरोक्त परीक्षणों को विभिन्न वातावरणों में दोहराएँ। उदाहरण के लिए, घर पर या कार्यालय में.