Mostrando las entradas con la etiqueta tftpboot u-boot erase cp.b cargar imágen openwrt por tftp router openwrt bucle no carga firmware. Mostrar todas las entradas
Mostrando las entradas con la etiqueta tftpboot u-boot erase cp.b cargar imágen openwrt por tftp router openwrt bucle no carga firmware. Mostrar todas las entradas

miércoles, octubre 20, 2010

Cómo recuperar mi router que está inutilizado (con OpenWRT)?

Sucede a veces que la imágen que subimos al router está mala, o simplemente cometemos un error y queda la cagada con el router, este lo reiniciamos, y por más que reiniciemos, este queda con los LEDS, PWR estático, y de LAN 1 al 4 parpadeando cada ciertos segundos, lo más probable es que la única forma de revivirlo sea cargar el sistema operativo o firmware por el cable Serial, para esto tendrán que desarmar el router, y luego, conectar el cable serial a él, ejecutar en Windows, Teraterm, en linux puede ser gtkterm o muchos otros clientes, pero la idea es la siguiente, actualmente tu router se reinicia porque no puede cargar el sistema operativo:

.
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7114
eth0 up
eth0
Autobooting in 1 seconds


y eso produce un bucle, lo que se debe hacer es una vez con Teraterm, GTKTerm o alternativo, el cable conectado, debes configurar el cliente a "115200 8N1", y luego conectar el cliente serial al router, abrir el puerto COM1 lo más probable, verán el mensaje anterior del reinicio automático... escriban TPL cuando aparece "Autobooting in 1 seconds", en la terminal de u-boot, o "prompt".

1.- Hagan el proceso de limpiar la memoria flash:

erase 0xbf020000 +7c0000

2.- Descarguemos la imágen por TFTP, ponemos la dirección y el nombre del archivo a descargar, por defecto la dirección IP de donde intenta descargar es 192.168.0.5, por lo que deben conectar por cable Ethernet el computador al Router y poner por dirección IP su computador a 192.168.0.5, para que tftp descargue la imágen code.bin desde su PC.

tftpboot 0x81000000 code.bin

3.- Copiemos la imágen en el sector de memoria

cp.b 0x81000000 0xbf020000 0x7c0000

4.- Bootiemos el sector donde acabamos de dejar la imágen, si en este paso no funciona, y sigues obteniendo el error de aubooting, deberás usar otro método para cargar la imágen, yo probé con Kermit, no me funcionó, cambié a TFTP y funcionó muchísimo más rápido y de hecho, funcionó!.

bootm 0xbf020000

Nota: el primer paso, donde dice +7c0000 puede variar dependiendo del tamaño de la imágen, para calcular esto, deben tomar el tamaño de la imágen en bytes, y luego transformar ese valor a HEXadecimal, de esa forma sabrán el tamaño exacto.


Cómo levantar un servidor de TFTP?

Este paso a mí, me funcionó de maravillas, es un paso muy corto, lo hice en Fedora 12, espero que tengan el programa DNSMASQ:

dnsmasq --enable-tftp --tftp-root=/code.bindirectory


Cómo hacer un cable Serial, DB9F a RS232?

La imágen lo explica todo, compren la utilería, materiales y a trabajar, o pueden comprar el cable hecho, para saber como se conectan los pines al router, deben ver la descripción que tienen para cada router, estos pines varían: TX, RX, GND, 3,3V

4 resistencias 1,5K 3,9K 4,7K 22K todas de 1/4Watt
2 transistores BC337
1 terminal DB9F






Fuentes:
http://wiki.openwrt.org/doc/hardware/serial.cable?s[]=serial&s[]=console
https://forum.openwrt.org/viewtopic.php?pid=119338#p119338
http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd#oem.installation.using.the.tftp.and.rs232.method