welcome: please sign in
location: unbrick-e2000

Des-brickando um roteador Linksys E2000

Como brickar um E2000

Neste fim de semana resolvi rearrumar todo o cabeamento de rede daqui de casa e, de lambuja, também fui atualizar o firmware (DD-WRT) do meu roteador Linksys E2000.

Esse roteador possui algumas diferenças em relação aos baseados no chipset da broadcom normais (o tamanho da NVRAM é maior) e precisa de um build específico para colocar o DD-WRT pela primera vez no roteador. Mesmo sabendo disso, achei que tinha lido no fórum do DD-WRT que após colocar o firmware no roteador, poderia atualizar com o firmware padrão. Então lá fui eu atualizar o roteador com o firmware normal.

Segui o procedimento padrão para atualização do firmware. Reset 30-30-30 (hard reset) para ficar nas configurações padrão, atualizei o firmware e fiz mais um reset 30-30-30. Logo após isso, tentei entrar na página do roteador (192.168.1.1) e nada. Lembrei que o meu computador estava com IP fixo, então coloquei para DHCP. Nada. Fixei o IP para ficar no mesmo range padrão do roteador. Nada. Pinguei o roteador. Sem resposta. Mais um hard reset. Ainda nada. Nessa hora xinguei. Brickei o roteador...

Resolvendo o problema

Hardware

A wiki do DD-WRT é bem decente, mas tem muita informação espalhada. Quase tudo o que é necessário está nestes dois links:

Como não tem nenhuma informação do pinout do E2000 nas páginas acima, usei um multímetro pra descobrir onde era o 3,3 V e o GND. Com mais alguma procura no fórum do DD-WRT, descobri que o E2000 tem pads para porta serial dentro do conector RJ-45 de entrada da internet. Nesses pads estava escrito o que cada um era e pude confirmar as funções do conector em baixo do PCB:

roteador_serial.jpg

Para proteger o roteador qualquer coisa que eu ligar nele, fiz um adaptador com resistores de 820 ohms (eu tinha bastante deles!) e o soldei nos pads do roteador:

roteador_adaptador.jpg

Agora, com a porta serial já conectada, eu tinha que inventar um jeito de ligar ela no computador. O fato de os sinais serem de 3,3 V complicava um pouco. Recentemente fiz um projeto que usava um conversor usb-serial com o chip FT232R que, dependendo das ligações, aceita sinais a esta tensão. Então lá fui eu modificar a placa com estiletes e fios extras. Basicamente, é necessário conectar o pino VCCIO do FT232 em 3,3 V e ele já começa a se comunicar nesta tensão. Ficou assim:

ftdi.jpg

Então liguei o TX do roteador no RX do FT232, o RX do roteador no TX do FT232 e os grounds das duas placas.

roteador_ftdi.jpg

Software

Como é o roteador que distribui IPs pela rede (DHCP) e ele está bricado, o primeiro passo é colocar IP fixo no computador. Os endereços válidos são 192.168.1.XXX, sendo que XXX é um número entre 2 e 254. Também é necessário colocar a máscara de rede como 255.255.255.0. O gateway pode ser deixado em branco.

Para a comunicação serial, é necessário um programa terminal. Como uso o Windows 7 64 bits, e ele não possui mais o Hyperterminal, usei o Putty. Basta configurar a COM port, o baud rate para 115200, 8 bits, 1 stop bit, sem paridade e sem handshake (Xon e Xoff funciona também).

Outro software necessário para se comunicar com o roteador é o TFTP. O Windows 7 tem um cliente, mas ele vem desabilitado por padrão. Para habilitá-lo, é necessário ir no Control Panel/Programs (meu Win é em inglês), clicar no "Turn Windows features on or off". Na janela que aparecer, marque o "TFTP Client".

Win7 TFTP.png

unbrick-e2000 (last edited 2011-02-21 00:17:35 by fmaimon)