Selección de red Wi-Fi de Android

Esta página describe los algoritmos y procedimientos utilizados en Android 12 para seleccionar y cambiar entre redes Wi-Fi. Android evalúa continuamente la calidad de la red conectada y evalúa la calidad de las redes disponibles.

Vida de una conexión automática

Esto describe el proceso de cómo un dispositivo Android evalúa y se conecta a las redes Wi-Fi disponibles.

  1. El dispositivo busca redes disponibles de una de las siguientes maneras dependiendo de si la pantalla está encendida o apagada.

    • Pantalla encendida (conectada): el subsistema de conectividad de Android evalúa periódicamente si la conexión actual es lo suficientemente buena como para omitir el escaneo (como se define en escaneos de pantalla encendida ). Si la conexión no es lo suficientemente buena como para omitir el escaneo, el subsistema de conectividad activa un escaneo para detectar redes disponibles. Estos análisis también pueden ser activados por otros componentes del sistema, como el sistema de ubicación o una aplicación (incluida la aplicación Configuración).
    • Pantalla encendida (desconectada): el subsistema de conectividad de Android emite análisis periódicos siguiendo un cronograma de retraso exponencial. El módulo evalúa todos los resultados del escaneo recibidos e intenta seleccionar la mejor red para conectarse.
    • Pantalla apagada (desconectada): la CPU host programa el firmware con una lista de redes preferidas utilizando escaneos de descarga de red preferida (PNO) tan pronto como se apaga la pantalla. El firmware activa el host si encuentra alguna de las redes preferidas. AOSP asume que el dispositivo admite PNO.

    El método WifiManager#allowAutojoinGlobal(boolean) se puede utilizar para desactivar las conexiones automáticas. Esta es una API privilegiada que pueden utilizar los fabricantes de dispositivos en circunstancias limitadas (por ejemplo, un dispositivo no móvil preconfigurado).

    Si el dispositivo está conectado y la superposición config_wifi_framework_enable_associated_network_selection está configurada en false , no se realizan análisis de conectividad y los resultados del análisis no activan la selección de red. Esta configuración no tiene efecto cuando el dispositivo está desconectado, lo que significa que aún se realizan exploraciones de conectividad y selección de red.

  2. Se evalúan los resultados del escaneo.

    • Si el dispositivo está conectado a una red Wi-Fi, el marco 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:

      • Han transcurrido menos de 10 segundos desde la última selección de red.
      • El usuario se conectó recientemente manualmente a la red (donde recientemente se puede configurar usando la superposición config_wifiSufficientDurationAfterUserSelectionMilliseconds ).
      • El dispositivo está conectado a una conexión de registro en línea (OSU).
      • Se cumplen todos los siguientes requisitos:

        • El RSSI está por encima del umbral RSSI requerido o hay suficiente tráfico fluyendo a través de la conexión (consulte los escaneos en pantalla para RSSI y umbrales de tráfico).
        • La red está validada (conectada a Internet) o aprobada por el usuario para su uso sin acceso a Internet.
        • La red no está medida.
    • Si la red es lo suficientemente buena como para omitir la selección de red , no se realizan más acciones.

    • Si la red Wi-Fi conectada no es lo suficientemente buena o si el dispositivo no está conectado a una red, el marco llama a los nominadores de red para generar una lista de redes Wi-Fi candidatas a las que conectarse en función de los resultados del escaneo filtrado . Los nominadores de redes encuentran configuraciones de Wi-Fi existentes o crean nuevas configuraciones para las redes candidatas.

    • Los resultados del escaneo se filtran para eliminar los BSSID que tienen un RSSI debajo de la entrada RSSI (configurable usando 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 fallas repetidas de conexión, desconexiones frecuentes y solicitudes explícitas del AP para no intentar la asociación durante un período de tiempo 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 opcionalmente para eliminar los BSSID cuyo RSSI varía rápidamente (indicación de que no se están moviendo junto con el dispositivo). Esta optimización se puede configurar usando config_wifiHighMovementNetworkSelectionOptimizationEnabled (habilitando/deshabilitando la optimización) y las superposiciones config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs y config_wifiHighMovementNetworkSelectionOptimizationRssiDelta , que configuran el requisito de estabilidad en los resultados del escaneo (cambio RSSI sobre los resultados del escaneo suficientemente separados en el tiempo).

  3. El marco ejecuta el puntuador de candidatos para generar una puntuación para cada candidato de identificador de conjunto de servicios (SSID). Los candidatos SSID pueden incluir múltiples candidatos de 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 marco ejecuta el algoritmo de elección de conexión del usuario , lo que podría convertir a una red seleccionada por el usuario en el nuevo candidato ganador en lugar de utilizar el candidato ganador del calificador de candidatos.

  5. El marco determina si el candidato ganador coincide con la red actualmente conectada. Para que se considere un partido, se debe cumplir uno de los siguientes:

    • El candidato ganador y la red Wi-Fi conectada tienen el mismo BSSID.
    • Si la itinerancia 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 actualmente conectada, no se realizan más acciones. Si el candidato ganador no coincide con la red, el dispositivo se asocia al candidato ganador.

Tenga en cuenta que la conexión de red automática está deshabilitada mientras una aplicación utiliza la API de solicitud de red Wi-Fi , que anula el sistema y crea una LAN sin Internet, excepto en dispositivos que admiten estaciones duales simultáneas.

Evaluación de una red conectada

El marco o firmware de Android evalúa periódicamente la calidad de la red conectada. Esta sección 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 discutida anteriormente.

Pantalla en

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

  1. El servicio Wi-Fi sondea RSSI y estadísticas de capa de enlace cada 3 segundos (configurable usando la superposición config_wifiPollRssiIntervalMilliseconds ).

    Si el ajuste de intervalo dinámico está habilitado mediante la superposición config_wifiAdjustPollRssiIntervalEnabled , el intervalo de sondeo cambia dinámicamente según el estado de movilidad del dispositivo y RSSI.

    • El intervalo de sondeo se extiende a 6 segundos (configurado por la superposición config_wifiPollRssiLongIntervalMilliseconds ) cuando el dispositivo está estacionario y RSSI está por encima de -68 dBm (configurado por las superposiciones config_wifiClientRssiMonitorThresholdDbm y config_wifiClientRssiMonitorHysteresisDb ).
    • El intervalo de sondeo se reduce a 3 segundos (configurado mediante la superposición config_wifiPollRssiIntervalMilliseconds ) cuando el dispositivo no está estacionario o el RSSI está por debajo de -73 dBm (configurado mediante la superposición config_wifiClientRssiMonitorThresholdDbm ).
  2. El servicio Wi-Fi calcula una puntuación de conexión basada en el RSSI y las estadísticas de la capa de enlace.

  3. El servicio Wi-Fi pasa la puntuación al servicio de conectividad, que utiliza la puntuación para determinar si se conecta a una red Wi-Fi o a otro tipo de red disponible, como una red celular.

Pantalla apagada

El marco no inicia una evaluación en la red conectada, pero el proceso de selección de red aún podría ocurrir si otros componentes inician los escaneos (por ejemplo, servicios de ubicación). El firmware evalúa la calidad de la red y, si la calidad de la red es mala, el firmware puede deambular o (eventualmente) desasociarse de la red y activar el host.

Escaneos de conectividad

Los escaneos se realizan automáticamente en función de si el dispositivo tiene la pantalla encendida, la pantalla apagada y está conectado a Wi-Fi, o tiene la pantalla apagada y no está conectado a Wi-Fi.

Pantalla en

El marco activa decisiones de escaneo a intervalos cada vez mayores cuando se enciende la pantalla. Los intervalos de decisión de escaneo se configuran con las superposiciones config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec y config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (que son matrices de números enteros). De forma predeterminada, los escaneos se realizan utilizando intervalos de retroceso exponenciales de 20, 40, 80 y 160 segundos, y los escaneos posteriores posiblemente se realicen a intervalos de 160 segundos (estos son los valores predeterminados de las superposiciones anteriores).

Los intervalos de escaneo de retroceso exponencial se restablecen y reinician a los 20 segundos cada vez que cambia el estado de la pantalla, es decir, cuando la pantalla se enciende o apaga.

(Android 13+) Si se necesitan diferentes intervalos de escaneo en tiempo de ejecución, una aplicación con privilegios OEM puede llamar a la API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) para configurar dinámicamente el programa de escaneo de pantalla activa.

