בחירת רשת Wi-Fi

בדף הזה מפורטים האלגוריתמים וההליכים שבהם נעשה שימוש כדי Android 12 לבחירה ומעבר בין רשתות Wi-Fi. מערכת Android בודקת את האיכות באופן שוטף של הרשת המחוברת ומבצעת הערכה של האיכות של הרשתות הזמינות.

משך חיי החיבור האוטומטי

זה מתאר את התהליך שבו מכשיר Android מבצע הערכה מתחבר לרשתות Wi-Fi זמינות.

  1. המכשיר מבצע סריקה לאיתור רשתות זמינות באחת מהדרכים הבאות בהתאם להפעלת המסך או לכיבוי המסך.

    • המסך מופעל (מחובר): מערכת המשנה של הקישוריות של Android בודק בקביעות אם החיבור הנוכחי טוב מספיק כדי סריקת דילוג (כפי שמוגדר בסריקות שבוצעו במסך). אם החיבור לא מספיק טוב כדי לדלג על הסריקה, הקישוריות תת-המערכת מפעילה סריקה כדי לזהות רשתות זמינות. יכול להיות שהסריקות האלה יופעלו גם על ידי רכיבי מערכת אחרים כמו מערכת מיקום או אפליקציה (כולל אפליקציית ההגדרות).
    • המסך מופעל (לא מחובר): מערכת המשנה של הקישוריות של Android יוצרת סריקות תקופתיות בעקבות לוח זמנים של השהיה מעריכית לפני ניסיון חוזר (exponential backoff). המודול מעריך את כל תוצאות הסריקה שהתקבלו ומנסה לבחור את הטובה ביותר שאליה רוצים להתחבר.
    • המסך כבוי (לא מחובר): המעבד (CPU) של המארח מתכנת את הקושחה עם רשימה של רשתות מועדפות המשתמשות בעומס יציאה מועדף ברשת (PNO) סורק ברגע כשהמסך נכבה. הקושחה מוציאה את המארח ממצב שינה מוצא את כל הרשתות המועדפות. AOSP מניחה שיש תמיכה ב-PNO במכשיר.

    אפשר להשתמש בשיטה WifiManager#allowAutojoinGlobal(boolean) כדי להשבית חיבורים אוטומטיים. זהו API בעל הרשאות שיכול לשמש אותך יצרני מכשירים בנסיבות מוגבלות (לדוגמה, מכשיר שאינו נייד, במכשיר שהוגדר מראש).

    אם המכשיר מחובר שכבת-העל config_wifi_framework_enable_associated_network_selection היא מוגדרת לערך false, לא מתבצעות סריקות קישוריות ותוצאות סריקה לא הפעלה של בחירת רשת. להגדרה הזו אין השפעה כשהמכשיר מנותק, כלומר שסריקות הקישוריות ובחירת הרשת עדיין יתבצעו.

  2. תוצאות הסריקה נבדקות.

    • אם המכשיר מחובר לרשת Wi-Fi, ה-framework הערכה אם הרשת הנוכחית טובה מספיק כדי לדלג על הרשת בחירה.

      רשת מוגדרת כטובה מספיק כדי לדלג על בחירת רשת, אם יש כזו הדרישות הבאות מתקיימות:

      • חלפו פחות מ-10 שניות מאז בחירת הרשת האחרונה.
      • המשתמש התחבר לאחרונה לרשת באופן ידני (כאשר לאחרונה ניתן להגדרה באמצעות config_wifiSufficientDurationAfterUserSelectionMilliseconds כשכבת-על).
      • המכשיר מחובר לחיבור של הרשמה אונליין (OSU).
      • כל הדרישות הבאות מתקיימות:

        • ערך ה-RSSI גבוה מהסף הנדרש של RSSI או מספיק תנועה עוברת דרך החיבור (ראו סריקות במסך עבור RSSI וספי תנועה).
        • הרשת מאומתת (מחוברת אל אינטרנט) או מאושר לשימוש ללא גישה לאינטרנט.
        • הרשת לא מופעלת לפי שימוש בנתונים.
    • אם הרשת טובה מספיק כדי לדלג על בחירת רשת, אין ננקטת פעולה.

    • אם רשת ה-Wi-Fi המחוברת לא מספיק טובה או אם שהמכשיר לא מחובר לרשת, ה-framework קורא מועמדים לרשתות כדי ליצור רשימה של רשתות Wi-Fi אפשריות כדי להתחבר אליהן על סמך תוצאות סריקה מסוננות. מנהלי הרשתות מוצאים הגדרות Wi-Fi קיימות או יוצרים הגדרות חדשות לרשתות האפשריות.

    • תוצאות הסריקה מסוננות כדי להסיר BSSID שיש להם RSSI למטה הרשומה RSSI (ניתן להגדרה באמצעות config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz, ו-config_wifiFrameworkScoreEntryRssiThreshold6ghz שכבות-על). בנוסף, מתבצע סינון של BSSID חסומים. ניתן לחסום BSSID בהתאם במקרים של כשלים חוזרים בחיבור, ניתוקים תכופים ותוכן בקשות מ-AP שלא לנסות לשייך למשך תקופה מסוימת הזמן (MBO-OCE). חסימת BSSID מתוארת למטה בקטע חסימת SSID ו-BSSID.

    • כשהמכשיר נמצא בתנועה מהירה, תוצאות הסריקה הן אופציונליות סינון נוסף כדי להסיר BSSID ש-RSSI שלהם משתנה במהירות (ציון שהם לא זזים עם המכשיר). האופטימיזציה הזו ניתן להגדרה באמצעות config_wifiHighMovementNetworkSelectionOptimizationEnabled (הפעלה/השבתה של האופטימיזציה), וכן config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs והקבוצה config_wifiHighMovementNetworkSelectionOptimizationRssiDelta שכבות-על, שמגדירה את דרישת היציבות בתוצאות הסריקה (שינוי ב-RSSI) על תוצאות הסריקה בנפרד מספיק זמן).

  3. ה-framework מפעיל דירוג הנקודות של המועמדים כדי ליצור ציון לכל מועמד של מזהה קבוצת שירות (SSID). מועמדים ל-SSID יכולים לכלול כמה מועמדים של מזהה קבוצת שירות בסיסי (BSSID) (נוצר על ידי המועמדים של הרשת). המועמד עם הניקוד הגבוה ביותר הוא המועמד הזוכה.

  4. ה-framework מאמת את בחירת הקישור למשתמשים מה שעשוי להפוך רשת שנבחרה על ידי המשתמש למנצחת החדשה מועמד במקום להשתמש במועמד הזוכה של מלך המועמדים.

  5. המסגרת קובעת אם המועמד הזוכה מתאים הרשת שמחוברת כרגע. כדי להיחשב כהתאמה, אפשר: חייב לעמוד בדרישות הבאות:

    • המועמד הזוכה ורשת ה-Wi-Fi המחוברת העלו אותו BSSID.
    • אם נדידה בקושחה זמינה (כולל רשימת חסימה של BSSID למועמד הזוכה ולרשת המחוברת יש SSID וסוג אבטחה זהים.

    אם המועמד הזוכה מתאים לרשת המחוברת הנוכחית, לא שננקטת פעולה נוספת. אם המועמד הזוכה לא מתאים הרשת, המכשיר משויך למועמד הזוכה.

חשוב לשים לב שחיבור הרשת האוטומטי מושבת כשאפליקציה משתמשת בקשה לרשת Wi-Fi API, שמבטל את המערכת ויוצר רשת LAN ללא חיבור לאינטרנט, למעט במכשירים לתמוך בשתי תחנות בו-זמנית.

הערכת הרשת המחוברת

המסגרת או הקושחה של Android מעריכות מדי פעם את האיכות של הרשת המחוברת. בקטע הזה מתואר האופן שבו מתבצעת הערכה של הרשת המחוברת כשהמסך פועל או כבוי.

ההערכה הזו מתבצעת בנוסף לבחירת הרשת שהסברנו למעלה.

מסך מופעל

במסגרת Android, הערכת הרשת המחוברת מתבצעת באופן הבא:

  1. שירות ה-Wi-Fi בודק נתונים סטטיסטיים של RSSI ושל שכבות קישורים כל 3 שניות (ניתן להגדרה באמצעות שכבת-העל config_wifiPollRssiIntervalMilliseconds).

    אם התאמת מרווחים דינמית מופעלת באמצעות שכבת-על config_wifiAdjustPollRssiIntervalEnabled, מרווח התשאול משתנה באופן דינמי על סמך מצב הניידות של המכשיר ו-RSSI.

    • מרווח הזמן של התשאול הוארך ל-6 שניות (מוגדר על ידי שכבת-על של config_wifiPollRssiLongIntervalMilliseconds) כאשר התג המכשיר נייח וערך RSSI גבוה מ- -68 dBm (מוגדר על ידי config_wifiClientRssiMonitorThresholdDbm ו-config_wifiClientRssiMonitorHysteresisDb שכבות-על).
    • מרווח הזמן בקלפי מקוצר חזרה ל-3 שניות (מוגדר על ידי שכבת-על של config_wifiPollRssiIntervalMilliseconds) כשהמכשיר לא נייח או RSSI נמוך מ- -73dBm (הוגדר על ידי שכבת-העל config_wifiClientRssiMonitorThresholdDbm).
  2. שירות ה-Wi-Fi מחשב ציון מקושר שמבוסס על ה-RSSI וגם נתונים סטטיסטיים של שכבת קישור.

  3. שירות ה-Wi-Fi מעביר את הדירוג לשירות הקישוריות, משתמשת בציון כדי לקבוע אם להתחבר לרשת Wi-Fi או סוג רשת זמין אחר, כגון רשת סלולרית.

המסך כבוי

ה-framework לא מתחיל הערכה ברשת המחוברת, אבל תהליך בחירת הרשת עדיין עשוי להתרחש אם מתבצעות סריקות לפי רכיבים אחרים (למשל, שירותי מיקום). הקושחה מעריכה את איכות הרשת, ואם איכות הרשת גרועה, הקושחה עלולה לנוע או (בסופו של דבר) להתנתק מהרשת ולצאת ממצב שינה המארח.

סריקות קישוריות

הסריקות מתבצעות באופן אוטומטי אם המסך פועל במכשיר, כשהמסך כבוי ומחובר ל-Wi-Fi, או כשהמסך כבוי, מחובר ל-Wi-Fi.

מסך מופעל

ה-framework מפעיל החלטות סריקה במרווחי זמן הולכים וגדלים כאשר המסך מופעלת. מרווחי הזמן להחלטות סריקה מוגדרים עם config_wifiDisconnectedScanIntervalScheduleSec, config_wifiConnectedScanIntervalScheduleSec, וגם config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec שכבות-על (שהן מערכים של מספרים שלמים). כברירת מחדל, סריקות מבוצעות באמצעות מרווחי זמן מעריכיים לפני ניסיון חוזר של 20, 40, 80 ו-160 שניות, ולאחר מכן סריקות שבוצעו במהירות של 160 שניות מרווחים (אלה ערכי ברירת המחדל של שכבות-על אלה).

מרווחי הסריקה של השהיה מעריכית לפני ניסיון חוזר (exponential backoff) מתאפסים ומפעילים מחדש אחרי 20 שניות בכל פעם שמצב המסך משתנה, כלומר כשהמסך מופעל או מושבתת.

(Android 13 ואילך) אם יש צורך במרווחי סריקה שונים בזמן הריצה, אפליקציה שעשויה לקבל הרשאות של OEM (יצרן הציוד המקורי) יכולה לקרוא ל- WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API to באופן דינמי להגדיר את לוח הזמנים לסריקה במסך.

ההחלטה אם לבצע סריקה או לדלג עליה מבוססת על חיבור הרשת הנוכחי טוב מספיק כדי לדלג על הסריקה. חיבור הוא טובה מספיק כדי לדלג על הסריקה אם אחת מהדרישות הבאות עומדים ב:

  • המכשיר מחובר לחיבור של הרשמה אונליין (OSU).
  • זורמת מספיק תנועה דרך החיבור (הצגת ערכי הסף לתנועה) למטה).
  • ה-RSSI גבוה מהסף הנדרש של RSSI (מידע נוסף זמין בערכי הסף של RSSI בהמשך), וגם בחירת רשת בוצעה לאחרונה (10 דקות כברירת מחדל, אבל אפשר להגדיר בעזרת פונקציית שכבת-על config_wifiConnectedHighRssiScanMinimumWindowSizeSec), וגם שהרשת מאומתת (מחוברת לאינטרנט) או מאושרת על ידי המשתמש לשימוש ללא גישה לאינטרנט.

