Selección de red Wi-Fi

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 esta sección, se describe cómo un dispositivo con Android evalúa las redes Wi-Fi disponibles y se conecta a ellas.

  1. 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 las búsquedas con la pantalla encendida). Si la conexión no es lo suficientemente buena para omitir el análisis, el subsistema de conectividad activa un análisis 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 emite análisis periódicos según un programa de retirada 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) tan pronto como se apaga la pantalla. El firmware activa el host si encuentra alguna de las redes preferidas. El AOSP supone que el dispositivo admite PNO.

    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 en false, 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.

  2. 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:

        • La indicación de intensidad de la señal recibida (RSSI) es mayor que el umbral de RSSI requerido o fluye suficiente tráfico a través de la conexión (consulta los análisis con la pantalla encendida para conocer los umbrales de RSSI y tráfico).
        • La red está validada (conectada a Internet) o el usuario aprobó 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 red buscan 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 y config_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 en la sección sobre el 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 (un indicio de 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 superposiciones config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs y config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, que configuran el requisito de estabilidad en los resultados del análisis (cambio de RSSI en los resultados del análisis suficientemente separados en el tiempo).

  3. El framework ejecuta el evaluador de candidatos para generar una puntuación para cada SSID candidato. Los SSID candidatos pueden incluir varios BSSID candidatos (generados por los nominadores de red). El candidato con la puntuación más alta es el candidato ganador.

  4. 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.

  5. El framework determina si el candidato ganador coincide con la red conectada. Para que se considere una coincidencia, se debe cumplir una de las siguientes condiciones:

    • El candidato ganador y la red Wi-Fi conectada tienen el mismo BSSID.
    • Si el roaming de firmware está disponible (incluida la capacidad de la lista de bloqueo de BSSID), el candidato ganador y la red conectada tienen el mismo SSID y el mismo tipo de seguridad.

    Si el candidato ganador coincide con la red conectada, no se realiza ninguna otra acción. Si el candidato ganador no coincide con la red, el dispositivo se asocia con el candidato ganador.

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 analizó en secciones anteriores.

Pantalla encendida

El framework de Android evalúa la red conectada de la siguiente manera:

  1. 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 mayor que -68 dBm (configurado por las superposiciones config_wifiClientRssiMonitorThresholdDbm y config_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ón config_wifiClientRssiMonitorThresholdDbm).
  2. 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.

  3. 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 móvil.

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 (finalmente) 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 búsqueda se basa en si la conexión de red actual es suficientemente buena para omitir la búsqueda. 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 más adelante).
  • El RSSI es mayor que el umbral de RSSI requerido (consulta los umbrales de RSSI más adelante), 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 mayor que -73 dBm para la banda de 2.4 GHz, configurada con la capa 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 capas config_wifi_framework_wifi_score_low_rssi_threshold_5GHz y config_wifiFrameworkScoreLowRssiThreshold6ghz.
  • El tráfico (transmisión o recepción) es superior a 16 paquetes por segundo (pps) configurados con la superposición config_wifiFrameworkMinPacketPerSecondActiveTraffic.

Cuando el dispositivo está conectado y la pantalla está encendida, un evaluador conectado supervisa periódicamente la calidad de la conexión Wi-Fi observando señales 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 más adelante) y el dispositivo admite estaciones simultáneas duales, se activará una búsqueda. La superposición de 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 buscan 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 poco confiables).
  • 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 y config_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).
  • Nominador de redes sugeridas: Evalúa todas las redes que proporcionan las apps con la API de sugerencias (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 y config_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 y config_wifiFrameworkThroughputBonusDenominator, y se limita a un valor máximo especificado con la superposición config_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 verifica que la red se seleccionó 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 y config_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 a otra red que tiene 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 la superposición predeterminada) genera un orden de prioridad estricto para los elementos guardados, sugeridos, medidos y no medidos:

  1. Redes no medidas guardadas
  2. Redes no medidas sugeridas
  3. Redes de uso medido guardadas
  4. Redes de uso medido sugeridas

Esto significa que siempre se selecciona una red no medida (gratis) guardada antes que una red medida (pagada) guardada. 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 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 SSID o BSSID, lo que significa que no los tendrá 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 más adelante una lista de 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. Este valor base se especifica en las superposiciones config_wifiBssidBlocklistMonitorBaseBlockDurationMs o config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs, según el RSSI. Luego, la duración 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 de forma exponencial con la racha de errores. Por ejemplo, una racha de 2 errores implica una duración del bloqueo 4 veces mayor que la base.

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 con config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs.

Condiciones para borrar la lista de bloqueo de BSSID

Un BSSID se borra de la lista de bloqueo en los siguientes casos:

  • Cuando se activa o desactiva el Wi-Fi, se quitan todos los BSSID de la lista de bloqueo.
  • Cuando un 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.
  • Cuando se alcanza la duración del bloqueo (tiempo de espera), los BSSID se quitan de la lista de bloqueo.
  • Cuando se reinicia el sistema, se borran todas las listas de bloqueo.
  • Cuando se quita una red, todos los BSSID asociados a ella se quitan de la lista de bloqueo.

Condiciones de restablecimiento de los contadores de fallas y de rachas:

  • Cuando se reinicia el sistema, se restablecen los contadores de todos los BSSID.
  • Cuando se quita una red, se restablecen los contadores de los BSSID asociados a esa red.
  • Cuando se establece una conexión de nivel 2, se restablecen los contadores de 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
  • Cuando la validación de la red se realiza correctamente, se restablecen los contadores para el siguiente código de error:

    • REASON_NETWORK_VALIDATION_FAILURE
  • Cuando el aprovisionamiento de DHCP se realiza correctamente, se restablecen los contadores 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 en la siguiente tabla.

* 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 N/A Permanente
DISABLED_NO_INTERNET_PERMANENT Valor predeterminado para la falla de validación de red 1 N/A Permanente
DISABLED_BY_WIFI_MANAGER Obsoleto y sin usar 1 N/A Permanente
DISABLED_BY_WRONG_PASSWORD La contraseña es incorrecta y nunca se conectó correctamente a esta red. 1 N/A Permanente
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Falla de EAP en la que no se suscribió la tarjeta SIM 1 N/A Permanente
DISABLED_ASSOCIATION_REJECTION Errores 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 N/A 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 es 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 interrupción antes de la conexión, el dispositivo automáticamente vuelve a la función de interrupción después de la conexión.

Conexión simultánea restringida y a Internet

Si la función conexión a Internet y restricción simultáneas 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 redes detecta resultados de búsqueda que coinciden con la sugerencia privada o pagada del OEM, se conecta automáticamente a ella como una 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

  1. ¿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 encriptan solo el primer tramo de la comunicación y, aun así, en el caso de las redes con claves precompartidas, no brindan mucha privacidad.

  2. ¿Por qué se priorizan las redes guardadas sobre las sugeridas?

    Las redes gratuitas (no medidas) 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, pueden indicar que estas redes solo se deben usar de forma manual y que el dispositivo no las debe considerar automáticamente.

  3. ¿Puedo cambiar el orden de prioridad estricta o quitarlo por completo?

    Puedes modificar las decisiones de selección de redes con las superposiciones de bonificación que se mencionaron en secciones anteriores. Sin embargo, no se recomienda cambiar los valores predeterminados, ya que se eligieron después de considerar cuidadosamente varios casos de uso.