La decisión de ejecutar u omitir un análisis se basa en si la conexión de red actual es lo suficientemente buena como para omitir el análisis . Una conexión es lo suficientemente buena como para omitir el escaneo si se cumple alguno de los siguientes requisitos:

  • El dispositivo está conectado a una conexión de registro en línea (OSU).
  • Está fluyendo suficiente tráfico a través de la conexión (consulte los umbrales de tráfico a continuación).
  • El RSSI está por encima del umbral de RSSI requerido (consulte 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 usando la superposición config_wifiConnectedHighRssiScanMinimumWindowSizeSec ), y la red está validada (conectada a Internet) o el usuario -aprobado para uso sin acceso a internet.

El RSSI y los umbrales de tráfico son:

  • RSSI está por encima de -73 dBm para la banda de 2,4 GHz, configurada con la superposición config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , o -70 dBm para las bandas de 5 GHz y 6 GHz, configurada con config_wifi_framework_wifi_score_low_rssi_threshold_5GHz y config_wifiFrameworkScoreLowRssiThreshold6ghz sobre pone.
  • El tráfico (transmisión o recepción) supera los 16 paquetes por segundo (pps) configurado con la superposición config_wifiFrameworkMinPacketPerSecondActiveTraffic .

Cuando el dispositivo está conectado y la pantalla está encendida. Un anotador conectado monitorea periódicamente la calidad de Wi-Fi observando señales como RSSI y la cantidad de paquetes transferidos. Si se determina que la calidad de Wi-Fi es mala (como se especifica a continuación) y el dispositivo admite estaciones duales simultáneas, se activará una exploración. La superposición config_wifiLowConnectedScoreThresholdToTriggerScanForMbb se puede utilizar para configurar el umbral de puntuación que activa el escaneo. La superposición config_wifiLowConnectedScoreScanPeriodSeconds se puede utilizar para configurar el período de estos análisis.