ערכי ה-RSSI וספי התנועה הם:

  • RSSI גבוה מ- -73dBm לתדר של 2.4 GHz, שמוגדר באמצעות שכבת-על config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, או -70 dBm לתדרים של 5 GHz ו-6 GHz, שהוגדרו עם config_wifi_framework_wifi_score_low_rssi_threshold_5GHz והקבוצה config_wifiFrameworkScoreLowRssiThreshold6ghz שכבות-על.
  • נפח התנועה (שידור או קבלה) גבוה מ-16 מנות לשנייה (pps) מוגדר עם config_wifiFrameworkMinPacketPerSecondActiveTraffic בשכבת-על.

כשהמכשיר מחובר והמסך פועל. ניקוד מקושר לפרקי זמן עוקב אחר איכות ה-Wi-Fi על ידי בחינת אותות כמו RSSI ומספר המנות הועברו. אם נקבע שאיכות ה-Wi-Fi גרועה (כפי שמצוין בהמשך) והמכשיר תומך בשתי תחנות בו-זמנית, אז הסריקה תופעל. שכבת-העל config_wifiLowConnectedScoreThresholdToTriggerScanForMbb יכולה להיות שמשמש להגדרת סף הציון שמפעיל סריקה. אפשר להשתמש בשכבת-על config_wifiLowConnectedScoreScanPeriodSeconds כדי להגדיר את פרק הזמן של הסריקות האלה.

