Sospecho que este escenario es causado por la falta de conectividad a internet con respecto al punto de acceso wi-fi. En otras palabras, el dispositivo está correctamente conectado a la conexión Wi-Fi, pero la conectividad a internet podría estar caída debido a uno o algunos casos.
Este problema puede atribuirse a uno o más problemas:
-
Problema de resolución DNS con su proveedor de servicios de Internet (ISP) o enrutador.
- Podría significar que la ruta hacia sus direcciones/servidores DNS es inaccesible en el momento dado, por lo tanto, el problema es con su proveedor de servicios y no con su teléfono.
-
Configuración errónea de DHCP/DNS
- Esto normalmente resulta en que el servidor DNS no responda a los intentos de conexión. Además, las configuraciones de DCHP defectuosas pueden causar que el dispositivo tenga dificultades para obtener una dirección IP asignada por el servidor DCHP.
-
Problemas al conectar con los servidores de Google (servidor de portal cautivo)
Android intenta alcanzar un archivo llamado generate_204
en uno de los servidores de Google y si no recibe una respuesta positiva, significa que no hay conexión a internet, y se genera una notificación
También resaltado en la discusión anterior, la URL de detección difiere entre las diferentes versiones de Android.
Posibles soluciones:
-
Cambiar la dirección DNS del enrutador/módem
- Verifique la configuración DNS tanto de su enrutador como de su teléfono. Intente configurar manualmente los servidores DNS a los servidores DNS públicos de Google
8.8.8.8
y/o 8.8.4.4
.
- Reiniciar el dispositivo (con la tarjeta SIM retirada)
Puede intentar reiniciar el dispositivo, un procedimiento similar al "arranque limpio" en las PC siguiendo el procedimiento:
-
Activar/Desactivar el modo Avión.
-
Apague su teléfono, Retire su tarjeta SIM, Encienda su teléfono, Apague su teléfono, Vuelva a insertar su tarjeta SIM, Inicie su teléfono.
- Saltarse la comprobación de wi-fi durante la inicialización (creación de nuevo usuario).
Un usuario pudo saltarse este problema, creando un nuevo usuario para saltarse la comprobación de conectividad durante la inicialización. Aquí está su procedimiento:
- Reinicie el teléfono y espere hasta que el wi-fi esté conectado
- Vaya a Configuración y cree un nuevo usuario
- Continúe con la configuración de usuario hasta que vea "comprobando conexión"
- Tan pronto como vea "comprobando conexión", apague su teléfono
- Vuelva a encender su teléfono
-
Active el wi-fi, y la marca de exclamación debería desaparecer rápidamente
Opcionalmente puede eliminar el nuevo usuario que acaba de crear
Los siguientes métodos requieren acceso root:
-
Cambiar el servidor de portal cautivo
-
Instale una aplicación de terminal, alternativamente estos comandos también se pueden ejecutar a través de adb shell
.
-
Abra la aplicación de terminal y ejecute su
.
-
Ejecute settings get global captive_portal_server
. Esto mostrará el servidor de portal cautivo actual. Una respuesta "null" generalmente es la predeterminada.
-
Ejecute settings put global captive_portal_server TU_DIRECCIÓN_DEL_SERVIDOR
. Puede agregar google.com como el servidor de portal cautivo, es decir settings put global captive_portal_server google.com
.
-
Ejecute exit
una vez para salir de su, luego salga una vez más para cerrar la terminal.
-
Reinicie el dispositivo Android. No funcionará sin un reinicio.
- Desactivar el portal cautivo
- Dado que el culpable es un método
isCaptivePortal()
que accede a clients3.google.com/generate_204
para probar si la conexión se considera "utilizable". La página, como su nombre sugiere, está diseñada para siempre devolver un código de estado HTTP 204
. Basado en esto, tiene algunas opciones:
i. Eliminar por completo isCaptivePortal()
- con adb configurado, ejecute
adb shell su -c "settings put global captive_portal_detection_enabled 0"
Nota: El inconveniente es que isCaptivePortal() es útil para detectar, por ejemplo, cuando una red Wi-Fi requiere inicio de sesión. Si la solicitud a la página 204 es redirigida a una página de inicio de sesión (no un 204), el sistema entenderá y mostrará la marca de exclamación como se pretendía.
ii. Cambiar el objetivo de isCaptivePortal()
-
Otra solución es reemplazar el host de Google con un host que sea accesible dentro de la región específica. Este host también debería devolver 204
cada vez que se accede a /generate_204
.
es decir adb shell su -c "settings put global captive_portal_server {alternate_host} "
Otros métodos
Usando hosts
- Puede editar
hosts
para bloquear la URL de detección del portal cautivo, evitando así el envío de las solicitudes al servidor de portal cautivo.
Referencias y agradecimientos
0 votos
Creo que wifi con un signo de interrogación significa que el wifi está disponible y en rango, pero no está conectado. ¿Pueden otros dispositivos conectarse a este AP? Intenta reiniciar tu AP. También intenta eliminar y reconfigurar la conexión.