Se puede dar un problema con este firmware en el que el password no es recordado y por tanto no se tenga acceso al interfaz web o telnet de gestión.
Los routers o puntos de acceso compatibles con DD-WRT suelen tener una zona de memoria para el firmware y otra más pequeña (nvram) para almacenar las variables o datos de uso habitual. En ésta se almacena el password.
Para borrarla, antes de dar por perdido el aparato, y recuperar su funcionalidad (debrick) hay varios métodos, listados de menos a más agresivos:
– Reseteo 30/30/30: Consiste en tener arrancando el aparato, presionar el botón de reset de la parte posterior con un bolígrafo o similar durante 30 segundos, sin soltarlo desenchufar la corriente, esperar otros 30 segundos y sin soltarlo igualmente enchufarla de nuevo, esperando otros 30 segundos. Este método resetea la configuración, por lo que es necesario configurarlo desde cero nuevamente (en caso de ser un router, es aconsejable entonces tener a mano los datos de la conexión adsl antes de hacerlo). Entrar en http://192.168.1.1 . Si pide alguna contraseña, y el reseteo ha funcionado correctamente, utilizar como usuario «root» y password «admin«.
– Reseteo 90/90/90: igual que método 30/30/30 pero aplicando 90 segundos para cada intervalo.
– tftp DD-WRT: cargar de nuevo el firmware de DD-WRT, de cara a eliminar cualquier inconsistencia o fallo en el SO. Para ello se puede hacer sencillamente por tftp:
1.- Realizar un hard reset del router (reset 30/30/30).
2.- Reiniciarlo desenchufándole la corriente unos segundos.
3.- Establecer tu equipo con una IP del mismo rango que tiene ahora el DD-WRT (ej: 192.168.1.100, máscara 255.255.255.0, los demás valores no son necesarios especificarlos).
4.- Abrir una consola y mantener un ping al router/punto de acceso:
#ping 192.168.1.1
en Linux el ping es contínuo, no se interrumpe, en otros sistemas operativos suele ser necesario incorporar el parámetro -t
5.- Preparar en otra consola el siguiente comando pero NO ejecutarlo:
atftp --option "mode octet" --verbose -p -l dd-wrt.v24-11296_NEWD_micro.bin 192.168.1.1
donde evidentemente dd-wrt.v24-11296_NEWD_micro.bin es el fichero descargado de dd-wrt.com correspondiente, en este caso, al Linksys WAP54G.
6.- En este paso se flasheará el router. Para ello es necesario reiniciar el router desconectándolo de la corriente. En la ventana que está abierta con el ping se verá una secuencia similar a ésta:
From 192.168.7.19 icmp_seq=171 Destination Host Unreachable
From 192.168.7.19 icmp_seq=172 Destination Host Unreachable
From 192.168.7.19 icmp_seq=175 Destination Host Unreachable
64 bytes from 192.168.7.5: icmp_seq=177 ttl=100 time=1012 ms
64 bytes from 192.168.7.5: icmp_seq=179 ttl=100 time=1.71 ms
64 bytes from 192.168.7.5: icmp_seq=180 ttl=100 time=2.23 ms
64 bytes from 192.168.7.5: icmp_seq=193 ttl=64 time=1.29 ms
64 bytes from 192.168.7.5: icmp_seq=194 ttl=64 time=0.951 ms
64 bytes from 192.168.7.5: icmp_seq=195 ttl=64 time=0.811 ms
Las 3 primeras líneas son resultado de enviar ping al router estando éste apagado o reiniciándose. Las 3 siguientes, que llevan el TTL=100 son resultado de arrancar el router en modo debug, aceptando por tanto cualquier actualización de firmware. Las 3 últimas (TTL=64) ya indican que ese modo ya ha sido deshabilitado y por tanto comienza el arranque normal. Por tanto el objetivo es ejecutar la orden tftp cuando el punto de acceso esté respondiendo pings con TTL=100.
Para ello, reiniciarlo de nuevo y en cuanto se obtegan el primer echo de ping con TTL=100, ejecutar el comando dado de tftp. Éste indicará que el fichero se ha subido correctamente. El router estará grabando el nuevo firmware, por lo que es necesario esperar 5 minutos o hasta que devuelva ping con TTL=64.
6.- Reiniciar el router desenchufándole la corriente.
7.- Cuando la ventana de ping reciba respuesta, entrar en http://192.168.1.1 con el navegador y configurar normalmente el WAP54G.
– tftp OpenWRT: una opción más para intentar machacar el fichero de nvram es instalar una versión distinta de firmware que ocupe igual o más. Por ejemplo OpenWRT o un firmware compatible con el router concreto. El procedimiento es el descrito anteriormente. Después se instala de nuevo DD-WRT y se puede probar si el password ya está reseteado, ya que suelen compartir las mismas variables en la nvram.
– OpenWRT + erase nvram por web: Si el método anterior no funciona, en el apartado de la web de configuración de OpenWRT «actualización de firmware» existe la opción de actualizarlo (con otro OpenWRT o con otro firmware, DD-WRT por ejemplo) marcando la opción «erase nvram por web», lo cual de realizarse con éxito solucionará el problema.
– OpenWRT + erase nvram por telnet: Con OpenWRT instalado y configurado el password a través de la web de administración, se entrará por Telnet (telnet 192.168.1.1 23) y se ejecutará:
#nvram set http_passwd = "admin"
#nvram commit
reiniciar y probar instalando DD-WRT. Si no, volver a la versión de OpenWRT, que es la que permite el acceso sin problema de password por telnet a la nvram, y borrarla:
#nvram erase
#vnram commit
Reiniciar y reinstalar DD-WRT por web o tftp.
– tftp firmware Linksys: Un método definitivo y 100% eficaz es la reinstalación del firmware de fábrica (descargable a través de la web de la marca del router) por tftp, reseteo posterior, entrar en la interfaz web (http://192.168.1.245, 255.255.255.0, usuario en blanco y password «admin» en caso del Linksys WAP54G) y desde allí ejecutar un «Reset defaults settings». Tras ello se puede instalar DD-WRT desde la misma web de administración.
– cable JTAG: Como última opción cabe decir el montaje de un cable de conexión que resetee fisicamente la memoria del router. Se puede encontrar más información aquí: http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash#Recovery_by_JTAG_cable
Fuentes principales:
http://airfart.blogspot.com/2008/04/how-to-revive-bricked-wap54g-ver31.html
http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash
http://www.dd-wrt.com/wiki/index.php/Espanol
Ejecute estas instrucciones bajo su propia responsabilidad.