12 votos

El wifi de Android dice "Conectado, sin internet" pero internet funciona bien

Esto es algo extraño que empezó a suceder con la red wifi de mi trabajo. Los dispositivos Android conectados a la red dicen "Conectado, sin internet" sin embargo el internet funciona perfectamente. Esto ha sucedido a los dispositivos con Android 6 y 7. Esta es una pequeña empresa en los Estados Unidos y no hay ningún proxy o portal cautivo que esté bloqueando cualquier DNS. Los portátiles con Windows y Ubuntu se conectan y dicen que todo está bien, parece ser algo específico de Android.

¿Alguien sabe cómo determina exactamente Android si una red tiene acceso a Internet? Parece que la solución acabará en la configuración del router, pero sería útil saber qué puede hacer que Android se comporte así. ¿Qué pasos se podrían dar para solucionar este problema?

1 votos

Sería útil saber qué dispositivos estás usando que dan este problema. Si los dispositivos son todos de un fabricante y funciona bien cuando te conectas con un dispositivo de otro fabricante, eso reduciría las cosas. Pero si ocurre con dispositivos de varios fabricantes, supongo que tiene que ver con la configuración del router, pero es un problema muy extraño.

0 votos

A veces veo esto en el trabajo; tiendo a ignorarlo. Utilizamos Umbrella Solutions para capturar el tráfico web ilícito.

1 votos

Otro punto para reducirlo: ¿Funcionan bien todos tus servicios de Google? ¿Has intentado, por ejemplo, utilizar Playstore, GMail, etc.? No estoy 100% seguro, pero AFAIR la detección utiliza algún IP de Google y ve si eso puede ser alcanzado.

5voto

xavier_fakerat Puntos 1

Tal vez esto parece ser un problema de conexión a los servidores de Google (servidor de portal cautivo) no el inicio de sesión del portal cautivo configurado por el navegador a la que parece referirse en su post.

(En algún momento desde Lollipop (5.1+)) Cuando se conecta a las redes (especialmente a las redes Wi-Fi), el sistema Android comprueba si hay una conexión a Internet activa realizando comprobaciones en ciertas URLs predefinidas pertenecientes a los servidores de Google. Si falla, aparecerá un signo de exclamación en el icono de la señal Wi-Fi y se mostrará una notificación de "Conectado, sin Internet". (aunque se pueda acceder a otros sitios web e Internet esté en funcionamiento) por lo que puede ser un problema temporal con la conectividad a esa URL específica:

Android intenta llegar a un archivo llamado generate_204 en uno de los servidores de Google y si no hay respuesta positiva, significa que no hay no hay conexión a internet, y también se genera una notificación, la url de detección difiere entre diferentes versiones de Android.

  • clients3.google.com/generate_204 check (kitkat)

  • connectivitycheck.gstatic.com/generate_204 (marshmallow)

Parece que google ha cambiado el portal cautivo en las versiones recientes de Android, por ejemplo, oreo.

parece que google ahora comprueba tanto un generate_204 en ambos connectivitycheck.gstatic.com y un gen_204 en www.google.com .

De nuevo es un problema por sí mismo, especialmente en regiones donde el acceso a los servicios de Google está bloqueado. Este responder Sin embargo, explica bien cómo evitarlo y que le eches un vistazo.

Se ha extraído un trozo de información de este discusión.

En base a esto tienes algunas opciones para evitarlo:

  1. Cambiar el servidor del portal cautivo

    • Instalar una aplicación de terminal alternativamente estos comandos también se pueden ejecutar a través de la adb shell .

    • Abra la aplicación de terminal y ejecute su .

    • Ejecutar settings get global captive_portal_server . Esto mostrará el servidor actual del portal cautivo. Una respuesta "nula" suele ser la predeterminada.

    • Ejecutar settings put global captive_portal_server YOUR_SERVER_ADDRESS . Puedes añadir google.com como servidor del portal cautivo, i.e settings put global captive_portal_server google.com .

    • Ejecutar exit una vez para salir de su, y luego salir una vez más para cerrar la terminal.

    • Reinicie el dispositivo Android. No funcionará sin un reinicio.


  1. Desactivación del portal cautivo
  • Como el culpable es un método isCaptivePortal() que acceden a clients3.google.com/generate_204 para comprobar si una conexión se considera "utilizable". La página, como su nombre indica, está diseñada para devolver siempre a HTTP 204 código de situación. En base a esto tienes un par de opciones:

i. Matar isCaptivePortal() completamente

  • con adb establecer, ejecutar adb shell su -c "settings put global captive_portal_detection_enabled 0" (Android 7.1+) o utilizando adb shell su -c "settings put global captive_portal_mode 0"

Nota: El lado negativo es que isCaptivePortal() es realmente útil para detectar, por ejemplo, cuando una red WiFi requiere un inicio de sesión. Si la solicitud a la página 204 es redirigida a una página de inicio de sesión (no a una 204), el sistema entenderá y mostrará el signo de exclamación como se pretende.

ii. Cambiar el objetivo de isCaptivePortal()

  • otra solución es sustituir el host de Google por un host accesible en la región específica. Este host también debería devolver 204 cada vez /generate_204 se accede.

    es decir adb shell su -c "settings put global captive_portal_server {alternate_host} "


  1. Uso de anfitriones

    • Puedes editar hosts para bloquear la url de detección del portal cautivo evitando así el envío de las peticiones al servidor del portal cautivo.

¿Por qué Linux y Windows se conectan sin problemas?

Como has mencionado en tu post que esto parece ser específico de Android, de hecho la discusión anterior lo pone de manifiesto. La razón es que para esos dispositivos (Linux y Windows) el mecanismo de conexión es completamente diferente.

Estos dispositivos no necesitarán conectarse a los servidores de Google para detectar primero si hay un internet activo.

1 votos

Usando el comando adb shell su -c "settings put global captive_portal_mode 0" me funcionó sin reiniciar (Android 8.1, MIUI 10). Sólo como una pequeña nota lateral para los demás.

0voto

stella Puntos 1

Comprueba la hora y la fecha en tu dispositivo Android. En la era https es muy importante tener la fecha y la hora sincronizadas con la realidad. Hoy he tenido este problema con mi televisor y tenía unos cuantos años de retraso :)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X