quarta-feira, 5 de novembro de 2008

A Volta do Edimax EW7207APG - O Firmware

Os Motivos

Já fazia um mês que eu havia assinado um acesso de internet a cabo, por motivos óbvios da profissão, quando me deparei com um problema: havia substituido minha maquina desktop por um notebook e não fazia o minimo sentido ficar preso a um só cômodo da casa por conta do cable modem. A resposta mais óbvia está no wireless, e praticamente todas os notebooks hoje acompanham essa feature em seu hardware; qual o próximo passo seria? Pesquisando então soube que a minha própria prestadora de serviço a cabo oferecia alternativa com acesso sem fio...

Não sei exatamente por qual motivo o mercado, geralmente, se norteia pela falta de conhecimento técnico do populacho para formentar os preços por serviços com diferencial minúsculo: como a adição e configuração de acess point (ap) eleva o preço a patamar irreal. De forma ou de outra as pessoas acabam por acreditar que a prestadora de serviço está realmente mudando sua estrutura para adequar-se as suas necessidades... E tudo não passa de pôr um equipamento a mais depois do cable-modem. Tá, podemos argumentar o aluguel e a manutenção, ainda assim não justificaria o acréscimo de preço daquela forma.

A opção da assinatura do serviço wifi da prestadora estava fora de cogitação, ai sobrou apenas outra alternativa: comprar um AP. Não tinha realmente para onde correr, ou era isso ou era usar o notebook preso a uma mesa perto de onde o cable modem estivesse. Foi ai que encontrei naquela pilha de equipamentos encostados um velho Edimax EW7207APg(http://www.edimax.com/en/support_detail.php?pd_id=179); projeto abandonado pelo fabricante que o ultimo firmware dele saiu 1 de fevereiro de 2006, na sua versão 1.29 - ou seja para eles o projeto morreu... Ai que entra os necrotecnomantes.

Fazia alguns meses que eu havia "encostado" o equipamento, desde que o abri para estudar sua pcb e seu chipset. Outro motivo pela qual fiz isso é que gostaria de amplificar o sinal. O observado neste caso era que independente do tamanho do meio seu campo de indução não tinha perceptível ganho. O Estudo do problema vai ser explicado com mais detalhamento em um outro post.

A questão é que internamente o hardware do EW7207APg(direita) é identico ao BR6114wg(esquerda), tirando o fato que acompanha uma INPROCOMM IPN2220 mini-PCI card.

BR6114wg
BR6104Wg











EW7207APg

Edimax7207APg






EW7207APG Features / Características do equipamento:
- DHCP server, tanto para as portas ethernets quanto para a conexão wifi.
- IEEE 802.11g/b
- 2.4GHz
- Criptografia de 64/128/152 bit do tipo WEP
- Filtro por MAC


O Problema

- DHCP dependente, não existe maneiras de separar faixas de ips por interfaces. Ou seja a mesma faixa de ips serão distribruidos entre a rede sem-fio(wireless) e cabeada(ethernet - RJ45) - limitando assim uma possível segmentação da rede.
- Sinal muito fraco ( post posterior: A Volta do Edimax EW7207APG - O Sinal ).

Infelizmente, este AP aparentemente não sanaria o meu problema, por que temos o seguinte cenário:
INTERNET -> CABLE MODEM -> REDE INTERNA

Ele não possui um dhcpclient para nenhuma das suas 5 portas ethernet, e muito menos nateamento, como eu faria com que esse ap recebesse um ip do cable modem e funcionasse também como gateway da minha rede?
Pela natureza do serviço de acesso doméstico de internet eu só dispunha de 1(um) ip válido e na minha rede interna vários dispositivos que acessariam internet: notebook, palm top, playstation 2 e etc. Ou seja, eu precisava de um nateamento ou proxy; este ap da edimax não serviria?

Equipamentos de rede(conexão) como aps, routers, switchs, modem e outros (geralmente)possuem firmwares atualizáveis e fisicamente o ap tinha toda a infraestrutura de hardware necessária para funcionar como eu precisava, com nateamento e tudo mais. Será que não seria possível modificar o firmware e acrescentar essas features? Tome-lhes Google!

A Solução

Depois de ouvir falar que muitos dos APS de diversas marcas podem utilizar linux com um firmware alterado, uma espécie de imagem personalizada, eu comecei a procurar por pistas se era possível fazer isso com o Edimax, e para minha supresa há uma lista dos PCBs com suas devidas características listadas no projeto linux-mips especificamente sobre a familia de routers Edimax BR que fazem uso dos chips embados no MIPS32 SoC: ADM5120 ou RTL8181 aqui: lista.

A técnica descrita por eles exigem uma certa habilidade com eletrônica, onde seria preciso soldar os jumpers J2(Gnd, Tx, Rx) e o J3(3.3V), criando uma espécie de porta serial a qual poderiamos se comunicar diretamente com o firmware do AP - Incluindo alguns outros componentes de conexão que seriam necessários para tal. Apesar de ser algo extremamente divertido isso poderia tornar-se inviável para muitos usuários(vide Considerações Finais). Mas então o que fazer?

O AP em si em sua Webinterface possui uma opção de upgrade de firmware, então pense comigo: se EW7207APg é identico ao BR6114wg em questão de hardware mas o BR6114wg possui muito mais features úteis como nateamento e outros, por que não usar o firmware do BR6114wg no Ew7207APg? Tá ok, se fosse fácil assim o fabricante não venderia os modelos diferenciados...mas vamos lá:

Baixe o ultimo firmware para BR6114wg neste link que na data atual do post é a 2.12(o projeto foi descontinuado e muito provavelmente nunca mais seja atualizado). Descompacte-o em qualquer lugar verás um arquivo chamado: EdiEngBR6114WG_2.12.bin esse é o firmware do AP, abra-o em qualquer editor de texto(notepad, vim -> estou utilizando esse nesse exemplo) verás algo assim:


Observe que há logo no inicio do arquivo a palavra: WBIP, ela é usada para controle de versão e modelo do próprio AP quando é feito o seu upgrade, caso tentassemos enviar esse arquivo dessa forma no upgrade via sua interface web receberiamos uma mensagem de erro informando que a imagem(firmware) selecionada não é válida exatamente pelo fato dessa imagem(firmware) não pertencer a esse produto. Então basta que façamos o mesmo com o firmware oficial do produto baixando-o do site: EW-7207APg_1.29.zip e seguir o mesmos passos para obtermos a identificação do firmware: EWAS.


Então basta substituirmos o WBIP do firmware do BR6114wg(o primeiro baixado) por EWAS e salvar(cuidado para não inserir quebras de linhas) e fazer upgrade através da interface web do ap:

1. Acesse a página de administração do seu AP e anote todas as configurações suas ( IP, DNS e etc...)
2. Clique em tools
3. Em firmware upgrade.
4. Quando aparecer a tela informando que o sistema reiniciará ao fim do ugprade clique em "next".
5. Quando aparecer a tela que pergutará o method(metódo) escolha web(padrão) depois clique em "browse"(navegar)...
6. Selecione o arquivo modificado(o do BR6114wg) e clique em apply.
7. Clique em ok nas opção recorrentes concordando em atualizar o AP.
8. Pronto, aguarde enquanto o AP é atualizado e logo em seguida é reiniciado, ele pode parar de responder, significa que ele perdeu as configurações de IP, basta que você renove seu ip, da sua placa de rede e tente acessar através do ip do gateway(router).
Versão em PDF do FAQ do próprio fabricante.

Pronto, você deve estar vendo uma tela como essa:
Significa que agora você tem inumeras novas features prontas para serem usadas e que não estavam inclusas por padrão no projeto, ou seja "A CRIATURA ESTÁ VIVA! VIVA!"

Temos agora um AP com Nateamento e o escambal! basta sentar e configurar!(não esqueça das configurações de segurança - doce ilusão ;) ).

