Android 10, वाई-फ़ाई लॉक एपीआई को अनुमति देता है वाई-फ़ाई को कॉन्फ़िगर करने के लिए, इंतज़ार का समय तय करने वाले ऐप्लिकेशन कम इंतज़ार का समय मोड है. लो-लेटेंसी मोड तब शुरू होता है, जब ये सभी शर्तें पूरी होती हैं:
- वाई-फ़ाई चालू है और डिवाइस में इंटरनेट ऐक्सेस है.
- ऐप्लिकेशन ने वाई-फ़ाई लॉक बनाया और हासिल किया है. साथ ही, वह फ़ोरग्राउंड है.
- स्क्रीन चालू हो.
डिवाइस पर इंतज़ार का समय कम करने वाला मोड इस्तेमाल करने के लिए, डिवाइस बनाने वाली कंपनियों को WLAN ड्राइवर और वेंडर एचएएल. लो-लेटेंसी मोड में, पावर सेव (इसे भी कहा जाता है) आईईईई 802.11 मानक में 'डोज़' स्थिति) का इस्तेमाल नहीं किया जा सकता. ड्राइवर और फ़र्मवेयर लेयर में स्कैनिंग और रोमिंग पैरामीटर ये हो सकते हैं इसे वाई-फ़ाई इंतज़ार के समय को और कम करने के लिए ऑप्टिमाइज़ किया गया है. सटीक ऑप्टिमाइज़ेशन खास तौर पर लागू करने के लिए.
Android में बेहतर वाई-फ़ाई लॉक मोड (एपीआई लेवल 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
Android फ़्रेमवर्क में बताया गया है.
इसका समर्थन करने के लिए, WLAN ड्राइवर को NL80211 आदेश का समर्थन करना होगा,
पावर सेव की सुविधा को चालू और बंद करने के लिए NL80211_CMD_SET_POWER_SAVE
. वाई-फ़ाई पावर होने पर
सेव करने की सुविधा बंद है, तो वाई-फ़ाई सिस्टम चालू रहने के दौरान ही
तय समय में ज़्यादा से ज़्यादा देरी से पैकेट भेजें और पाएं.
इस विकल्प से, थीम बनाने की सुविधा बंद हो जाती है
लो-लेटेंसी मोड सुविधा को बंद करने के लिए, इसके नीचे दिया गया कोड अपडेट करें:
एआईडीएल एचएएल के लिए getFeatureSet()
या
HIDL HAL के लिए getCapabilities_1_3()
,
जैसे कि capabilities & SET_LATENCY_MODE = 0
, जहां
SET_LATENCY_MODE
की जानकारी, IWifiChip
AIDL या HIDL में दी गई है.
जब यह सुविधा बंद होती है,
फ़्रेमवर्क, पावर सेव को सिर्फ़ तब बंद करता है, जब लो-लेटेंसी मोड चालू हो.
पुष्टि करें
यह जांचने के लिए कि 'वीडियो स्ट्रीम होने और उसके दिखने के समय का अंतर कम करने वाला मोड' चालू होने पर काम करता है या नहीं, अपने-आप काम करने वाले नीचे दिए गए परीक्षण और मैनुअल पिंग प्रतीक्षा अवधि परीक्षणों को पूरा करते हैं.
ऑटोमेटेड टेस्टिंग
नीचे दिए गए वीटीएस और सीटीएस टेस्ट चलाएं:
- वीटीएस (एआईडीएल):
hardware/interfaces/wifi/aidl/vts/functional/wifi_chip_aidl_test.cpp
- वीटीएस (एचआईडीएल):
hardware/interfaces/wifi/1.3/vts/functional/wifi_chip_hidl_test.cpp
- सीटीएस:
cts/tests/tests/net/src/android/net/wifi/cts/WifiLockTest.java
मैन्युअल टेस्टिंग
टेस्ट के लिए ज़रूरी उपकरण और एनवायरमेंट
मैन्युअल तरीके से टेस्ट करने के लिए, नीचे दिए गए सेटअप की ज़रूरत होती है:
- वाई-फ़ाई ऐक्सेस पॉइंट (एपी)
डिवाइस-अंडर-टेस्ट (डीयूटी) फ़ोन और टेस्ट कंप्यूटर
- डीयूटी, वाई-फ़ाई के ज़रिए ऐक्सेस पॉइंट से कनेक्ट होना चाहिए.
- टेस्ट कंप्यूटर को वाई-फ़ाई के ज़रिए, ऐक्सेस पॉइंट से कनेक्ट किया जाना चाहिए या ईथरनेट.
- टेस्ट कंप्यूटर को यूएसबी के ज़रिए DUT से कनेक्ट किया जाना चाहिए.
अपलिंक पिंग परीक्षण
इंतज़ार का समय कम करने वाला मोड चालू करें.
adb root
adb shell cmd wifi force-low-latency-mode enabled
पक्का करें कि आपका कंप्यूटर, ADB के ज़रिए फ़ोन से कनेक्ट किया गया हो. इन्होंने भेजा: ADB शेल, गेटवे को 1 सेकंड पर 3 घंटे के लिए लगातार पिंग करता है अंतराल.
टेस्ट आउटपुट को टेक्स्ट फ़ाइल में सेव करें और स्प्रेडशीट या Python का इस्तेमाल करें स्क्रिप्ट का इस्तेमाल, पिंग इंतज़ार के समय की जांच के नतीजों का हिस्टोग्राम जनरेट करने के लिए किया जाता है.
इंतज़ार का समय मोड बंद होने पर, पहले से तीसरे चरण को दोहराएं.
adb root
adb shell cmd wifi force-low-latency-mode disabled
जांच के नतीजों की तुलना करके पक्का करें कि पिंग करने में लगने वाले समय की औसत वैल्यू लो-लेटेंसी मोड के चालू होने पर, इसे कम किया जा सकता है.
डाउनलिंक पिंग टेस्ट
लो-लेटेंसी मोड चालू करें.
adb root
adb shell cmd wifi force-low-latency-mode enabled
परीक्षण कंप्यूटर की कमांड लाइन से, फ़ोन के IP को पिंग करें पता लगातार 3 घंटे 1 सेकंड के अंतराल पर भेजें.
टेस्ट आउटपुट को टेक्स्ट फ़ाइल में सेव करें और स्प्रेडशीट या Python का इस्तेमाल करें स्क्रिप्ट का इस्तेमाल, पिंग इंतज़ार के समय की जांच के नतीजों का हिस्टोग्राम जनरेट करने के लिए किया जाता है.
इंतज़ार का समय मोड बंद होने पर, पहले से तीसरे चरण को दोहराएं.
adb root
adb shell cmd wifi force-low-latency-mode disabled
जांच के नतीजों की तुलना करके पक्का करें कि पिंग करने में लगने वाले समय की औसत वैल्यू 'वीडियो स्ट्रीम होने और उसके दिखने के समय का अंतर कम करने वाला मोड' चालू होने पर, इसे कम किया जा सकता है.
अन्य टेस्ट
ऊपर दिए गए टेस्ट को अलग-अलग एनवायरमेंट में दोहराएं. उदाहरण के लिए, घर या ऑफ़िस में.