На этой странице описаны алгоритмы и процедуры, используемые в Android 12 для выбора и переключения между сетями Wi-Fi. Android постоянно оценивает качество подключенной сети и качество доступных сетей.
Срок службы автоматического соединения
В этом разделе описывается, как устройство под управлением Android оценивает доступные сети Wi-Fi и подключается к ним.
В зависимости от того, включен или выключен экран, устройство сканирует доступные сети одним из следующих способов.
- Экран включен (подключено): Подсистема подключения Android регулярно оценивает, достаточно ли хорошее текущее соединение, чтобы пропустить сканирование (как определено в разделе «Сканирование при включенном экране »). Если соединение недостаточно хорошее для пропуска сканирования, подсистема подключения запускает сканирование для обнаружения доступных сетей. Эти сканирования также могут запускаться другими компонентами системы, такими как система определения местоположения или приложение (включая приложение «Настройки»).
- Экран включен (отключен): Подсистема подключения Android периодически выполняет сканирование по экспоненциальному графику с задержкой. Модуль оценивает все полученные результаты сканирования и пытается выбрать наилучшую сеть для подключения.
- Экран выключен (отключен): Как только экран выключается, центральный процессор хоста программирует микропрограмму со списком предпочтительных сетей, используя сканирование с помощью функции PNO (Presented Network Offload). Микропрограмма пробуждает хост, если обнаруживает какую-либо из предпочтительных сетей. AOSP предполагает, что PNO поддерживается на устройстве.
Метод
WifiManager#allowAutojoinGlobal(boolean)можно использовать для отключения автоматических подключений. Это привилегированный API, который производители устройств могут использовать в ограниченных случаях (например, на немобильном, предварительно настроенном устройстве).Если устройство подключено и параметр
config_wifi_framework_enable_associated_network_selectionустановлен в значениеfalse, сканирование на наличие подключений не выполняется, и результаты сканирования не запускают выбор сети. Этот параметр не оказывает никакого эффекта, когда устройство отключено, то есть сканирование на наличие подключений и выбор сети продолжаются.Результаты сканирования оцениваются.
Если устройство подключено к сети Wi-Fi, платформа оценивает, достаточно ли хороша текущая сеть, чтобы пропустить этап выбора сети .
Сеть считается достаточно хорошей, чтобы отказаться от выбора другой сети, если выполняется хотя бы одно из следующих требований:
- С момента последнего выбора сети прошло менее 10 секунд.
- Пользователь недавно вручную подключился к сети (где "недавно" можно настроить с помощью параметра
config_wifiSufficientDurationAfterUserSelectionMilliseconds). - Устройство подключено к онлайн-сервису регистрации (OSU).
Выполнены все следующие требования:
- Показатель уровня принимаемого сигнала (RSSI) превышает требуемый пороговый уровень RSSI или по соединению проходит достаточный трафик (см. результаты сканирования экрана для определения пороговых значений RSSI и трафика).
- Сеть прошла проверку (подключена к интернету) или одобрена пользователем для использования без доступа к интернету.
- Сеть не предусматривает тарификацию.
Если качество сети позволяет пропустить этап выбора сети , дальнейшие действия не предпринимаются.
Если качество подключенной сети Wi-Fi недостаточно высокое или устройство не подключено к сети, платформа вызывает сетевые номинаторы для генерации списка потенциальных сетей Wi-Fi для подключения на основе результатов сканирования с фильтрами . Сетевые номинаторы находят существующие конфигурации Wi-Fi или создают новые конфигурации для потенциальных сетей.
Результаты сканирования фильтруются для удаления BSSID, у которых RSSI ниже установленного значения (настраивается с помощью параметров
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHzиconfig_wifiFrameworkScoreEntryRssiThreshold6ghz). Кроме того, фильтруются заблокированные BSSID. Блокировка BSSID может быть вызвана повторяющимися сбоями подключения, частыми разрывами соединения и явными запросами от точки доступа не пытаться установить соединение в течение определенного периода времени (MBO-OCE). Блокировка BSSID описана в разделе «Блокировка SSID и BSSID» .Когда устройство быстро перемещается, результаты сканирования дополнительно фильтруются для удаления BSSID, у которых быстро меняется RSSI (что указывает на то, что они не перемещаются вместе с устройством). Эта оптимизация настраивается с помощью
config_wifiHighMovementNetworkSelectionOptimizationEnabled(включение или отключение оптимизации), а также параметровconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMsиconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta, которые задают требования к стабильности результатов сканирования (изменение RSSI в результатах сканирования, достаточно разнесенных во времени).
Данная система запускает алгоритм оценки кандидатов для генерации баллов для каждого кандидата на роль SSID. Кандидаты на роль SSID могут включать несколько кандидатов на роль BSSID (сгенерированных сетевыми номинаторами). Кандидат с наивысшим баллом является победителем .
Данная платформа выполняет алгоритм выбора пользователем сети , который может сделать выбранную пользователем сеть новым победителем вместо использования победителя, выбранного системой оценки кандидатов.
Данная система определяет, соответствует ли кандидат-победитель подключенной сети. Для того чтобы совпадение было подтверждено, должно быть выполнено одно из следующих условий:
- Победивший кандидат и подключенная к нему сеть Wi-Fi имеют одинаковый BSSID.
- Если доступна функция роуминга через встроенное программное обеспечение (включая возможность добавления BSSID в черный список), то у победившего кандидата и подключенной сети будет одинаковый SSID и тип безопасности.
Если выбранный кандидат соответствует подключенной сети, никаких дальнейших действий не предпринимается. Если выбранный кандидат не соответствует сети, устройство подключается к выбранному кандидату.
Оценка подключенной сети
Платформа или прошивка Android периодически оценивает качество подключенной сети. В этом разделе описывается, как оценивается качество подключенной сети, когда экран включен или выключен.
Данная оценка проводится в дополнение к выбору сети, обсуждавшемуся в предыдущих разделах.
Экран включен
В среде разработки Android проверка подключенной сети выполняется следующим образом:
Сервис Wi-Fi опрашивает уровень сигнала RSSI и статистику канального уровня каждые 3 секунды (это можно настроить с помощью параметра
config_wifiPollRssiIntervalMilliseconds).Если динамическая регулировка интервала включена с помощью параметра
config_wifiAdjustPollRssiIntervalEnabled, интервал опроса динамически изменяется в зависимости от состояния мобильности устройства и уровня сигнала RSSI.- Интервал опроса увеличивается до 6 секунд (настраивается с помощью параметра
config_wifiPollRssiLongIntervalMilliseconds), когда устройство находится в неподвижном состоянии и уровень RSSI превышает -68 дБм (настраивается с помощью параметровconfig_wifiClientRssiMonitorThresholdDbmиconfig_wifiClientRssiMonitorHysteresisDb). - Интервал опроса сокращается до 3 секунд (настраивается с помощью параметра
config_wifiPollRssiIntervalMilliseconds), когда устройство находится в нестационарном состоянии или уровень RSSI ниже -73 дБм (настраивается с помощью параметраconfig_wifiClientRssiMonitorThresholdDbm).
- Интервал опроса увеличивается до 6 секунд (настраивается с помощью параметра
Сервис Wi-Fi рассчитывает показатель подключения на основе RSSI и статистики канального уровня. Для этого расчета доступны две модели, которые настраиваются с помощью
config_internalScorerType:- По умолчанию: Система оценки на основе машинного обучения, обученная на статистике канального уровня.
- Альтернативный вариант: более старая система оценки, которая основывается на изменениях значения RSSI.
Дополнительно: производители оборудования могут настроить логику оценки подключенной сети, реализовав внешнее приложение-оценщик. Это делается путем реализации интерфейса
WifiConnectedNetworkScorerи его регистрации с помощью APIWifiManager#setWifiConnectedNetworkScorer(executor, scorer).После регистрации внешний оценщик взаимодействует с системой посредством следующего двунаправленного потока:
Входные данные (фреймворк → оценщик)
Данная система уведомляет оценщика о ключевых событиях жизненного цикла и качества:- Жизненный цикл сессии: функции
onStart()иonStop()указывают, когда начинается или прекращается соединение Wi-Fi. - Статистика Wi-Fi: Система оценки получает периодические обновления статистики канального уровня (такие как RSSI, скорость соединения и количество пакетов) с помощью
OnWifiUsabilityStatsListener#onWifiUsabilityStats(). Для получения этих обновлений система оценки должна зарегистрировать слушатель с помощьюWifiManager#addOnWifiUsabilityStatsListener().
- Жизненный цикл сессии: функции
Действия (оценщик → структура)
Система подсчета очков управляет службой Wi-Fi, вызывая методы объекта обратного вызоваScoreUpdateObserver:- Статус удобства использования: вызов функции
notifyStatusUpdate(sessionId, isUsable)является основным механизмом управления выбором сети.-
isUsable = true: Сеть действительна. Платформа повышает её до сети по умолчанию для системного трафика. -
isUsable = false: Сеть недействительна. Фреймворк избегает использования её в качестве сети по умолчанию, переключаясь на мобильные данные.
-
- Проверка доступности: вызов функции
requestNudOperation()запускает активную проверку обнаружения недоступности соседа (NUD) (например, ARP или ND probe) для подтверждения доступности шлюза. - Блокировка BSSID: вызов функции
blocklistCurrentBssid()предотвращает повторное подключение устройства к текущей точке доступа (AP). Это полезно, если система оценки обнаруживает проблемы, специфичные для точки доступа.
- Статус удобства использования: вызов функции
Если производитель оборудования внедрил собственную систему оценки, как описано в шаге 3, то служба Wi-Fi передает решения, касающиеся оценки подключенной сети, системе оценки производителя оборудования.
Если производитель оборудования не внедрил собственную систему оценки, служба Wi-Fi использует оценку, рассчитанную на шаге 2, для определения необходимости переключения на мобильный интернет.
Экран выключен
Данная платформа не инициирует оценку подключенной сети, но процесс выбора сети может происходить, даже если сканирование инициируется другими компонентами (например, службами определения местоположения). Прошивка оценивает качество сети, и если качество сети плохое, прошивка может переключиться на другое устройство или (в конечном итоге) отключиться от сети и активировать хост.
Сканирование подключения
Сканирование выполняется автоматически в зависимости от того, включен ли экран устройства, выключен ли экран и подключено ли устройство к Wi-Fi, или выключен ли экран и не подключено к Wi-Fi.
Экран включен
При включении экрана система запускает процесс сканирования с увеличивающимися интервалами. Интервалы принятия решений о сканировании настраиваются с помощью параметров config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec и config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (представляющих собой массивы целых чисел). По умолчанию сканирование выполняется с экспоненциальными интервалами задержки в 20, 40, 80 и 160 секунд, при этом последующие сканирования могут выполняться с интервалом в 160 секунд (это значения по умолчанию для этих параметров).
Интервалы сканирования с экспоненциальной задержкой сбрасываются и перезапускаются через 20 секунд всякий раз, когда изменяется состояние экрана, то есть при включении или выключении экрана.
(Android 13+) Если во время работы требуются разные интервалы сканирования, привилегированное приложение производителя может вызвать API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) для динамической установки расписания сканирования при включенном экране.
Решение о выполнении или пропуске сканирования принимается на основе того, достаточно ли стабильно текущее сетевое соединение для пропуска сканирования . Соединение считается достаточно стабильным для пропуска сканирования, если выполняется хотя бы одно из следующих условий:
- Устройство подключено к онлайн-сервису регистрации (OSU).
- Через соединение проходит достаточный трафик (пороговые значения трафика см. далее).
- Значение RSSI превышает требуемый пороговый уровень RSSI (см. пороговые значения RSSI далее) , выбор сети был выполнен недавно (по умолчанию 10 минут, но может быть настроен с помощью параметра
config_wifiConnectedHighRssiScanMinimumWindowSizeSec), и либо сеть проверена (подключена к интернету), либо пользователь разрешил ее использование без доступа к интернету.
Пороговые значения RSSI и трафика следующие:
- Значение RSSI превышает -73 дБм для диапазона 2,4 ГГц, настроенного с помощью параметра
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, или -70 дБм для диапазонов 5 ГГц и 6 ГГц, настроенных с помощью параметров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) выполняет сканирование в роуминге. При выключенном экране сканирование не выполняется.
Экран выключен, и устройство не подключено к Wi-Fi (состояние отключения).
Когда экран выключен и Wi-Fi отключен, прошивка выполняет сканирование PNO на наличие SSID. Платформа настраивает прошивку, указывая список SSID для сканирования и список каналов для сканирования. Если найден настроенный SSID, прошивка активирует платформу.
Данная структура также настраивает интервал, с которым микропрограмма должна выполнять сканирование PNO, используя состояние мобильности устройства для выбора различных интервалов сканирования. В состоянии низкой мобильности (устройство неподвижно) интервал составляет 60 секунд для первых трех сканирований (управляется параметром config_wifiStationaryPnoScanIntervalMillis ) и 180 секунд (фиксированный множитель 3x параметра config_wifiStationaryPnoScanIntervalMillis) для последующих сканирований. В состоянии высокой мобильности интервал составляет 20 секунд для первых трех сканирований (управляется параметром config_wifiMovingPnoScanIntervalMillis ) и 60 секунд (фиксированный множитель 3x параметра config_wifiMovingPnoScanIntervalMillis) для последующих сканирований.
Номинаторы сети
Сетевые номинаторы находят или создают конфигурации ( WifiConfiguration ) для сетей, которые:
- Доступная (на основе результатов сканирования) или подключенная сеть (которая иногда отсутствует в нестабильных результатах сканирования).
- Необходимо установить минимальный уровень RSSI. Минимальный уровень RSSI составляет -80 дБм для диапазона 2,4 ГГц и -77 дБм для диапазонов 5 ГГц и 6 ГГц. Он настраивается с помощью параметров
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHzиconfig_wifiFrameworkScoreEntryRssiThreshold6ghz. - Не заблокировано, например, из-за предыдущих сбоев соединения.
- Сеть не указывает на свою непригодность для использования (например, при использовании MBO/OCE).
- Может быть связано с использованием учетных данных, доступных на устройстве.
Используются следующие сетевые номинаторы:
- Инструмент для выдвижения сохраненных сетей: оценивает все сохраненные сети (включая сохраненные подписки Passpoint).
- Рекомендуемый сетевой номинатор: оценивает все сети, предоставляемые приложениями с помощью API рекомендаций (включая рекомендуемые подписки Passpoint).
Оценщики кандидатов
Оценочные системы оценивают каждого кандидата и выставляют ему балл. Оценка для ThroughputScorer (система оценки по умолчанию) основана на следующих критериях:
- Базовый показатель вычисляется на основе RSSI, где RSSI ограничен значением -73 дБм для диапазона 2,4 ГГц или -70 дБм для диапазонов 5 ГГц и 6 ГГц (настраивается с помощью параметров
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. - Ненадежные сети (запросы на которые можно отправить через API подсказок) оцениваются ниже, чем любые другие сети.
- Если устройство подключено к другой сети, имеющей доступ в интернет, и ранее было установлено, что сеть не имеет доступа в интернет, ему присваивается оценка 0.
Бонус по умолчанию для сохраненных и предлагаемых вариантов, а также для неиспользуемых и используемых (то есть, значения наложения по умолчанию) устанавливает строгий порядок приоритета для сохраненных, предлагаемых, используемых и неиспользуемых вариантов:
- Сохраненные сети без учета трафика
- Рекомендуемые сети без учета трафика
- Сохраненные сети с оплатой по факту использования
- Рекомендуемые сети с оплатой по счетчику
Это означает, что сохраненная бесплатная сеть всегда выбирается раньше сохраненной платной сети. Бонусные очки, полученные недавно (пользователем или приложением), могут перевесить этот строгий приоритет.
В рамках фреймворка можно установить несколько вариантов оценщиков, но одновременно может быть активен только один. Остальные оценщики могут использоваться для сбора метрик (для исследования альтернативных алгоритмов). В Android 11 оценщиком по умолчанию является ThroughputScorer .
Блокировка SSID и BSSID
Данная система может блокировать SSID или BSSID, то есть не будет рассматривать их для подключений ни временно, ни постоянно.
Блокировка BSSID
Блокировка BSSID работает за счет ведения двух счетчиков сбоев: непрерывного счетчика сбоев и счетчика серийных сбоев для каждого конкретного типа сбоя (список типов сбоев см. далее). При возникновении сбоя:
- Счетчик для соответствующего типа ошибки увеличивается.
- Если достигнут пороговый уровень отказа для данного типа отказа:
- BSSID заблокирован.
- Счетчик неудачных попыток увеличивается.
Длительность блокировки BSSID начинается с настраиваемого базового значения. Это базовое значение задается параметрами config_wifiBssidBlocklistMonitorBaseBlockDurationMs или config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs в зависимости от RSSI. Затем длительность экспоненциально увеличивается до настраиваемого верхнего предела, заданного параметром config_wifiBssidBlocklistMonitorFailureStreakCap . Длительность увеличивается, если сбои непрерывно происходят на одном и том же BSSID. Длительность представляет собой базовую длительность, экспоненциально увеличенную на количество сбоев; например, серия из 2 сбоев означает увеличение базовой длительности блокировки в 4 раза.
Пороговые значения для блокировки BSSID зависят от причины сбоя и могут быть настроены с помощью наложений:
- Точка доступа отклоняет соединение, используя 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 | Запрашивающая сторона не смогла обнаружить в результатах сканирования сеть, соответствующую сети, запрошенной платформой для подключения (включая сетевые возможности). | 2 | 5 минут | Временный |
DISABLED_CONSECUTIVE_FAILURES | Сеть не устанавливала соединение пять или более раз подряд. Типы сбоев для этих случаев включают, помимо прочего, типы сбоев, перечисленные в этой таблице. | 5 | 5 минут | Временный |
Временно отключенная сеть включается повторно, когда:
- Срок действия блокировки истек.
- Пользователь вручную выбирает сеть для подключения.
- Пользователь включает и выключает Wi-Fi.
- Система перезагружена.
- Сеть отключалась при очень низком уровне RSSI, но впоследствии снова обнаруживалась при умеренном или более высоком уровне RSSI.
Сеть, которая была окончательно отключена, включается повторно, когда:
- Пользователь вручную выбирает сеть для подключения.
Счетчики сбоев в сети сбрасываются в следующих случаях:
- Сеть удалена.
- Устройство успешно подключилось к сети.
- Сеть была повторно включена после истечения времени отключения.
- Пользователь вручную выбирает сеть для подключения.
- Система перезагружена.
Таблицы результатов
Таблицы результатов, представленные в Android 10, записывают статистику по BSSID непосредственно на устройстве. Таблицы результатов сохраняются с помощью службы IpMemoryStore .
При выборе сети в Android 11 оценочные таблицы не используются.
Выбор подключения пользователя
В Android используется алгоритм выбора сети, который позволяет процессу выбора отдавать предпочтение сетям Wi-Fi, к которым пользователь явно подключился, например, домашней сети. Пользователи могут предпочитать такие сети общедоступным, даже если их производительность ниже, поскольку они предоставляют дополнительные услуги, такие как возможность управления домашними устройствами.
Пользователь выбирает предпочтительную сеть, отмечая все видимые конфигурации Wi-Fi и уровень их сигнала в момент выбора сети. Если в процессе автоматического выбора выбрана одна из отмеченных конфигураций Wi-Fi и доступна выбранная пользователем сеть, алгоритм выбора сети переопределяет выбор пользователя, если выполняются следующие условия:
- В момент последнего использования сети, доступной пользователю через приложение User Connect Choice, был обеспечен.
- При выборе варианта подключения пользователем уровень сигнала остается не хуже, чем при первоначальном выборе, с учетом погрешности. Эта погрешность может быть настроена с помощью наложения
config_wifiEstimateRssiErrorMarginDb.
Выбор сети пользователем сохраняется после перезагрузки. Этот выбор работает для сохраненных сетей, сетей Passpoint и сетей-рекомендаций.
Две станции одновременно
В этом разделе описывается выбор сети Wi-Fi, когда устройство поддерживает одновременное подключение к двум сетям Wi-Fi.
сделать перед перерывом
Если включена функция «сначала соединение, потом разрыв соединения» , устройство пытается подключиться к новой сети, прежде чем отключиться от старой. В режиме «сначала соединение, потом разрыв соединения» используется тот же алгоритм выбора сети, что и при переключении между сетями с функцией «сначала разрыв соединения, потом соединение» (когда устройство отключается от старой сети перед подключением к новой). Если алгоритм выбора сети выбирает сеть, переключение которой невозможно выполнить с помощью функции «сначала соединение, потом разрыв соединения», устройство автоматически переключается на режим «сначала разрыв соединения, потом соединение».
Одновременное ограниченное и интернет-соединение.
Если включена функция одновременного ограничения доступа и подключения к интернету , устройство может подключаться к дополнительной сети Wi-Fi с ограниченным доступом, доступной только для некоторых приложений, настроенных производителем устройства. Инструкции по настройке этой функции для производителей устройств приведены в разделе «Ограничение доступа и подключение к интернету» .
Когда алгоритм выбора сети обнаруживает результаты сканирования, соответствующие платным или частным рекомендациям производителя, он автоматически подключается к ней как ко второй сети. Выбор сети для основной сети Wi-Fi (которая обеспечивает подключение к интернету для обычных приложений) происходит в обычном режиме параллельно.
Часто задаваемые вопросы (FAQ)
Всегда ли защищенные сети имеют приоритет над открытыми сетями?
Нет. Сохраненные и рекомендуемые тарифы, а также тарифицируемые и нетарифицируемые — это основные категории, по которым оцениваются сети. В каждой категории защищенные сети имеют некоторый приоритет над открытыми, но гораздо больший вес придается качеству соединения.
Причина в том, что реальная безопасность пользовательских данных обеспечивается сквозным шифрованием (например, TLS). Защищенные сети шифруют только первый этап передачи данных, и даже в этом случае, для сетей с предварительно согласованными ключами, они не обеспечивают достаточной конфиденциальности.
Почему сохраненные сети имеют приоритет над предложенными?
Сохраненные бесплатные (безлимитные) сети имеют приоритет над предложенными бесплатными сетями, а сохраненные лимитированные сети имеют приоритет над предложенными лимитированными сетями.
Сохраненные сети имеют приоритет над предложенными, поскольку это сети, которые пользователь явно добавил на устройство. Это означает, что по возможности предпочтение отдается подключению к этим сетям.
Обратите внимание, что пользователи могут отключить автоматическое подключение к отдельным сохраненным сетям; то есть они могут указать, что эти сети должны использоваться только вручную и не должны автоматически учитываться устройством.
Могу ли я изменить строгий порядок приоритета или полностью его удалить?
Вы можете изменить решения по выбору сети, изменив бонусные наложения, перечисленные в предыдущих разделах. Однако изменять значения по умолчанию не рекомендуется, поскольку они были выбраны после тщательного анализа множества сценариев использования.