המסך כבוי ומחובר ל-Wi-Fi

כשהמסך כבוי והמכשיר מחובר לרשת Wi-Fi, קושחה (Wi-Fi SoC) מבצעת סריקות בנדידה. ה-framework לא מבצע סורק כשהמסך כבוי.

המסך כבוי ולא מחובר ל-Wi-Fi (מצב לא מחובר)

כשהמסך כבוי וה-Wi-Fi מתנתק, הקושחה פועלת סריקה של PNO לאיתור SSID. המסגרת הגדרת הקושחה עם רשימת SSID לחיפוש ורשימה של ערוצים שבו לסרוק. אם נמצא SSID שהוגדר, הקושחה מוציאה את המכשיר ממצב שינה .

ה-framework גם מגדיר את התדירות שבה הקושחה תפעל סריקות PNO, באמצעות מצב הניידות של המכשיר כדי לבחור מרווחי סריקה שונים. במצב ניידות נמוכה (המכשיר לא יציב), פרק הזמן הוא 60 שניות בשלוש הסריקות הראשונות (שנקבעות על ידי שכבת-על config_wifiStationaryPnoScanIntervalMillis), ו-180 שניות (ערך קבוע פי 3 מכפיל של שכבת-העל) לסריקות נוספות. בטווח במצב ניידות, מרווח הזמן הוא 20 שניות בשלוש הסריקות הראשונות (מבוקרת בשכבת-העל config_wifiMovingPnoScanIntervalMillis), ו-60 (3x קבוע) של שכבת-העל) שניות לסריקות הבאות.