Pantalla apagada y conectada a Wi-Fi

Cuando la pantalla está apagada y el dispositivo está conectado a una red Wi-Fi, el firmware (Wi-Fi SoC) realiza escaneos de roaming. El marco no realiza ningún escaneo cuando la pantalla está apagada.

Pantalla apagada y no conectada a Wi-Fi (estado desconectado)

Cuando la pantalla está apagada y el Wi-Fi está desconectado, el firmware realiza escaneos PNO en busca de SSID. El marco configura el firmware con una lista de SSID para buscar y una lista de canales en los que buscar. Si se encuentra un SSID configurado, el firmware activa el marco.

El marco también configura el intervalo en el que el firmware debe realizar escaneos PNO, utilizando el estado de movilidad del dispositivo para seleccionar diferentes intervalos de escaneo. En un estado de baja movilidad (el dispositivo está estacionario), el intervalo es de 60 segundos para los primeros tres escaneos (controlados por la superposición config_wifiStationaryPnoScanIntervalMillis ) y de 180 segundos (un multiplicador fijo de 3x de la superposición) para escaneos posteriores. En un estado de alta movilidad, el intervalo es de 20 segundos para los primeros tres escaneos (controlados por la superposición config_wifiMovingPnoScanIntervalMillis ) y de 60 segundos (un multiplicador fijo de 3x de la superposición) para escaneos posteriores.

Nominadores de la red

Los nominadores de red buscan o crean configuraciones ( WifiConfiguration ) para redes que son:

  • Disponible actualmente (según los resultados del análisis) o la red actualmente conectada (que a veces falta en los resultados del análisis irregulares).
  • Tener un RSSI mínimo. El RSSI mínimo es -80 dBm para la banda de 2,4 GHz y -77 dBm para las bandas de 5 GHz y 6 GHz, configurable mediante config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz y config_wifiFrameworkScoreEntryRssiThreshold6ghz superposiciones.
  • No bloqueado, por ejemplo, por fallos de conexión anteriores.
  • La red no indica que sea inutilizable (por ejemplo, usando MBO/OCE).
  • Se puede asociar al uso de las credenciales disponibles en el dispositivo.

Se utilizan los siguientes nominadores de red:

  • Nominador de redes guardadas: evalúa todas las redes guardadas (incluidas las suscripciones Passpoint guardadas).
  • Nominador de red sugerida: evalúa todas las redes proporcionadas por las aplicaciones que utilizan la API de sugerencias (incluidas las suscripciones de Passpoint sugeridas).
  • Nominador de red con puntuación externa: mecanismo OEM para proporcionar opciones de conectividad de red al dispositivo. Para obtener más información, consulte Proveedor de clasificación de red externa .

Goleadores candidatos

