lunes, 14 de diciembre de 2009

Recuperar router Linksys WRT54GL v1.1 tras unha mala actualización do firmware

Aínda que pareza mentira é posible recuperarlle a vida a un router que foi mal flasheado, aínda que ben é certo que non sempre é así.

Neste artigo, vaise a comentar un caso concreto, que pode ser semellante ou non ó de outros usuarios. O que se pretendía era actualizar o firmware dun router inalámbrico Linksys WRT54GL v1.1 con software desenvolvido por DD-WRT. Trátase dun pequeno linux que se integra no router para poder configuralo ó noso antollo. Aqueles que saiban moito de redes saberán sacarlle moito partido, xa que trae configuracións moi avanzadas. Ademais segundo a versión de DD-WRT que se lle inserte poderíase incluso acceder a el mediante SSH e xestionalo mediante comandos de Linux o cal nos da unha gran flexibilidade.

Volvendo ó tema que nos ocupaba, para flashear o router co DD-WRT seguíronse indicacións da páxina oficial deste firmware. O router viña co firmware de Fon (iniciativa a nivel mundial para o compartimento das nosas conexións ADSL por WIFI cos usuarios da comunidade Fon), e o primeiro que aconsellan facer é un "Hard Reset" ou restaurar a configuración do router ós seus valores por defecto. Neste caso fíxose un Hard Reset que consiste en premer o botón Reset durante 30 segundos co router encendido, logo sen soltar o Reset desconectamos o cable de alimentación durante outros 30, e a continuación volveríamos a conectalo cable de alimentación outros 30 segundos aguantando o Reset. Soa redundante, pero é así. O que pasou aquí foi que se borrou a configuración completa da NVRAM. Co cal o router quedou inutilizable ó non ter configuración. Se ledes esto antes de iniciar calquer manobra, xa sabedes o que debedes facer; restaurar a configuración ós seus valores por defecto e empregar a utilidade de Actualizar Firmware.

Que debemos facer a continuación no caso de ter inutilizado o router?

Pois o seguinte paso é observar o funcionamento das luces do aparato, asignando unha dirección IP fixa do tipo 192.168.1.10 con máscara 255.255.255.0 e Porta de Enlace 192.168.1.1 e a continuación lanzamos un ping continuo á IP do router.

ping 192.168.1.1 -t

O que pasou aquí foi que a luz de Power parpadeaba durante 5 segundos, logo quedaba encendida xunto ca luz DMZ durante uns 10, e así continuamente. Respondía a ping, pero con unha gran perda de paquetes. Nesta situación o router é totalmente recuperable. Ante outros comportamentos, aconséllase seguir as indicacións desta páxina (en inglés): http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash

Para recuperarlle a vida ó router segundo o comentado, debemos asegurarnos de ter o antivirus e o firewall desactivados. Mantemos a configuración da tarxeta de rede tal e como se mencionou anteriormente e a continuación descargamos o seguinte firmware: Mini-Build required for inital flashing via TFTP: dd-wrt.v24_mini_wrt54g.bin (A descarga faríamola dende a páxina oficial de DD-WRT www.dd-wrt.com, facendo click no enlace Router Database e indicando o modelo do noso router Linksys (wrt54gl)). Este firmware non pode ser maior de 3 MB.

Unha vez o temos descargado debemos intentar cargarllo por TFTP. En Windows Vista teríamos que ir a Panel de Control->Programas e funcionalidades->Activar ou Desactivar funcionalidade de Windows e habilitamos o check de TFTP client para poder facer uso deste protocolo.

Unha vez instalado o TFTP, temos que coller o firmware que descargamos antes e copiámolo por exemplo ó escritorio e renomeámolo como code.bin. A continuación abrimos unha consola de comandos (cmd) e situámonos no directorio onde almacenamos o arquivo code.bin:

cd \
cd Desktop

Primeiro é aconsellable facer un arp -s para forzar a vinculación da dirección IP do router ca súa MAC correspondente, xa que a comunicación entre o PC e o mesmo é moi débil, debido tamén a que a luz de power está parpadeando cada pouco tempo, o cal indica constantes reinicios.

A MAC do interface de rede do router debe aparecer impreso na parte de abaixo do mesmo. Así que introducimos o seguinte comando:

arp -s 192.168.1.1 aa-bb-cc-dd-ee-ff

Por último transmitimos o firmware á NVRAM do router a través de TFTP co seguinte comando:

tftp -i 192.168.1.1 PUT code.bin

Se nos da erro, volveremos a intenlo varias veces ata obter unha resposta positiva; senón haberá que seguir indagando.

Moita sorte, a todos aqueles que se atopen nesta situación.

No hay comentarios: