למכשירים עם Android מגרסה 11 ואילך, ב-Android Comms Test Suite (ACTS) יש תמיכה בתרחישי ליבה של 5G NSA בסביבות עבודה של יחיד או של כמה מכשירים. בדף הזה נסביר איך ACTS מזהה ומאמת שמכשיר מחובר לרשת 5G NSA, ונספק סקירה כללית על מבנה נתיב הבדיקה.
זיהוי
החל מגרסה 11 של Android, מסגרת Android כוללת ממשקי API לזיהוי 5G. למידע נוסף, ראו זיהוי 5G.
שכבת סקריפטים ל-Android (SL4A) תומכת בזיהוי 5G על ידי האזנה לאירועים LISTEN_DISPLAY_INFO_CHANGED
מ-PhoneStateListener
והחלפה של השיטה onDisplayInfoChanged()
. SL4A משתמש בערכים הבאים כדי להבחין בין סוגי החיבור NSA (לא עצמאי), גמ"מ (גל מילימטר) ו-SA (עצמאי) ל-5G:
סוג החיבור | ערכים |
---|---|
5G NSA | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | phoneManager.getDataNetworkType() = NR |
בבדיקות ACTS נעשה שימוש בשיטה is_current_network_5g_nsa()
כדי לוודא שהמכשיר מחובר לרשת 5G NSA.
נתיבים לבדיקה ומבנה הבדיקה
כל בדיקות הטלפון (יותר מ-1,400) ב-ACTS הן חלק מספריית tel
.
הבדיקות של 5G נמצאות בספרייה tools/test/connectivity/acts\_tests/tests/google/nr/
(האות nr מייצגת רדיו חדש). עם ההשקה של טכנולוגיית הגישה לרדיו (RAT) של 5G, הבדיקות של 5G מופרדות מהבדיקות של 4G, 3G, 2G ו-1x בסביבות רשתות פעילות, כדי לאפשר לבדיקות ACTS להתאמה לעומס ולפעול באופן עצמאי.
בהמשך מתוארות כיתות הבדיקה לבדיקות 5G.
Nsa5gActivationTest
: בדיקה אם מכשיר יחיד מתחבר בצורה תקינה ל-5G NSA ממדינות שונות.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: בדיקה של הפונקציונליות של שיחות קוליות בין כמה מכשירים.test_5g_nsa_call_volte_to_volte test_5g_nsa_call_volte_to_3g test_5g_nsa_call_volte_mo_hold_unhold test_5g_nsa_call_mo_volte_in_active_data_transfer test_5g_nsa_volte_in_call_wifi_toggling
Nsa5gDataTest
: בדיקה של פונקציונליות הנתונים, כמו גלישה, עיכוב בנתונים ומדידה.test_5g_nsa_data_browsing test_5g_nsa_data_stall_recovery test_5g_nsa_metered_cellular test_5g_nsa_metered_airplane test_5g_nsa_metered_wifi
Nsa5gSmsTest
: אימות שליחה וקבלה של הודעות SMS בין כמה מכשירים.test_5g_nsa_sms_mo_mt test_5g_nsa_sms_mo_mt_volte test_5g_nsa_sms_mo_mt_in_call_volte test_5g_nsa_sms_mo_mt_iwlan test_5g_nsa_sms_mo_mt_in_call_iwlan
Nsa5gMmsTest
: אימות שליחה וקבלה של הודעות MMS בין כמה מכשירים.test_5g_nsa_mms_mo_mt test_5g_nsa_mms_mo_mt_in_call_volte test_5g_nsa_mms_mo_mt_iwlan_apm_off test_5g_nsa_mms_mo_mt_in_call_iwlan test_5g_nsa_mms_mo_mt_in_call_volte_wifi
Nsa5gTetheringTest
: בדיקה של חיבור Wi-Fi למכשיר שמחובר ל-5G NSA.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
פלט לדוגמה של בדיקה
כדי לוודא שמכשיר מסוים פועל ב-5G NSA, מחפשים את הודעות היומן הבאות ב-test_run_info.txt
.
INFO [AndroidDevice|<SERIAL_ID>] Current ModePref for Sub 2 is in
NETWORK_MODE_NR_LTE_GSM_WCDMA [tel_test_utils.py:set_preferred_network_mode_pref:7634]
INFO [AndroidDevice|<SERIAL_ID>] Got expected event {'name': 'DisplayInfoChanged',
'data': {'override': 'NR_NSA', 'network': 'LTE', 'subscriptionId': 2147483647},
'time': 1611094526689} [tel_5g_utils.py:is_current_network_5g_nsa:58]
פתרון בעיות
כדי לבדוק את תגובת ה-API בלי להריץ בדיקת ACTS במקרה של כשל, משתמשים בפקודות הבאות:
>> python3
>> from acts.controllers.android_device import AndroidDevice; ad = AndroidDevice('<SERIAL_ID>'); a, b = ad.get_droid()
>> a.telephonyStartTrackingDisplayInfoChange()
>> b.start()
>> b.wait_for_event("DisplayInfoChanged", lambda _: True, timeout=30)
{'name': 'DisplayInfoChanged', 'data': 'TelephonyDisplayInfo {network=LTE, override=LTE_CA, 'time': 1586483596907}