Los evaluadores de candidatos evalúan y proporcionan una puntuación para cada candidato. La puntuación de ThroughputScorer (el puntuador predeterminado) se basa en lo siguiente:

  • Se calcula una puntuación base basada en RSSI, donde RSSI tiene un límite de -73 dBm para la banda de 2,4 GHz o -70 dBm para las bandas de 5 GHz y 6 GHz (configurado con config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz y config_wifiFrameworkScoreLowRssiThreshold6ghz superposiciones owRssiThreshold6ghz).
  • Un aumento de puntuación se calcula en función de una estimación de rendimiento derivada de la tecnología, la frecuencia del canal, el ancho de banda, el RSSI, las condiciones del canal, el número máximo de transmisiones espaciales y otros parámetros. El aumento de puntuación se puede configurar mediante las superposiciones config_wifiFrameworkThroughputBonusNumerator y config_wifiFrameworkThroughputBonusDenominator , y está limitado a un valor máximo especificado mediante la superposición config_wifiFrameworkThroughputBonusLimit .
  • Una red candidata que fue seleccionada recientemente por el usuario o por una aplicación obtiene un gran aumento de puntuación durante un tiempo configurable mediante la superposición config_wifiFrameworkLastSelectionMinutes (durante ese tiempo, se garantiza que la red se seleccionará sobre redes no seleccionadas por el usuario).
  • Un candidato que coincida con la red actual obtiene un aumento de puntuación configurado mediante las superposiciones config_wifiFrameworkCurrentNetworkBonusMin y config_wifiFrameworkCurrentNetworkBonusPercent (obtiene una bonificación adicional basada en un porcentaje de su RSSI y puntuación basada en el rendimiento, hasta el mínimo configurable).
  • Una red segura obtiene una puntuación más alta que una red abierta. El bono se configura usando la superposición config_wifiFrameworkSecureNetworkBonus .
  • Una red no medida (gratuita) obtiene una puntuación más alta que una red medida (paga). El bono se configura usando la superposición config_wifiFrameworkUnmeteredNetworkBonus .
  • Una red guardada obtiene una puntuación más alta que una red sugerida mediante la API de sugerencias. El bono se configura usando la superposición config_wifiFrameworkSavedNetworkBonus .
  • Las redes que no son de confianza (que se pueden solicitar como parte de la API de sugerencias) reciben una puntuación más baja que cualquier otra red.
  • Una red que previamente se detectó que no tenía Internet obtiene una puntuación de 0 si el dispositivo está actualmente conectado a otra red que tiene acceso a Internet.

La bonificación predeterminada para guardado versus sugerencia y no medido versus medido (es decir, los valores superpuestos predeterminados) produce un orden de prioridad estricto para guardado, sugerido, medido y no medido:

  1. Redes no medidas guardadas
  2. Redes no medidas sugeridas
  3. Redes medidas guardadas
  4. Redes medidas sugeridas

Esto significa que una red no medida (gratuita) guardada siempre se selecciona antes que una red medida (paga) guardada. La bonificación de puntuación seleccionada recientemente (por usuario o aplicación) puede anular esa prioridad estricta.

El marco puede tener varios goleadores candidatos instalados, pero solo uno puede estar activo a la vez. Los otros puntuadores se pueden utilizar para métricas (para investigar algoritmos alternativos). En Android 11, el marcador predeterminado es ThroughputScorer .

Bloqueo de SSID y BSSID

El framework puede bloquear SSID y/o BSSID, es decir, no considerarlos para conexiones ni temporal ni permanentemente.

bloqueo de BSSID

El bloqueo de BSSID funciona manteniendo dos contadores de fallas, un contador de fallas continuas y un contador de rachas, por tipo de falla específico (consulte a continuación una lista de tipos de fallas). Cuando ocurre una falla:

  • Se incrementa el contador para el tipo de fallo correspondiente.
  • Si se alcanza el umbral de falla para ese tipo de falla:
    • El BSSID está bloqueado.
    • Se incrementa el contador de rachas del fallo.

La duración del bloqueo de un BSSID comienza en un valor base (configurable) (especificado por las superposiciones config_wifiBssidBlocklistMonitorBaseBlockDurationMs o config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs , dependiendo del RSSI), y aumenta exponencialmente hasta un límite superior configurable (especificado por config_wifiBssidBlocklistMonitorFailureStreakCap superposición akCap). La duración aumenta si se producen fallos continuamente en el mismo BSSID. La duración es la duración base aumentada exponencialmente por la racha de fallas, es decir, una racha de fallas de 2 implica 4 veces la duración del bloque base.

