En esta página, se describen los algoritmos y procedimientos que se usan en Android 12 para seleccionar redes Wi-Fi y pasar de una a otra. Android evalúa de manera continua la calidad de la red conectada y analiza la calidad de las redes disponibles.
Ciclo de vida de una conexión automática
En este documento, se describe el proceso por el que un dispositivo Android evalúa las redes Wi-Fi disponibles y se conecta a ellas.
El dispositivo busca redes disponibles de una de las siguientes maneras, según si la pantalla está encendida o apagada.
- Pantalla encendida (conectado): El subsistema de conectividad de Android evalúa periódicamente si la conexión actual es lo suficientemente buena como para omitir la búsqueda (como se define en búsquedas con la pantalla encendida). Si la conexión no es lo suficientemente buena como para omitir la búsqueda, el subsistema de conectividad activa una búsqueda para detectar las redes disponibles. Otros componentes del sistema, como el sistema de ubicación o una app (incluida la app de Configuración), también pueden activar estos análisis.
- Pantalla encendida (desconectado): El subsistema de conectividad de Android realiza análisis periódicos según un programa de espera exponencial. El módulo evalúa todos los resultados de la búsqueda recibidos y trata de seleccionar la mejor red a la que conectarse.
- Pantalla apagada (desconectada): La CPU del host programa el firmware con una lista de redes preferidas usando análisis de aligeramiento de red preferido (PNO) en cuanto se apaga la pantalla. El firmware activa el host si encuentra alguna de las redes preferidas. El AOSP supone que el PNO es compatible con el dispositivo.
El método
WifiManager#allowAutojoinGlobal(boolean)
se puede usar para inhabilitar las conexiones automáticas. Esta es una API privilegiada que los fabricantes de dispositivos pueden usar en circunstancias limitadas (por ejemplo, un dispositivo no móvil preconfigurado).Si el dispositivo está conectado y la superposición de
config_wifi_framework_enable_associated_network_selection
está configurada enfalse
, no se realizan análisis de conectividad y los resultados de los análisis no activan la selección de red. Este parámetro de configuración no tiene efecto cuando el dispositivo está desconectado, lo que significa que aún se realizan los análisis de conectividad y la selección de red.Se evalúan los resultados del análisis.
Si el dispositivo está conectado a una red Wi-Fi, el framework evalúa si la red actual es lo suficientemente buena como para omitir la selección de red.
Una red se define como lo suficientemente buena como para omitir la selección de red si se cumple alguno de los siguientes requisitos:
- Transcurrieron menos de 10 segundos desde la última selección de red.
- El usuario se conectó recientemente a la red de forma manual (donde recientemente se puede configurar con la superposición
config_wifiSufficientDurationAfterUserSelectionMilliseconds
). - El dispositivo está conectado a una conexión de registro en línea (OSU).
Se cumplen todos los requisitos que se indican a continuación:
- El RSSI está por encima del umbral requerido o hay suficiente tráfico en la conexión (consulta los análisis con la pantalla encendida para conocer los umbrales de RSSI y tráfico).
- La red se valida (se conecta a Internet) o el usuario aprueba su uso sin acceso a Internet.
- La red no es medida.
Si la red es lo suficientemente buena como para omitir la selección de red, no se realiza ninguna acción adicional.
Si la red Wi-Fi conectada no es lo suficientemente buena o si el dispositivo no está conectado a una red, el framework llama a los nominadores de red para generar una lista de redes Wi-Fi candidatas a las que conectarse según los resultados del análisis filtrados. Los nominadores de redes encuentran configuraciones de Wi-Fi existentes o crean configuraciones nuevas para las redes candidatas.
Los resultados del análisis se filtran para quitar los BSSID que tienen un RSSI inferior al RSSI de entrada (se puede configurar con las superposiciones
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
yconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
). Además, se filtran los BSSID bloqueados. Los BSSID se pueden bloquear en función de las fallas de conexión repetidas, las desconexiones frecuentes y las solicitudes explícitas del AP para no intentar la asociación durante un período determinado (MBO-OCE). El bloqueo de BSSID se describe a continuación en Bloqueo de SSID y BSSID.Cuando el dispositivo se mueve rápidamente, los resultados del análisis se filtran aún más de forma opcional para quitar los BSSID cuyo RSSI varía rápidamente (lo que indica que no se mueven junto con el dispositivo). Esta optimización se puede configurar con
config_wifiHighMovementNetworkSelectionOptimizationEnabled
(para habilitar o inhabilitar la optimización) y las superposicionesconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMs
yconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta
, que configuran el requisito de estabilidad en los resultados de la búsqueda (cambio de RSSI en los resultados de la búsqueda suficientemente separados en el tiempo).
El framework ejecuta el evaluador de candidatos para generar una puntuación para cada identificador de conjunto de servicios (SSID) candidato. Los candidatos a SSID pueden incluir varios candidatos a identificador de conjunto de servicios básicos (BSSID) (generados por los nominadores de red). El candidato con la puntuación más alta es el candidato ganador.
El framework ejecuta el algoritmo de elección de conexión del usuario, que podría convertir una red seleccionada por el usuario en el nuevo candidato ganador en lugar de usar el candidato ganador del evaluador de candidatos.
El framework determina si el candidato ganador coincide con la red conectada actualmente. Para que se considere una coincidencia, se debe cumplir con uno de los siguientes requisitos:
- El candidato ganador y la red Wi-Fi conectada tienen el mismo BSSID.
- Si el roaming de firmware está disponible (incluida la capacidad de lista negra de BSSID), el candidato ganador y la red conectada tienen el mismo SSID y tipo de seguridad.
Si el candidato ganador coincide con la red conectada actualmente, no se realiza ninguna otra acción. Si el candidato ganador no coincide con la red, el dispositivo se asocia con el candidato ganador.
Ten en cuenta que la conexión de red automática se inhabilita mientras una app usa la API de Wi-Fi Network Request, que anula el sistema y crea una LAN sin Internet, excepto en los dispositivos que admiten estaciones simultáneas duales.
Evaluación de una red conectada
El framework o firmware de Android evalúa periódicamente la calidad de la red conectada. En esta sección, se describe cómo se evalúa la red conectada cuando la pantalla está encendida o apagada.
Esta evaluación se realiza además de la selección de red que se mencionó anteriormente.
Pantalla encendida
El framework de Android evalúa la red conectada de la siguiente manera:
El servicio de Wi-Fi sondea las estadísticas de RSSI y de la capa de vínculo cada 3 segundos (se puede configurar con la superposición
config_wifiPollRssiIntervalMilliseconds
).Si el ajuste dinámico del intervalo está habilitado con la superposición
config_wifiAdjustPollRssiIntervalEnabled
, el intervalo de sondeo cambia de forma dinámica según el estado de movilidad del dispositivo y el RSSI.- El intervalo de sondeo se extiende a 6 segundos (configurado por la superposición
config_wifiPollRssiLongIntervalMilliseconds
) cuando el dispositivo está estacionario y el RSSI es superior a -68 dBm (configurado por las superposicionesconfig_wifiClientRssiMonitorThresholdDbm
yconfig_wifiClientRssiMonitorHysteresisDb
). - El intervalo de sondeo se reduce a 3 segundos (configurado por la superposición
config_wifiPollRssiIntervalMilliseconds
) cuando el dispositivo no está estacionario o el RSSI es inferior a -73 dBm (configurado por la superposiciónconfig_wifiClientRssiMonitorThresholdDbm
).
- El intervalo de sondeo se extiende a 6 segundos (configurado por la superposición
El servicio de Wi-Fi calcula una puntuación de conexión según el RSSI y las estadísticas de la capa de vínculo.
El servicio de Wi-Fi pasa la puntuación al servicio de conectividad, que la usa para determinar si se debe conectar a una red Wi-Fi o a otro tipo de red disponible, como una red celular.
Pantalla apagada
El framework no inicia una evaluación en la red conectada, pero el proceso de selección de red aún puede ocurrir si otros componentes inician análisis (por ejemplo, los servicios de ubicación). El firmware evalúa la calidad de la red y, si esta es mala, es posible que el firmware realice una itinerancia o (eventualmente) se desasocie de la red y active el host.
Análisis de conectividad
Los análisis se realizan automáticamente según si la pantalla del dispositivo está encendida, si está apagada y conectado a Wi-Fi, o si está apagada y no está conectado a Wi-Fi.
Pantalla encendida
El framework activa decisiones de análisis en intervalos cada vez mayores cuando la pantalla está encendida. Los intervalos de decisión de análisis se configuran con las superposiciones config_wifiDisconnectedScanIntervalScheduleSec
, config_wifiConnectedScanIntervalScheduleSec
y config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec
(que son arrays de números enteros). De forma predeterminada, los análisis se realizan con intervalos de espera exponenciales de 20, 40, 80 y 160 segundos, y es posible que los análisis posteriores se realicen en intervalos de 160 segundos (estos son los valores predeterminados de estas superposiciones).
Los intervalos de análisis de espera exponencial se restablecen y se reinician en 20 segundos cada vez que cambia el estado de la pantalla, es decir, cuando se activa o desactiva.
(Android 13 y versiones posteriores) Si se necesitan diferentes intervalos de análisis en el tiempo de ejecución, una app con privilegios del OEM puede llamar a la API de WifiManager#setScreenOnScanSchedule(screenOnScanSchedule)
para establecer de forma dinámica el programa de análisis con la pantalla encendida.
La decisión de ejecutar o omitir una exploración se basa en si la conexión de red actual es lo suficientemente buena como para omitir la exploración. Una conexión es lo suficientemente buena como para omitir el análisis si se cumple alguno de los siguientes requisitos:
- El dispositivo está conectado a una conexión de registro en línea (OSU).
- Fluye suficiente tráfico a través de la conexión (consulta los umbrales de tráfico a continuación).
- El RSSI está por encima del umbral de RSSI requerido (consulta los umbrales de RSSI a continuación), y la selección de red se realizó recientemente (10 minutos de forma predeterminada, pero se puede configurar con la superposición
config_wifiConnectedHighRssiScanMinimumWindowSizeSec
), y la red está validada (conectada a Internet) o el usuario aprobó su uso sin acceso a Internet.
Los umbrales de RSSI y tráfico son los siguientes:
- El RSSI es superior a -73 dBm para la banda de 2.4 GHz, configurada con la superposición
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
, o bien -70 dBm para las bandas de 5 GHz y 6 GHz, configuradas con las superposicionesconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHz
yconfig_wifiFrameworkScoreLowRssiThreshold6ghz
. - El tráfico (transmisión o recepción) supera los 16 paquetes por segundo (pps) configurados con la superposición
config_wifiFrameworkMinPacketPerSecondActiveTraffic
.
Cuando el dispositivo está conectado y la pantalla está encendida. Un dispositivo de puntuación conectado supervisa periódicamente la calidad de la conexión Wi-Fi observando indicadores como el RSSI y la cantidad de paquetes transferidos. Si se determina que la calidad de la conexión Wi-Fi es mala (como se especifica a continuación) y el dispositivo admite estaciones simultáneas duales, se activará un análisis. La superposición config_wifiLowConnectedScoreThresholdToTriggerScanForMbb
se puede usar para configurar el umbral de puntuación que activa el análisis. La superposición config_wifiLowConnectedScoreScanPeriodSeconds
se puede usar para configurar el período de estos análisis.
La pantalla está apagada y el dispositivo está conectado a Wi-Fi.
Cuando la pantalla está apagada y el dispositivo está conectado a una red Wi-Fi, el firmware (SoC de Wi-Fi) realiza análisis de itinerancia. El framework no realiza ninguna búsqueda cuando la pantalla está apagada.
Pantalla apagada y sin conexión a Wi-Fi (estado desconectado)
Cuando la pantalla está apagada y la conexión Wi-Fi está desconectada, el firmware realiza análisis de PNO para buscar SSID. El framework configura el firmware con una lista de SSID para buscar y una lista de canales en los que se realizará la búsqueda. Si se encuentra un SSID configurado, el firmware activa el framework.
El framework también configura el intervalo en el que el firmware debe realizar análisis de PNO, y usa el estado de movilidad del dispositivo para seleccionar diferentes intervalos de análisis.
En un estado de baja movilidad (el dispositivo está estacionario), el intervalo es de 60 segundos para los primeros tres análisis (controlados por la superposición config_wifiStationaryPnoScanIntervalMillis
) y de 180 segundos (un multiplicador fijo de 3 veces la superposición) para los análisis posteriores. En un estado de alta movilidad, el intervalo es de 20 segundos para los primeros tres análisis (controlados por la superposición config_wifiMovingPnoScanIntervalMillis
) y de 60 segundos (un multiplicador fijo de 3 veces la superposición) para los análisis posteriores.
Nominadores de red
Los nominadores de redes encuentran o crean configuraciones (WifiConfiguration
) para las redes que cumplen con los siguientes requisitos:
- Disponible (según los resultados del análisis) o la red conectada (que a veces falta en los resultados del análisis inestables)
- Tener un RSSI mínimo El RSSI mínimo es de -80 dBm para la banda de 2.4 GHz y de -77 dBm para las bandas de 5 GHz y 6 GHz, y se puede configurar con las superposiciones
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
yconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
. - No está bloqueada, por ejemplo, debido a errores de conexión anteriores.
- La red no indica que no se puede usar (por ejemplo, con MBO/OCE).
- Se puede asociar al uso de las credenciales disponibles en el dispositivo.
Se usan los siguientes nominadores de red:
- Nominador de redes guardadas: Evalúa todas las redes guardadas (incluidas las suscripciones a Passpoint guardadas).
- Sugerencia de red nominadora: Evalúa todas las redes que proporcionan las apps a través de la API de Suggestion (incluidas las suscripciones sugeridas de Passpoint).
Puntuadores de candidatos
Los evaluadores de candidatos evalúan a cada candidato y le asignan una puntuación. La puntuación de ThroughputScorer
(el evaluador predeterminado) se basa en lo siguiente:
- Se calcula una puntuación base según el RSSI, que se limita a -73 dBm para la banda de 2.4 GHz o a -70 dBm para las bandas de 5 GHz y 6 GHz (configuradas con las superposiciones
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
yconfig_wifiFrameworkScoreLowRssiThreshold6ghz
). - El aumento de la puntuación se calcula en función de una estimación del rendimiento derivada de la tecnología, la frecuencia del canal, el ancho de banda, el RSSI, las condiciones del canal, la cantidad máxima de transmisiones espaciales y otros parámetros. El aumento de la puntuación se puede configurar con las superposiciones
config_wifiFrameworkThroughputBonusNumerator
yconfig_wifiFrameworkThroughputBonusDenominator
, y se limita a un valor máximo especificado con la superposiciónconfig_wifiFrameworkThroughputBonusLimit
. - Una red candidata que el usuario o una app seleccionaron recientemente recibe un gran aumento de la puntuación durante un período configurable con la superposición
config_wifiFrameworkLastSelectionMinutes
(durante ese período, se garantiza que se seleccionará la red por sobre las redes no seleccionadas por el usuario). - Un candidato que coincide con la red actual recibe un aumento de la puntuación configurado por las superposiciones
config_wifiFrameworkCurrentNetworkBonusMin
yconfig_wifiFrameworkCurrentNetworkBonusPercent
(recibe una bonificación adicional basada en un porcentaje de su RSSI y su puntuación basada en la capacidad de procesamiento, hasta el mínimo configurable). - Una red segura obtiene una puntuación más alta que una red abierta. La bonificación se configura con la superposición
config_wifiFrameworkSecureNetworkBonus
. - Una red no medida (gratuita) obtiene una puntuación más alta que una red medida (pagada).
La bonificación se configura con la superposición
config_wifiFrameworkUnmeteredNetworkBonus
. - Una red guardada obtiene una puntuación más alta que una red sugerida con la API de Suggestion. La bonificación se configura con la superposición
config_wifiFrameworkSavedNetworkBonus
. - Las redes no confiables (que se pueden solicitar como parte de la API de Suggestion) obtienen una puntuación más baja que cualquier otra red.
- Una red que se detectó anteriormente como sin Internet obtiene una puntuación de 0 si el dispositivo está conectado actualmente a otra red con acceso a Internet.
La bonificación predeterminada para los elementos guardados en comparación con las sugerencias y los elementos no medidos en comparación con los medidos (es decir, los valores de superposición predeterminados) genera un orden de prioridad estricto para los elementos guardados, sugeridos, medidos y no medidos:
- Redes no medidas guardadas
- Redes no medidas sugeridas
- Redes de uso medido guardadas
- Redes de uso medido sugeridas
Esto significa que siempre se selecciona una red guardada sin medición (gratis) antes que una red guardada con medición (pagada). La bonificación de puntuación seleccionada recientemente (por el usuario o la app) puede anular esa prioridad estricta.
El framework puede tener varios evaluadores de candidatos instalados, pero solo uno puede estar activo a la vez. Los otros calificadores se pueden usar para las métricas (para investigar algoritmos alternativos). En Android 11, el evaluador predeterminado es ThroughputScorer
.
Bloqueo de SSID y BSSID
El framework puede bloquear los SSID o los BSSID, es decir, no tenerlos en cuenta para las conexiones de forma temporal o permanente.
Bloqueo de BSSID
El bloqueo de BSSID funciona manteniendo dos contadores de errores, un contador de errores continuo y un contador de rachas, por cada tipo de error específico (consulta a continuación una lista de los tipos de errores). Cuando se produce una falla, sucede lo siguiente:
- Se incrementa el contador del tipo de falla correspondiente.
- Si se alcanza el umbral de falla para ese tipo de falla, sucede lo siguiente:
- El BSSID está bloqueado.
- Se incrementa el contador de la racha de fallas.
La duración durante la que se bloquea un BSSID comienza con un valor base (configurable) (especificado por las superposiciones config_wifiBssidBlocklistMonitorBaseBlockDurationMs
o config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs
, según el RSSI) y aumenta de forma exponencial hasta un límite superior configurable (especificado por la superposición config_wifiBssidBlocklistMonitorFailureStreakCap
). La duración aumenta si se producen fallas de forma continua en el mismo BSSID. La duración es la duración base que aumenta exponencialmente según la racha de fallas, es decir, una racha de fallas de 2 implica una duración del bloqueo base 4 veces mayor.
Los umbrales para el bloqueo de BSSID dependen del motivo de la falla y se pueden personalizar con superposiciones:
- El AP rechaza la asociación con el código Unable to handle new STA de MBO/OCE:
config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
. - No se pudo realizar la validación de Internet a través de esta red:
config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
. - Código de error de autenticación de contraseña incorrecta:
config_wifiBssidBlocklistMonitorWrongPasswordThreshold
. - Código de error de autenticación de EAP para redes EAP:
config_wifiBssidBlocklistMonitorEapFailureThreshold
. - Rechazo de la asociación, otros rechazos generales de la asociación:
config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
. - Tiempo de espera de la asociación:
config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
. - Fallo en la autenticación, otros fallos generales en la autenticación:
config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
. - Error de DHCP, no se pudo aprovisionar DHCP:
config_wifiBssidBlocklistMonitorDhcpFailureThreshold
. - Desconexión anormal: El dispositivo se desconectó de la red en un período muy corto después de conectarse:
config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold
. El período se puede configurar conconfig_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs
.
Condiciones para borrar la lista de bloqueo de BSSID
Un BSSID se borra de la lista de bloqueo en los siguientes casos:
- Se activa o desactiva el Wi-Fi: Se quitan todos los BSSID de la lista de bloqueo.
- El usuario presiona una red en el selector de Wi-Fi: Se quitan de la lista de bloqueo todos los BSSID de la red seleccionada por el usuario.
- Tiempo de espera: Los BSSID se quitan de la lista de bloqueo cuando se alcanza la duración del bloqueo.
- Reiniciar: Se borran todas las listas de bloqueo.
- Se quitó la red: Se quitaron de la lista de bloqueo todos los BSSID asociados con esta red.
Condiciones de restablecimiento de los contadores de fallas y de rachas:
- Reinicio: Se restablece para todos los BSSID.
- Se quitó la red: Se restablecieron los BSSID asociados con la red.
Éxito de la conexión L2: Se restablece para los siguientes códigos de error.
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
(se borra de forma condicional solo si la última vez que el dispositivo se conectó a este BSSID fue hace más de 3 horas)REASON_NONLOCAL_DISCONNECT_CONNECTING
Se restablece la validación de red correcta para el siguiente código de error.
REASON_NETWORK_VALIDATION_FAILURE
Aprovisionamiento de DHCP correcto: Se restablece para el siguiente código de error.
REASON_DHCP_FAILURE
Bloqueo de SSID
El bloqueo de SSID funciona de manera similar al bloqueo de BSSID. Se incrementa un contador de fallas por tipo de falla y por red cuando se producen fallas de conexión (de ese tipo).
Cuando el recuento de fallas de un tipo en particular supera un umbral, el SSID se bloquea de forma permanente o temporal según una configuración. La configuración de cada tipo de falla se codifica en WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS
y se resume a continuación.
* En el caso de las redes inhabilitadas temporalmente, la duración de la inhabilitación cambia de forma dinámica según la cantidad de fallas de conexión consecutivas que se producen en la red. Después de que una red no se conecta cinco veces consecutivas, cada falla posterior genera una duración de inhabilitación dos veces mayor que la anterior. Por ejemplo, una red con cinco fallas consecutivas se inhabilita durante 5 minutos, luego 10 minutos en la sexta falla, 20 minutos en la séptima falla, y así sucesivamente hasta el límite máximo de 18 horas. |
||||
Código de falla | Descripción | Umbral | Duración base de la inhabilitación* | Tipo de inhabilitación |
---|---|---|---|---|
DISABLED_DHCP_FAILURE |
No se pudo aprovisionar el DHCP | 5 | 5 minutos | Temporaria |
DISABLED_NO_INTERNET_TEMPORARY |
La validación de la red falló, pero el usuario indica que quiere seguir conectándose a esta red en el futuro. | 1 | 10 minutos | Temporaria |
DISABLED_AUTHENTICATION_NO_CREDENTIALS |
El suplicante no tiene credenciales para conectarse a la red | 1 | NA | Permanente |
DISABLED_NO_INTERNET_PERMANENT |
Valor predeterminado para la falla de validación de red | 1 | NA | Permanente |
DISABLED_BY_WIFI_MANAGER |
Obsoleto y sin usar | 1 | NA | Permanente |
DISABLED_BY_WRONG_PASSWORD |
La contraseña es incorrecta y nunca se conectó correctamente a esta red. | 1 | NA | Permanente |
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION |
Falla de EAP en la que la tarjeta SIM no está suscrita | 1 | NA | Permanente |
DISABLED_ASSOCIATION_REJECTION |
Fallas de rechazo de la asociación | 5 | 5 minutos | Temporaria |
DISABLED_AUTHENTICATION_FAILURE |
Otras fallas de autenticación (es decir, no se trata de una contraseña incorrecta ni de una falla de EAP) | 5 | 5 minutos | Temporaria |
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR |
Es un error de EAP específico del proveedor (privado). | 1 | NA | Permanente |
DISABLED_NETWORK_NOT_FOUND |
El suplicante no pudo encontrar una red en los resultados del análisis que coincida con la red solicitada por el framework para la conexión (incluidas las capacidades de la red). | 2 | 5 minutos | Temporaria |
DISABLED_CONSECUTIVE_FAILURES |
La red no se conectó cinco o más veces consecutivas. El tipo de falla para estos errores incluye, entre otros, los tipos de falla que se enumeran en esta tabla. |
5 | 5 minutos | Temporaria |
Una red inhabilitada temporalmente se vuelve a habilitar en los siguientes casos:
- Ya pasó el período de inhabilitación.
- El usuario selecciona manualmente la red a la que se conectará.
- El usuario activa o desactiva la conexión Wi-Fi.
- Se reinicia el sistema.
- La red se inhabilitó con un RSSI muy bajo, pero luego se volvió a detectar con un RSSI moderado o más alto.
Una red inhabilitada de forma permanente se vuelve a habilitar en los siguientes casos:
- El usuario selecciona manualmente la red a la que se conectará.
Los contadores de fallas de una red se restablecen en los siguientes casos:
- Se quita la red.
- El dispositivo se conectó correctamente a la red.
- Se volvió a habilitar la red después de que se agotó el tiempo de inhabilitación.
- El usuario selecciona manualmente la red a la que se conectará.
- Se reinicia el sistema.
Tarjetas de puntuación
Las tarjetas de puntuación, que se presentaron en Android 10, registran estadísticas en el dispositivo sobre los BSSID. Las tarjetas de puntuación se conservan con el servicio IpMemoryStore
.
Las tarjetas de puntuación no se usan en la selección de redes de Android 11.
Elección de conexión del usuario
Android tiene un algoritmo de elección de conexión del usuario que permite que el proceso de selección prefiera las redes Wi-Fi a las que un usuario se conectó de forma explícita, por ejemplo, una red doméstica. Es posible que los usuarios prefieran estas redes a las públicas, incluso cuando el rendimiento es menor que el de una red pública, ya que proporcionan servicios adicionales, como la capacidad de controlar dispositivos domésticos.
La preferencia del usuario por una red se captura marcando todas las configuraciones de Wi-Fi visibles y sus intensidades de señal en el momento en que el usuario selecciona una red. Si se selecciona una de las configuraciones de Wi-Fi marcadas durante el proceso de selección automática y hay disponible una red seleccionada por el usuario, el algoritmo de elección de conexión del usuario anula la selección con la red seleccionada por el usuario si se cumplen las siguientes condiciones:
- La red de elección de conexión del usuario tenía acceso a Internet la última vez que se usó.
- La opción de conexión del usuario tiene una intensidad de señal que no es peor que cuando se seleccionó originalmente con un margen de error. Este margen de error se puede configurar con la superposición
config_wifiEstimateRssiErrorMarginDb
.
La red de elección de conexión del usuario persiste después de un reinicio. La elección de conexión del usuario funciona para las redes guardadas, las redes de Passpoint y las redes sugeridas.
Estaciones simultáneas duales
En esta sección, se describe la selección de redes Wi-Fi cuando un dispositivo admite la conexión a dos redes Wi-Fi de forma simultánea.
Conexión antes de desconexión
Si la función make-before-break está habilitada, el dispositivo intentará conectarse a la red nueva antes de desconectarse de la red anterior. El flujo de conexión antes de desconexión usa el mismo algoritmo de selección de red que el cambio de red de desconexión antes de conexión (que se produce cuando el dispositivo se desconecta de la red anterior antes de conectarse a la nueva). Si el algoritmo de selección de red elige una red a la que no se puede cambiar con la función de conexión antes de desconexión, el dispositivo vuelve automáticamente a la función de desconexión antes de conexión.
Conexión simultánea restringida y a Internet
Si la función de conexión restringida y simultánea a Internet está habilitada, el dispositivo puede conectarse a una red Wi-Fi secundaria restringida que solo está disponible para las apps seleccionadas que configuró el fabricante del dispositivo. Las instrucciones para que los fabricantes de dispositivos configuren esta opción se encuentran en Conexión restringida y a Internet simultáneas.
Cuando el algoritmo de selección de red detecta resultados de análisis que coinciden con la sugerencia privada o pagada del OEM, se conecta automáticamente a ella como segunda red. La selección de red para la red Wi-Fi principal (que proporciona conexión a Internet a las apps normales) se realiza normalmente en paralelo.
Preguntas frecuentes
¿Las redes seguras siempre tienen prioridad sobre las redes abiertas?
No. Las categorías principales en las que se evalúan las redes son guardadas frente a sugeridas y medidas frente a no medidas. Dentro de cada categoría, las redes seguras tienen cierta prioridad sobre las redes abiertas, pero se le da mucho más peso a la calidad de la conexión.
El motivo es que la seguridad de los datos reales del usuario se proporciona a través de la encriptación de extremo a extremo (por ejemplo, TLS). Las redes seguras solo encriptan el primer tramo de la comunicación y, aun así, no proporcionan mucha privacidad, incluso en el caso de las redes con claves precompartidas.
¿Por qué se priorizan las redes guardadas sobre las sugeridas?
Las redes gratuitas (sin medición) guardadas tienen prioridad sobre las redes gratuitas sugeridas, y las redes medidas guardadas tienen prioridad sobre las redes medidas sugeridas.
Las redes guardadas tienen prioridad sobre las redes sugeridas porque son redes que el usuario agregó al dispositivo de forma explícita. Esto implica una preferencia por conectarse a estas redes cuando sea posible.
Ten en cuenta que los usuarios pueden inhabilitar el comportamiento de conexión automática para redes guardadas individuales, es decir, indicar que estas redes solo se deben usar de forma manual y que el dispositivo no las debe considerar automáticamente.
¿Puedo cambiar el orden de prioridad estricta o quitarlo por completo?
El fabricante del dispositivo puede modificar las decisiones de selección de red si modifica las superposiciones de bonificación que se indican en las secciones anteriores. Sin embargo, no se recomienda cambiar los valores predeterminados, ya que se eligieron después de considerar cuidadosamente varios casos de uso.