[SOLUCIÓN] Loop "Obtaining IP Address" en Android


Algunos dispositivos Android (sobretodo los que tienen las versiones 3 y 4 del S.O.) se ven afectados por un bug que impide que se conecten de manera correcta a una red Wireless DHCP debido a que cada que el dispositivo se conecta pide la misma IP a la red WiFi en cuestión y muchos modelos de Módem/Router detectarán esto como un posible ataque DoS botando el dispositivo durante un buen tiempo hasta que la IP sea aceptada de nuevo. Todo este problema resulta en un loop de conexión que impedirá que nos conectemos a la red en cuestión y como puede pasar en una puede pasar en varias. Hay varias posibles soluciones, podemos tratar con WiFi Fixer por ejemplo (aunque después de una conexión exitosa es posible que también entre en loop) o también podemos especificar una IP estática para el dispositivo, aunque esto sólo funcionaría en nuestras redes propias y no haría mucho la diferencia, pues el dispositivo no se conectaría en automático a la red, (solo tardaría menos que si entrara en loop por ejemplo), pero no se conectaría luego luego.

La solución REAL a este problema consiste en... (NOTA: Sólo funciona si tu device está rooteado):

1.- "Olvidar" las redes problemáticas

Con esto no me refiero a que te olvides literalmente de conectarte a estas redes jajajaja, sino a que le pidas a tu dispositivo que las olvide momentáneamente (es decir que se borren sus settings, las claves y demás). Esto se hace desde Configuración>WiFi y si dejas presionado el nombre de la red te aparecerá un cuadro de diálogo con la opción de OLVIDAR. Algunos dispositivos requerirán que te alejes del alcance de la red o redes en cuestión para olvidarlas (o bien, si puedes incluso apaga el módem/router) y en otros casos no habrá que hacer nada mas que presionar el botón mencionado... Apagamos el dispositivo y lo volvemos a prender tras hacer esto.

2.- Instalar Solid Explorer y BusyBox, Reparar

Solid Explorer es un gestor de archivos muy genial que nos permitirá navegar por los directorios de nuestro dispositivo, mientras que BusyBox es una "dependencia" necesaria para que el file manager tenga acceso a funciones Root. Con estos dos programas instalados en tu dispositivo, nos vamos a /data/misc y borramos LOS CONTENIDOS de las carpetas dhcp y wifi respectivamente, todos los archivos que en ellas haya (si hay carpetas y subcarpetas borramos los contenidos de esas carpetas también pero no las carpetas en sí) y una vez hecho esto, apagamos el dispositivo y lo volvemos a encender.

3.- Reintentar la conexión

Si todo salió bien, (con las claves a la mano) trata de conectarte a la red o redes que quieras conectarte y ya no deberías de tener problemas. Cabe destacar que este proceso también soluciona el problema de desconexión después de suspensión/apagado en varios dispositivos android, así que si a ti te pasaba en adición a lo que explico en el título del post, también se habrá solucionado.