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 este documento, se describe el proceso por el que un dispositivo 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 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 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:

        • 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 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 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 superposiciones config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs y config_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).

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

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

  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 superior a -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 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 superposiciones config_wifi_framework_wifi_score_low_rssi_threshold_5GHz y config_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 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).
  • 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 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 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 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 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:

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

  • 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

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

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

  3. ¿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.