Los umbrales para el bloqueo de BSSID dependen del motivo del error y cada uno se puede personalizar mediante superposiciones:

  • AP rechaza la asociación usando MBO/OCE No se puede manejar el nuevo código STA : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • La validación de Internet a través de esta red falló: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Código de error de autenticación de contraseña incorrecta: config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • Código de error de autenticación de error EAP para redes EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • Rechazo de asociación, otros rechazos de asociación generales: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • Tiempo de espera de asociación: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Fallo de autenticación, otros fallos de autenticación generales: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • Fallo de DHCP, fallo al aprovisionar DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • Desconexión anormal, el dispositivo se ha desconectado de la red dentro de un período muy corto después de conectarse: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . La ventana de tiempo se puede configurar con config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Condiciones de eliminación de la lista de bloqueo BSSID

Un BSSID se borra de la lista de bloqueo cuando:

  • Wi-Fi está activado: todos los BSSID se eliminan de la lista de bloqueo.
  • El usuario toca una red en el selector de Wi-Fi: todos los BSSID de la red seleccionada por el usuario se eliminan de la lista de bloqueo.
  • Tiempo de espera: los BSSID se eliminan de la lista de bloqueo cuando se alcanza la duración del bloqueo.
  • Reiniciar: se borran todas las listas de bloqueo.
  • Red eliminada: todos los BSSID asociados con esta red se eliminan de la lista de bloqueo.

Condiciones de reinicio de los contadores de fallas y rachas:

  • Reiniciar: restablecer para todos los BSSID.
  • Red eliminada: Restablecer los BSSID asociados con la red.
  • Conexión L2 exitosa: restablezca 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 condicionalmente solo si la última vez que el dispositivo se conectó a este BSSID fue hace más de 3 horas)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Éxito de la validación de la red: se restablece el siguiente código de error.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Éxito en el aprovisionamiento de DHCP: se restablece el siguiente código de error.

    • REASON_DHCP_FAILURE

bloqueo de SSID

El bloqueo de SSID funciona de manera similar al bloqueo de BSSID. Un contador de fallas por tipo de falla por red se incrementa cuando ocurren fallas de conexión (de ese tipo). Cuando el recuento de fallas de un tipo particular excede un umbral, el SSID se bloquea permanente o temporalmente según una configuración. La configuración para cada tipo de falla está codificada en WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS y se resume a continuación.

* Para redes temporalmente deshabilitadas, la duración de la deshabilitación cambia dinámicamente según la cantidad de fallas de conexión consecutivas experimentadas en la red. Después de que una red no logra conectarse cinco veces consecutivas, cada falla posterior da como resultado una duración de desactivación dos veces mayor que la duración anterior. Por ejemplo, una red con cinco fallas consecutivas se desactiva 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 Límite Duración de la desactivación base* Tipo de desactivación
DISABLED_DHCP_FAILURE No se ha podido aprovisionar DHCP 5 5 minutos Temporario
DISABLED_NO_INTERNET_TEMPORARY La validación de la red falló pero el usuario afirma que desea seguir conectándose a esta red en el futuro. 1 10 minutos Temporario
DISABLED_AUTHENTICATION_NO_CREDENTIALS El solicitante carece de credenciales para conectarse a la red. 1 N / A Permanente
DISABLED_NO_INTERNET_PERMANENT Valor predeterminado para falla de validación de red 1 N / A Permanente
DISABLED_BY_WIFI_MANAGER Obsoleto y sin uso 1 N / A Permanente
DISABLED_BY_WRONG_PASSWORD La contraseña es incorrecta y esta red nunca se ha conectado correctamente 1 N / A Permanente
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Fallo de EAP donde la tarjeta SIM no está suscrita 1 N / A Permanente
DISABLED_ASSOCIATION_REJECTION Fallos de rechazo de asociación 5 5 minutos Temporario
DISABLED_AUTHENTICATION_FAILURE Otras fallas de autenticación (es decir, no una contraseña incorrecta o una falla de EAP) 5 5 minutos Temporario
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Fallo de EAP específico del proveedor (privado). 1 N / A Permanente
DISABLED_NETWORK_NOT_FOUND El solicitante no pudo encontrar una red en los resultados del escaneo que coincida con la red solicitada por el marco para la conexión (incluidas las capacidades de red). 2 5 minutos Temporario
DISABLED_CONSECUTIVE_FAILURES La red no pudo conectarse cinco o más veces consecutivas. El tipo de error para estos errores incluye, entre otros, los tipos de error enumerados en esta tabla.
5 5 minutos Temporario