המועמדים לערוצים

מנהלי הרשת מוצאים או יוצרים הגדרות אישיות (WifiConfiguration) לרשתות:

  • זמין (על סמך תוצאות הסריקה) או מחובר (שלפעמים חסר בתוצאות סריקה לא תקינות).
  • להיות עם RSSI מינימלי. ערך RSSI מינימלי הוא -80dBm לתדר של 2.4 GHz ו- -77 dBm לתדרים של 5 GHz ו-6 GHz, שניתן להגדיר באמצעות config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz, וגם config_wifiFrameworkScoreEntryRssiThreshold6ghz שכבות-על.
  • לא חסום, לדוגמה, עקב כשלים קודמים בחיבור.
  • הרשת לא מציינת שאי אפשר להשתמש בה (לדוגמה, באמצעות MBO/OCE).
  • ניתן לשייך אותו לשימוש בפרטי הכניסה שזמינים במכשיר.

המערכת משתמשת בכינויי הרשתות הבאים:

  • הכינוי של רשתות שמורות: הערכה של כל הרשתות השמורות (כולל רשתות שנשמרו) מינויי Passpoint).
  • הצעות לרשתות: הערכה של כל הרשתות שמספקות אפליקציות באמצעות Suggestion API (כולל מינויים מוצעים ל-Passpoint).
  • מועמד לרשת עם ציון חיצוני: מנגנון של ה-OEM (יצרן הציוד המקורי) לאספקת רשת אפשרויות הקישוריות של המכשיר. מידע נוסף זמין במאמר הבא: ספק חיצוני של דירוג רשת.

ניקוד מועמדים

