בדיקת 5G

למכשירים עם 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

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G mmWave TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA phoneManager.getDataNetworkType() = NR

טלפוניהDisplayInfo.getNetworkType() = 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}