Una red temporalmente deshabilitada se vuelve a habilitar cuando:

  • La duración de la desactivación ha pasado.
  • El usuario selecciona manualmente la red a la que conectarse.
  • El usuario alterna Wi-Fi.
  • El sistema se reinicia.
  • La red se deshabilitó con un RSSI muy bajo, pero luego se detecta nuevamente con un RSSI moderado o superior.

Una red permanentemente deshabilitada se vuelve a habilitar cuando:

  • El usuario selecciona manualmente la red a la que conectarse.

Los contadores de fallas de una red se restablecen cuando:

  • La red está eliminada.
  • El dispositivo se ha conectado correctamente a la red.
  • La red se ha vuelto a habilitar después de que se agotó el tiempo de deshabilitación.
  • El usuario selecciona manualmente la red a la que conectarse.
  • El sistema se reinicia.

Tarjetas de puntuación

Las tarjetas de puntuación, introducidas en Android 10, registran estadísticas en el dispositivo sobre BSSID. Las tarjetas de puntuación se conservan mediante el servicio IpMemoryStore .

Las tarjetas de puntuación no se utilizan 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 ha conectado explícitamente, por ejemplo, una red doméstica. Los usuarios pueden preferir este tipo de redes a las públicas incluso cuando el rendimiento es inferior al de una red pública porque 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 la intensidad de su 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 una red seleccionada por el usuario está disponible, 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 tuvo 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 usando la superposición config_wifiEstimateRssiErrorMarginDb .

La red de elección de conexión del usuario persiste después de reiniciar. La opción de conexión de usuario funciona para redes guardadas, redes Passpoint y redes de sugerencias.

Estaciones duales simultáneas

Esta sección describe la selección de la red Wi-Fi cuando un dispositivo admite la conexión a dos redes Wi-Fi simultáneamente.

Hacer antes de romper

Si la función de conexión antes de interrupción está habilitada, el dispositivo intenta conectarse a la nueva red antes de desconectarse de la red anterior. El flujo de creación antes de interrupción utiliza el mismo algoritmo de selección de red que la conmutación de red de interrupció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 que no se puede conmutar mediante la función "hacer antes de interrumpir", el dispositivo vuelve automáticamente al modo de interrupción antes de realizar.

Conexión simultánea restringida y a Internet.

Si la función de conexión a Internet y restringida simultánea está habilitada, el dispositivo puede conectarse a una red Wi-Fi restringida secundaria que solo está disponible para aplicaciones seleccionadas configuradas por el fabricante del dispositivo. Las instrucciones para que los fabricantes de dispositivos configuren esto se encuentran en Conexión concurrente restringida y a Internet .

Cuando el algoritmo de selección de red detecta resultados de escaneo que coinciden con la sugerencia privada/paga 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 aplicaciones normales) se produce normalmente en paralelo.

Preguntas frecuentes (FAQ)

  1. ¿Las redes seguras siempre tienen prioridad sobre las abiertas?

    No. Guardadas versus sugeridas y medidas versus no medidas son categorías principales en las que se evalúan las redes. Dentro de cada categoría, las redes seguras tienen cierta prioridad sobre las redes abiertas, pero se le da mucha mayor importancia a la calidad de la conexión.

    La razón es que la seguridad real de los datos del usuario la proporciona el cifrado de extremo a extremo (por ejemplo, TLS). Las redes seguras cifran sólo el primer tramo de la comunicación y, aun así, en el caso de redes con claves previamente compartidas, no ofrecen mucha privacidad.

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

    Las redes gratuitas guardadas (no medidas) 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 las redes guardadas son redes que el usuario agregó explícitamente al dispositivo. Eso implica una preferencia por conectarse a estas redes cuando sea posible.

    Tenga en cuenta que los usuarios pueden desactivar el comportamiento de conexión automática para redes guardadas individuales, es decir, indicar que estas redes solo se usarán manualmente y el dispositivo no las considerará automáticamente.

  3. ¿Puedo cambiar el orden de prioridad estricto o eliminarlo por completo?

    El fabricante del dispositivo puede modificar las decisiones de selección de red modificando las superposiciones de bonificación enumeradas en las secciones anteriores. Sin embargo, no se recomienda cambiar los valores predeterminados, ya que se eligieron después de una cuidadosa consideración de múltiples casos de uso.