הבודקים של המועמדים בוחנים את התוצאות ומספקים ניקוד לכל מועמד. הציון של ThroughputScorer (דירוג ברירת המחדל) מבוסס על:

  • דירוג הבסיס מחושב על סמך RSSI, שבו מגבלת ה-RSSI מוגבלת ל- -73 dBm לתדר של 2.4GHz או -70dBm לתדר של 5GHz תדרים של 6 GHz (מוגדרים עם config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz, וגם config_wifiFrameworkScoreLowRssiThreshold6ghz שכבות-על).
  • הגדלת הציון מחושבת על סמך הערכת תפוקה הנגזרת טכנולוגיה, תדירות ערוצים, רוחב פס, RSSI, תנאי הערוץ, המספר המקסימלי של זרמים מרחביים ופרמטרים אחרים. העלאת הניקוד ניתן להגדרה באמצעות config_wifiFrameworkThroughputBonusNumerator ו-config_wifiFrameworkThroughputBonusDenominator שכבות-על, מוגבל לערך מקסימלי שצוין באמצעות שכבת-על config_wifiFrameworkThroughputBonusLimit.
  • רשת מועמדת שנבחרה לאחרונה על ידי המשתמש או אפליקציה מקבל שיפור משמעותי בציון למשך זמן שניתן להגדרה באמצעות שכבת-על config_wifiFrameworkLastSelectionMinutes (במשך הזמן הזה רשת מובטחת שתיבחר על פני רשתות שלא נבחרו על ידי המשתמש).
  • מועמד שתואם לרשת הנוכחית מקבל ציון גבוה יותר על ידי config_wifiFrameworkCurrentNetworkBonusMin config_wifiFrameworkCurrentNetworkBonusPercent שכבות-על (מקבלים תוספת נוספת מבוסס על אחוז ה-RSSI שלה והציון שמבוסס על תפוקה, עד הערך המינימלי שאפשר להגדיר).
  • רשת מאובטחת מקבלת דירוג גבוה יותר מזה של רשת פתוחה. הבונוס הוא הוגדרה באמצעות config_wifiFrameworkSecureNetworkBonus בשכבת-על.
  • רשת ללא שימוש בנתונים (חינם) מקבלת דירוג גבוה יותר מזה של רשת עם חיוב לפי שימוש בנתונים (בתשלום). הבונוס מוגדר באמצעות שכבת-על מסוג config_wifiFrameworkUnmeteredNetworkBonus.
  • הרשת השמורה מקבלת דירוג גבוה יותר מזה של רשת שהוצעה באמצעות ממשק API של הצעות. הבונוס מוגדר באמצעות שכבת-על מסוג config_wifiFrameworkSavedNetworkBonus.
  • רשתות לא מהימנות (אפשר לבקש אותן כחלק מ-Offer API) קיבלו דירוג נמוך יותר מכל רשת אחרת.
  • הציון של רשת שזיהינו בעבר שאין לה חיבור לאינטרנט מקבל את הציון 0 אם המכשיר מחובר כרגע לרשת אחרת עם אינטרנט גישה.

הבונוס שמוגדר כברירת מחדל למוצרים שמורים לעומת הצעה, חיוב ללא שימוש בנתונים לעומת חיוב לפי שימוש בנתונים (כלומר, ערכי ברירת המחדל של שכבת-העל) יש עדיפות מחמירה הסדר של התכונות 'שמורים', 'מוצעים', 'עם חיוב לפי שימוש בנתונים' ו'לא לפי שימוש בנתונים':

  1. שמירה של רשתות בשימוש חופשי
  2. הצעות לרשתות לא לפי שימוש בנתונים
  3. שמירה של רשתות עם חיוב לפי שימוש בנתונים
  4. הצעות לרשתות עם חיוב לפי שימוש בנתונים

כלומר, רשת שמורה שאינה בשימוש לפי שימוש בנתונים תיבחר תמיד לפני ברשת בתשלום (בתשלום). הבונוס על ציון שנבחר (על ידי משתמש או אפליקציה) עשוי לאחרונה לעקוף את העדיפות המחמירה הזו.

במסגרת אפשר להתקין כמה ניקוד של מועמדים, אבל רק אחד יכולים להיות פעילים בבת אחת. אפשר להשתמש במדדי הניקוד האחרים. אלגוריתמים חלופיים). ב-Android 11, דירוג ברירת המחדל הוא ThroughputScorer

חסימת SSID ו-BSSID

המסגרת עשויה לחסום SSID או BSSID, כלומר, היא לא מתייחסת אליהם באופן זמני או לצמיתות.

חסימת BSSID

חסימת BSSID פועלת על ידי שמירה של שני מוני כשלים, כשל מתמשך מונה ומונה רצפים, בהתאם לסוג כשל ספציפי (בהמשך מופיעה רשימה של סוגי כשלים). כאשר מתרחש כשל:

  • המונה של סוג הכשל המתאים גדל.
  • אם הגעתם לסף הכשל בסוג הכשל הזה:
    • ה-BSSID חסום.
    • מונה הרצף של הכשל מצטבר.