DICA: Para quem contratou uma prestadora de acesso a internet que "amarre" o acesso através do MAC da placa que está plugado no modem esse firmware vai dar uma grande mão: ao invés de ligar para prestadora esperar que ela atualize o sistema com o MAC do seu AP, basta fazer o seguinte:
1. Anote o MAC Address da placa/dispositivo de rede que já está funcionando no seu acesso, ou seja aquele que já está liberado para acessar internet pela prestadora de serviço.
2. Clique em: General Setup.
3. Depois em WAN
4. Dynamic IP
5. Observe que há dois campos para serem preenchidos: Host Name e Mac Address, basta que você preencha com o MAC da sua placa de rede sem os dois pontos( : ) e clique em "APPLY". Ou se tiver acessado a interface web do ap através da placa que está liberada o acesso(internet), clique no botão "Clone Mac Address" depois em "APPLY". Pronto o seu AP estará usando o MAC da placa liberada para se identificar no modem, basta que use a primeira porta ethernet plugada no Modem ela passa a se tornar uma espécie porta WAN.


Considerações Finais

Bom, é claro que devemos informar que ao fazer isso automáticamente você perde o direito de suporte do fabricante já que alterastes as características de fábrica do projeto.
Outra cousa que queria levantar é que essa foi uma das formas encontras para solucionar o meu problema, mas como comentado mais acima, há outra forma que é soldando o J2 e J3 para criação de uma serial; como o espirito desse blog técnico é justamente o "fuçar" dos equipamentos nada mais natural que mais a frente eu faça eu use da segunda técnica - que ao meu ver parece mais divertida.

Em outro post falaremos do Sinal de transmissão e recepção destes APs e em geral, na qual nos dará a oportunidade de nos aprofundarmos nas features do produto.