Recuperando un Linksys WRT160NL con un cable DK-U5

Cuando se esta trabajando en el tema de las redes inalámbricas libres se corre siempre el riesgo de dejar “inservible” algún router en el proceso de instalarle el firmware que necesitamos para el trabajo que queramos hacer. Es un riesgo que se corre cuando se quiere instalar software libre en los router que vamos usar en la red, ya sea que usemos DD-WRT o OpenWRT o algún firmware cocinado libre corremos el riesgo de dejar nuestro router en un estado que se conoce como “Brick” o ladrillo, es decir una caja con un led parpadeante que no sirve para nada más.

Hace unos años cuando usábamos los poderosos y todo resistentes Linksys WRT54G, cuando los dejamos en ese estado solíamos usar un cable conocido como JTAG para sacarlos de ese estado, todo el procedimiento consistía en construir un cable que se soldaba en la board del Linksys y conectaba a un PC por el puerto paralelo, para poder escribir directamente en la ROM de la maquina y sacarlo de ese estado. Una buena guia para los que todavia tienen Linksys WRT54G o algun router basado en el chip Broadcom 43xx es esta: http://www.tiaowiki.com/w/Debrick_Routers_Using_JTAG_Cable

Ahora con la evolución en las redes inalambricas y la aparición de los chip Atheros y los routers basados en este chip las formas de recuperación evolucionaron un poco, ya que el firmware de los router con estos chip no carga directamente, sino que la mayoria usan un Pre-Cargador, llamado U-BOOT que es el encargado en lanzar el firmware que esta escrito en la ROM de la maquina, esto según entiendo hace que el router tenga una especie de encendido en dos pasos, primero arranca el bootloader u-boot y luego carga el firmware que hace funcionar el router ya con las diferentes prestaciones que puede prestar.

Que el router arranque de esta forma hace que su recuperación después de una falla en la instalación de un firmware o de intentarle instalar un firmware que no esta diseñado para una maquina especifica, hace que el procedimiento para repararlo sea un poco mas sencillo,  ya que a las board de la mayoría de los router actuales que soportan instalarle algun firmware libre, traen ademas un puerto serial con los pines soldados el cual podemos usar para recuperar el router. No es que los clasicos wrt54g no tuvieran puerto serial, de hecho lo tienen solo que este no podía usarse para entrar al boot-loader de la maquina, Ahora los router nuevos con atheros permiten con una simple conexion serial acceder al bootloader usando software como MiniCom, PicoCom, CuteCom (En Linux) o Putty, HiperTerminal (En Windows), esto realmente facilita el trabajo.

En mi caso especifico el router que se me daño fue un Linksys WRT160NL, es un router bastante interesante desde mi punto de vista ya que tiene un puerto USB que se puede poner en modo host para instalar varios dispositivos y viene con 32mb de ram y 8 de rom, esto en dispositivos embebidos es bastante ademas la cantidad de ram y procesador lo hacen bastante rápido a comparación de otros equipos en el mercado (Mas info aquí: http://wiki.openwrt.org/toh/linksys/wrt160nl)

Para lograr recuperar mi router, consulte las siguientes fuentes:

http://fleshandmachines.wordpress.com/2012/05/28/wrt160nl-debrick/

http://lacachimba.wordpress.com/2011/08/09/recuperando-wrt160nl-consola-serie/

El problema que tenia con esas guías es que en mi poder no tenia el convertidor de Serial a USB que mencionan en las guías anteriores, lo que me llevo a pensar que teóricamente cualquier convertidor SERIAL2USB debería servir para el proceso, después de buscar entre mis cachibaches me encontré con un viejo cable DK-U5 que era utilizando para conectar algunos celulares nokia al pc y sacar info de ellos, al conectar este cable a un Linux, me di cuenta que efectivamente creaba un dispositivo serial ese fue el primer paso para lograrlo, ahora después de una búsqueda en la red me encontré que este cable es usado para algo similar pero para dispositivos basados en ARM9, (http://buffalo.nas-central.org/wiki/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation) no perdía nada con probar, así que procedí a cortar mi cable y seguir las instrucciones para identificar GND , TX, RX del cable para poder conectarlo al linksys, resulto que mi DK-U5 tenia la siguiente configuración:

Tierra (GND) ——–> Cable Amarillo

TX ————–> Cable Blanco

RC ————–> Cable Verde

Al tenerlo identificado bastaba con seguir alguna de las guías encontradas para recuperar el wrt160nl, como las dos me pedían que usara Windows, decidí hacerlo en Linux, así que instale para dicho procedimiento los siguientes paquetes.

PicoCom —–> Para conectarme por serial al U-Boot del Router, el comando usado es el siguiente:

picocom /dev/ttyUSB0 –baud 115200

[Se debe tener en cuenta que antes de encender el router se debe conectar al serial y lanzar el picocom, y al prender el router tiene aproximadamente 1 o 2 segundos para presionar enter y evitar que intente cargar el firmware malo y lo deje en la consola de recuperación de u-Boot. Estando ahi, basta con escribir:

upgrade code.bin

Para que el u-Boot active el servidor TFTP y quede a la espera de mandarle el firmware bueno por TFTP]

ATFTP —> Es el cliente TFTP que me gusta para este tipo de casos. la linea utilizada para enviar el firmware por tftp es:

atftp –option “mode octet” –option “timeout 60” –verbose –trace -p -l code.bin 192.168.1.1

[Se debe tener en cuenta conectar el cable de red al puerto 1 del router, y colocarse una ip entre 192.168.1.2 y 192.168.1.253, después de subir el firmware se debe volver a la consola serial y escribir el comando “go” para que el router instale y cargue el nuevo firmware]

Después de lo anterior el router fue recuperado con éxito.

Anuncios

Publicado por

kleper

Me contradigo pero no soy inconsecuente.

Un comentario sobre “Recuperando un Linksys WRT160NL con un cable DK-U5”

  1. Hola!! tu blog está genial, me encantaria afiliarlo en mis sitios webs de turismo y por mi parte te pediría un enlace hacia mis web y asi beneficiarnos ambos con mas visitas.

    me respondes a munekitacate@gmail.com

    Felices fiestas!! besoss!!
    Emilia

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s