משך הזמן שבו BSSID חסום בהתחלה לפי ערך בסיס (ניתן להגדרה) (מצוין באמצעות config_wifiBssidBlocklistMonitorBaseBlockDurationMs או config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs שכבות-על, בהתאם ל-RSSI), ומעלה באופן אקספוננציאלי עד לרמה שניתן להגדיר גבולות (מצוין באמצעות הפרמטר config_wifiBssidBlocklistMonitorFailureStreakCap כשכבת-על). משך הזמן מאריך אם הכשלים מתרחשים באופן רציף באותו זמן BSSID. משך הזמן הוא משך הבסיס המוגדל באופן אקספוננציאלי ב- רצף של כשלים, כלומר, רצף של 2 כשלים מרמז על משך זמן של פי 4 מבלוק הבסיס.

ערכי הסף לחסימת BSSID תלויים בסיבת הכשל, וכל אחד מהם ניתן להתאים אישית באמצעות שכבות-על:

  • סוכנות AP דוחה את השיוך באמצעות MBO/OCE לא ניתן לטפל בקוד STA החדש: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • אימות האינטרנט דרך רשת זו נכשל: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
  • קוד שגוי של כשל באימות הסיסמה: config_wifiBssidBlocklistMonitorWrongPasswordThreshold
  • קוד כשל באימות של EAP ברשתות EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold
  • דחיית שיוכים או דחיות כלליות אחרות של שיוכים: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
  • הזמן הקצוב לתפוגת השיוך: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
  • כשל אימות, כשלי אימות כלליים אחרים: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
  • כשל DHCP, כשל בהקצאת DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold
  • ניתוק חריג, המכשיר התנתק מהרשת תוך זמן קצר מאוד לאחר ההתחברות: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold השעה ניתן להגדיר את החלון באמצעות config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs

תנאי ההסרה של רשימת החסימה של BSSID

BSSID נמחק מרשימת החסימה כאשר:

  • ה-Wi-Fi מופעל: כל תגי ה-BSSID יוסרו מרשימת החסימה.
  • המשתמש מקיש על רשת בבורר ה-Wi-Fi: כל ערכי ה-BSSID של הרשת שבחר המשתמש מוסרות מרשימת החסימה.
  • זמן קצוב לתפוגה: BSSID מוסרים מרשימת החסימה כשמשך החסימה הוא הגעת.
  • הפעלה מחדש: כל רשימות החסימה הוסרו.
  • הרשת הוסרה: כל תגי ה-BSSID המשויכים לרשת הזו יוסרו מ- את רשימת החסימה.

התנאים לאיפוס מוני כשל ורצפים:

  • הפעלה מחדש: איפוס לכל תגי BSSID.
  • רשת הוסרה: איפוס עבור פריטי BSSID המשויכים לרשת.
  • חיבור L2 הצליח: איפוס לקודי השגיאה הבאים.

    • REASON_AP_UNABLE_TO_HANDLE_NEW_STA
    • REASON_WRONG_PASSWORD
    • REASON_EAP_FAILURE
    • REASON_ASSOCIATION_REJECTION
    • REASON_ASSOCIATION_TIMEOUT
    • REASON_AUTHENTICATION_FAILURE
    • REASON_ABNORMAL_DISCONNECT (הוסרה באופן מותנה רק אם בפעם האחרונה המכשיר שמחובר ל-BSSID הזה היה לפני יותר מ-3 שעות)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • אימות הרשת הצליח: איפוס לקוד השגיאה הבא.

    • REASON_NETWORK_VALIDATION_FAILURE
  • הקצאת DHCP הצליחה: מתאפסת עבור קוד השגיאה הבא.

    • REASON_DHCP_FAILURE

חסימת SSID

חסימת SSID פועלת באופן דומה לחסימת BSSID. מונה כשלים לכל כשל סוג לכל רשת גדל כאשר מתרחשים כשלים בחיבור (מהסוג הזה). כאשר מספר הכשלים מסוג מסוים חורג מסף מסוים, ה-SSID ייחסמו באופן סופי או זמני על סמך ההגדרות האישיות. ההגדרות האישיות לכל סוג של כשל מקודד WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS והוא נסכם בהמשך.

* עבור רשתות שיושבתו באופן זמני, יש להגדיר את משך ההשבתה משתנה באופן דינמי לפי מספר החיבורים ברצף או כשלים ברשת. אחרי חיבור לרשת ברצף לא מצליח להתחבר חמש פעמים, כל כישלון נוסף מוביל להשבית את משך החברות פי שניים ממשך הזמן הקודם. לדוגמה, רשת עם חמישה כשלים בזה אחר זה מושבתת למשך 5 דקות, 10 דקות בכשל השישי, 20 דקות בכשל השביעי וכו', עד למגבלה המקסימלית של 18 שעות.

