39 votos

¿Cómo deshabilitar la detección de portal cautivo? ¿Cómo quitar el signo de exclamación en el icono de Wi-Fi o la señal en Lollipop?

Cuando está conectado a Internet, el sistema verifica si está en un jardín vallado, que simplemente intenta conectarse a Google. Si falla, en Android 5, habrá un signo de exclamación en el ícono de WiFi o el ícono de señal.

En algunas situaciones, esto es molesto. Por ejemplo, en China, Google está bloqueado, el signo de exclamación siempre estará allí, lo cual es insignificante.

¿Cómo puedo deshabilitar esta verificación y hacer que el sistema asuma que el WiFi/móvil conectado está conectado a Internet?

0 votos

0 votos

0 votos

35voto

TheoYou Puntos 166

Es simple. En la terminal (requiere acceso de root), o en adb shell (no requiere acceso de root), emite el siguiente comando:

settings put global captive_portal_detection_enabled 0

y reinicia. Debería estar desactivado. El estado actual también se puede verificar mediante el comando:

settings get global captive_portal_detection_enabled

Una respuesta de "null" indica que la clave global no ha sido establecida y Android volverá al valor predeterminado de estar activado y realizar la detección. Si la detección está desactivada, se recibirá la respuesta "0".

Más información: Android: Cómo quitar la detección de "portal cautivo" en Android 4.2.2 y 4.3

También funciona en 5.

0 votos

¡Genial! Noté que el enlace describe cómo hacerlo en 4.2.2 y 4.3. ¿Alguien ha verificado que esto también funciona en 5.0.x?

0 votos

@SimonW sí, funciona. Por eso etiqueté la pregunta con lollipop. Estoy usando CyanogenMod 12, sin embargo.

1 votos

Comentario por Gery, faltando la reputación para ello: Para aquellos que usan la terminal por primera vez, no olviden poner el comando "su" antes de hacer cualquier cosa, para permitir permisos de superusuario. (Me tomó un tiempo darme cuenta por qué estaba recibiendo "permiso denegado") Después de eso, funcionó a la perfección.

14voto

Tal Puntos 358

En la Vista previa para desarrolladores de Android M para Shamu (Nexus 6), y posiblemente en otras versiones de este sistema operativo, el captive_portal_server global es utilizado por el sistema operativo independientemente del estado de captive_portal_detection_enabled para determinar la salud de una red WiFi.

Para redes WiFi, no solo dibujará un signo de exclamación sobre el ícono de la señal, sino que también pondrá en lista negra ese SSID para que no se reconecte automáticamente si no logra hacer curl con la URL especificada en el captive_portal_server global a través de ese SSID. La reconexión manual está permitida pero solo permanecerá conectada si tienes captive_portal_detection_enabled y eliges "Usar esta red tal cual" manualmente, cada vez que te conectes a esa red WiFi. Esta anulación es temporal.

Para redes de proveedores móviles, el captive_portal_server solo se utiliza para dibujar un signo de exclamación sobre el ícono de la señal pero permanecerá conectado, y el tráfico fluirá si la conexión es funcional.

En tu dispositivo con root, la solución es volver a habilitar captive_portal_detection_enabled si lo has desactivado, conectarte a esa red WiFi, seleccionar "Usar esta red tal cual" en el menú desplegable en la ventana emergente del portal cautivo, desactivar los datos de tu red móvil para centrarte en determinar un sitio web que se pueda recuperar a través de tu red WiFi ingresando a tu portal cautivo y luego usar un navegador para encontrar uno que funcione. Después de eso, puedes desactivar captive_portal_detection_enabled para evitar la molesta ventana emergente.

Para volver a habilitar tu captive_portal_detection, si previamente lo desactivaste, emite el siguiente comando:

settings put global captive_portal_detection_enabled 1

Desactiva tu Red Móvil (en Configuración - Uso de datos - Datos móviles - Apagado), para obligar al teléfono a usar la red WiFi para todo el tráfico, temporalmente. Esto no será necesario una vez que tengas todas tus configuraciones como deben ser.

Android M parece requerir un sitio web que cargue correctamente y no devuelva activamente un 204 (sin contenido).

Un par de opciones incluyen pero no se limitan a

androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
el enrutador de red
localhost
127.0.0.1 (si tienes un servidor HTTP simple incorporado)
y la lista continúa...

Después de encontrar uno que funcione para tu Red WiFi (a menudo requiere más imaginación y intentos detrás de los proxies de la puerta de enlace web corporativa que no les gusta el tráfico HTTPS antes de la autenticación), puedes guardar el servidor.

Guarda el servidor ejecutando esto en tu aplicación de terminal con root habilitado, reemplazando la URL de ejemplo con la que esperas que funcione:

settings put global captive_portal_server androidcheck.kiritostudio.com

Reinicia tu dispositivo. Pruébalo. Una vez estés satisfecho con el comportamiento de los signos de exclamación en los iconos, el último paso es desactivar la ventana emergente del portal cautivo, que es una de las creaciones más desafortunadas de esta década.

Emite el siguiente comando:

settings put global captive_portal_detection_enabled 0

Si te encuentras en un país diferente o en una situación de WiFi donde surjan problemas, lamentablemente tendrás que repetir lo anterior desde el principio, volviendo a habilitar captive_portal_detection_enabled, reiniciando, encontrando el servidor correcto y luego deshabilitando la detección del portal posteriormente.

0 votos

¿Te referías a HTTP 204 (sin contenido) o HTTP 404 (no encontrado)? Actualmente cambié a "sin contenido" basado en otra respuesta

0 votos

Esto resolvió el problema de "conectado, sin internet" en Nougat. Ejecutando CM14.1 (7.1.2) recién instalado en Nexus.

1voto

Aaron Hoffman Puntos 2696

Puedes configurar la dirección de tu servidor de portal cautivo en él.

settings put global captive_portal_server g.cn

Luego, reinicia tu teléfono.

PD: Antes de eso, puedes validar que el servidor esté disponible.

http://g.cn/generate_204

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