קוד כישלון תיאור סף משך השבתה בסיסית* סוג השבתה
DISABLED_DHCP_FAILURE אי אפשר להקצות DHCP 5 5 דקות זמני
DISABLED_NO_INTERNET_TEMPORARY אימות הרשת נכשל, אבל המשתמש הצהיר שהוא רוצה להשאיר התחברות לרשת הזו בעתיד 1 10 דקות זמני
DISABLED_AUTHENTICATION_NO_CREDENTIALS למגיש הבקשה אין פרטי כניסה כדי להתחבר לרשת 1 לא רלוונטי תמידית
DISABLED_NO_INTERNET_PERMANENT ברירת מחדל לכשל באימות הרשת 1 לא רלוונטי תמידית
DISABLED_BY_WIFI_MANAGER הוצא משימוש ולא בשימוש 1 לא רלוונטי תמידית
DISABLED_BY_WRONG_PASSWORD הסיסמה שגויה והרשת הזו אף פעם לא הצליחה מחובר אל 1 לא רלוונטי תמידית
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION כשל EAP שבו כרטיס ה-SIM לא רשום 1 לא רלוונטי תמידית
DISABLED_ASSOCIATION_REJECTION כשלים בדחייה של שיוך 5 5 דקות זמני
DISABLED_AUTHENTICATION_FAILURE כשלי אימות אחרים (כלומר, לא סיסמה שגויה או EAP) כשל) 5 5 דקות זמני
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR כשל ב-EAP ספציפי לספק (פרטי). 1 לא רלוונטי תמידית
DISABLED_NETWORK_NOT_FOUND הספק לא מצא רשת תואמת בתוצאות הסריקה הרשת המבוקשת של ה-framework לחיבור (כולל הרשת יכולות). 2 5 דקות זמני
DISABLED_CONSECUTIVE_FAILURES הרשת לא הצליחה להתחבר חמש פעמים או יותר ברצף. כשל סוג הכשלים האלה כולל, בין היתר, את סוגי הכשלים שמפורטים בטבלה הזו.
5 5 דקות זמני

רשת שהושבתה באופן זמני תופעל מחדש במקרים הבאים:

  • משך ההשבתה פג.
  • המשתמש בוחר באופן ידני את הרשת להתחברות.
  • המשתמש יכול להחליף מצב Wi-Fi.
  • המערכת תופעל מחדש.
  • הרשת הושבתה בפיד RSSI נמוך מאוד, אבל הרשת מאוחר יותר מזוהה שוב בפיד RSSI בינוני או גבוה יותר.

רשת שהושבתה באופן סופי תופעל מחדש במקרים הבאים:

  • המשתמש בוחר באופן ידני את הרשת להתחברות.

מוני כשל ברשת מתאפסים כאשר:

  • הרשת תוסר.
  • המכשיר התחבר בהצלחה לרשת.
  • הרשת הופעלה מחדש לאחר תם פרק הזמן הקצוב להשבתה.
  • המשתמש בוחר באופן ידני את הרשת להתחברות.
  • המערכת תופעל מחדש.

כרטיסי מידע

כרטיסי מידע, חדשים ב-Android 10, מתועדים במכשיר נתונים סטטיסטיים לגבי BSSID. כרטיסי המידע נשמרים באופן קבוע באמצעות IpMemoryStore לאחר השיפור.

לא נעשה שימוש בכרטיסי מידע ברשת Android 11 בחירה.

אפשרות התחברות משתמשים

ב-Android יש אלגוריתם לבחירת המשתמשים, שמאפשר את תהליך הבחירה להעדיף רשתות Wi-Fi שהמשתמש התחבר אליהן באופן מפורש, לדוגמה, רשת ביתית. יכול להיות שמשתמשים מעדיפים ברשתות ציבוריות, גם כשרמת הביצועים נמוכה מזו רשת מכיוון שהם מספקים שירותים נוספים, כמו היכולת לשלוט למכשירים לבית.

ההעדפה של המשתמש לרשת מתועדת על ידי סימון כל רשתות ה-Wi-Fi הגלויות ואת עוצמת האות שלהן בזמן שהמשתמש בוחר עמוקה מאוד, אם אחת מהגדרות ה-Wi-Fi המסומנות במהלך ויש רשת שנבחרה על ידי המשתמש ותהליך בחירה אוטומטי, המשתמש אלגוריתם של בחירת החיבור מבטל את הבחירה ברשת שבחר המשתמש אם התנאים הבאים מתקיימים:

  • לרשת לבחירת התחברות של המשתמש הייתה גישה לאינטרנט בפעם האחרונה היה בשימוש
  • לאפשרות החיבור של המשתמש יש עוצמת אות שהיא לא פחות טובה מזאת הוא נבחר במקור עם שולי שגיאה. מרווח השגיאה יכול להיות הוגדרה באמצעות שכבת-העל config_wifiEstimateRssiErrorMarginDb.

הרשת לבחירת המשתמש נשארת ברשת אחרי הפעלה מחדש. אפשרות החיבור של המשתמשים פועל ברשתות שמורות, ברשתות Passpoint וברשתות של הצעות.

שתי תחנות בו-זמנית

קטע זה מתאר את הבחירה ברשת Wi-Fi כאשר מכשיר תומך להתחבר לשתי רשתות Wi-Fi בו-זמנית.

לעשות לפני ההפסקה

אם לעשות לפני ההפסקה מופעלת, המכשיר ינסה להתחבר לרשת החדשה לפני מתנתק מהרשת הישנה. תהליך היצירה לפני ההפסקה משתמש באותו אופן אלגוריתם לבחירת רשת כנקודת עצירה לפני ביצוע המעבר בין רשתות (שהוא כשהמכשיר מתנתק מהרשת הישנה לפני שהוא מתחבר לרשת החדשה אחת). אם האלגוריתם של בחירת הרשת בוחר רשת שלא יכולה להיות יוחלף בשיטת פעולה לפני הפסקה, המכשיר יחזור באופן אוטומטי להפסקה לפני מכינה.

חיבור לאינטרנט והגבלה בו-זמנית

אם פעילות מוגבלת ואינטרנט בו-זמנית חיבור שהפונקציה מופעלת, המכשיר יכול להתחבר לרשת Wi-Fi מוגבלת משנית. רשת שזמינה רק לאפליקציות נבחרות שהוגדרו על ידי המכשיר היצרן. ההוראות להגדרה של יצרני מכשירים מפורטות כאן גישה מוגבלת לאינטרנט ולפעילות בו-זמנית החיבור.

כשהאלגוריתם של בחירת הרשת מזהה תוצאות סריקה שתואמות ל-OEM הצעה פרטית או בתשלום, היא מתחברת אליה באופן אוטומטי כרשת שנייה. בחירת הרשת של רשת ה-Wi-Fi הראשית (שמספקת אינטרנט חיבור לאפליקציות רגילות) בדרך כלל במקביל.

שאלות נפוצות

  1. האם לרשתות מאובטחות תמיד יש עדיפות על פני רשתות פתוחות?

    לא. המדד 'שמורים' לעומת 'הצעות' ו'עם חיוב לפי שימוש בנתונים' לעומת 'לא לפי שימוש בנתונים' הם עיקריים הקטגוריות שבהן מתבצעת הערכה של הרשתות. בכל קטגוריה, יש לאבטח לרשתות יש עדיפות מסוימת על פני רשתות פתוחות, אבל משקל רב יותר איכות החיבור.

    הסיבה לכך היא שאבטחת נתוני המשתמשים בפועל מסופקת על ידי הצפנה מקצה לקצה (לדוגמה, TLS). הרשתות המאובטחות מצפין רק את החלק הראשון של התקשורת, ואפילו אז עבור רשתות עם מפתחות משותפים מראש, לא מספקות רמת פרטיות רבה.

  2. למה רשתות שמורות מקבלות עדיפות על פני רשתות מוצעות?

    רשתות שנשמרו בחינם (לא בתשלום) מקבלות עדיפות על פני רשתות מוצעות בחינם ורשתות עם חיוב לפי שימוש בנתונים מקבלות עדיפות על פני רשתות מוצעות עם חיוב לפי שימוש בנתונים.

    רשתות שנשמרו מקבלות עדיפות על פני רשתות מוצעות כי הן נשמרו הן רשתות שהמשתמש הוסיף למכשיר באופן מפורש. ש להגדיר העדפה להתחבר לרשתות האלה, כשזה אפשרי.

    לתשומת לבך, המשתמשים יכולים להשבית את התנהגות החיבור האוטומטי עבור כל משתמש הרשתות השמורות, כלומר לציין שהרשתות האלה נועדו לשימוש בלבד ידנית ולא ייחשבו אוטומטית על ידי המכשיר.

  3. האם אפשר לשנות את סדר העדיפות המחמיר או להסיר אותו לחלוטין?

    יצרן המכשיר יכול לשנות את ההחלטות לגבי בחירת הרשת על ידי לשנות את שכבות הבונוס שמפורטות בקטעים שלמעלה. אבל, לפעמים לא מומלץ לשנות את ערכי ברירת המחדל כי הם נבחרו לאחר בחינה מעמיקה של תרחישים לדוגמה.