Discuta este tópico no fórum

Se este conteúdo te ajudou, deixe um presente!

terça-feira, 20 de novembro de 2012

OpenWRT: Problemas com o TP-Link TL-MR3420

Mais de duas pessoas entraram em contato comigo para tentar resolver problemas com o roteador TL-MR3420 da TP-Link. O que sempre recomendo é entrar no modo de recuperação. Para quem utiliza firmwares do tipo squashfs, este recurso é uma bênção. Porém, por alguma razão antes desconhecida por mim, nenhum deles conseguiu ativar o modo de recuperação. Uma vez, culpe o usuário. Duas, o desenvolvedor.

Investigando um pouco melhor, entrei no artigo da wiki do OpenWRT sobre este roteador. E encontrei este aviso logo na abertura:
The failsafe function is not working at launch time, serial is also unfriendly: Stick to trunk. More...
Isto referenciando a versão backfire 10.03.1, a última estável e que a maioria usa. Bem, isto quer dizer que quem possui qualquer versão atualmente estável do OpenWRT neste roteador não poderá utilizar o modo de recuperação.

A correção ocorreu neste patch, mas isto foi tarde demais para a versão lançada. Basicamente, o problema ocorreu com o nome dos botões "Reset" e "QSS". Por não achar os botões no processo de iniciação do roteador, eles não podem ser utilizados para acionar o modo de recuperação.
Sempre é importante ler a documentação do seu modelo na wiki do OpenWRT. Cada modelo possui suas peculiaridades e é importante conhecer os pontos fracos e problemas de compatibilidade com o seu roteador antes de instalar o OpenWRT pela primeira vez.
Bem, o que eu posso fazer, então? Depende da sua situação.

Se ainda está pensando em usar o OpenWRT para este roteador, sugiro que espere o lançamento da versão "12.09", que já está em beta2. Logo teremos uma versão estável.

Se estiver já com o OpenWRT funcionando e em uma versão 10.03.1 ou inferior, procure não alterar configurações críticas como firewall, interfaces de rede, VLAN, até o lançamento e atualização da nova versão.

Para os mais corajoso (ou malucos como eu), você também pode ajudar a melhorar a próxima versão do OpenWRT. Instale agora mesmo a versão beta2 e ajude a encontrar os bugs. Ao menos o "modo de recuperação" deve funcionar sem problemas.

Caso você já esteja na situação onde o roteador não está funcionando por algum problema de configuração, resta apenas a alternativa da recuperação pela serial. Com a serial, você poderá interagir com o seu roteador assim como já fazia com uma conexão SSH. Isto é suficiente para recuperar casos pontuais como problemas na configuração de rede ou firewall. Se ainda funciona os comando básicos, você pode também solicitar que todas as configurações sejam apagadas.

Caso o problema seja mais grave, como ter apagado metade dos arquivos, também é possível acionar o "modo de recuperação" por comandos na serial. É o mesmo mecanismo que funcionaria com os botões se estes estivesse configurados corretamente. As mensagens durante o boot vistas pela serial indicarão o momento para se manisfestar e ativar o modo de recuperação.

Os modelos TL-MR3420 com problema já devem estar funcionando com os procedimentos anteriores. Porém, com a serial funcionado, vale a pena citar mais uma funcionalidade. Em casos mais extremos, é possível gravar uma nova imagem interagindo diretamente com o gerenciador de boot (UBoot). Enviando comandos pela serial, podemos solicitar ao roteador que carregue uma nova imagem pela rede (via TFTP) e grave na memória. Mesmo se não possuir rede, é possível enviar a firmware pela serial pelo protocolo kermit (já fiz e realmente funciona). Neste caso, o processo é mais demorado do que o TFTP mas pode ser necessário se seu computador não possui uma interface Ethernet cabeada.

Alguns roteadores, não os modelos da TP-Link, já estão configurados para mais uma forma de recuperação mais "simples", em especial para a situação de firmwares defeituosos gravados. "simples" por não precisar de uma serial mas as vezes mais complicada por envolver tempos definidos e configurações de rede rígidas. Nestes roteadores, o gerenciador de boot aguarda o envio da firmware, por TFTP, em um espaço curto de tempo durante a iniciação. Se receber, gravam no roteador. Se não, seguem normalmente o processo. Contudo, novamente, tudo isto depende de cada roteador.

Boa sorte aos colegas com problemas e tentarei ajudar no que eu puder para recuperá-los. Só garanto uma coisa: depois de recuperar o roteador usando a serial, você não terá mais medo de alterar qualquer coisa no roteador e de gravar qualquer firmware.

43 comentários:

  1. Oi, o post tem mais informação do que eu consegui absorver, mas como você fala do TL-MR3420 vou pedir ajuda.
    Bem, eu uso um e de uns dias pra cá ele tem apresentado problemas de estabilidade de velocidade. Está muito lento na navegação e nos downloads diretos no notebook e desktop Windows, todavia em meu Galaxy Tab 2 a navegação e download estão normal mas o carregamento de videos do youtube está impossível. Detalhe mais estranho é que o P2P está normal em ambos os aparelhos.
    Por fim, você poderia me dar uma luz?

    ResponderExcluir
  2. Existe duas características principais em uma conexão: velocidade de transferência e latência. A primeira diz quanto bits passam por segundo e a segunda quanto tempo leva para seu pacote ir ao destino (e voltar). Navegação lenta pode ser sinal de latência alta, e as vezes somente no DNS. O youtube lento pode ser seu provedor limitando a banda para este site (principalmente por ele já apresentar problema de latência pela sobrecarga). Se estiver usando p2p em conjunto com youtube/downloads/navegação, a tendência é que fique lento mesmo. O problema maior é o chamado bufferbloat (http://en.wikipedia.org/wiki/Bufferbloat).

    Para diagnosticar corretamente, use um bom teste (http://simet.nic.br/). Melhor ainda se fizer em um computador conectado diretamente na internet, sem o roteador. Outra alternativa é ver com um sniffer de rede a ida e vinda dos pacotes e ver o que está lento.

    ResponderExcluir
  3. Luiz ensina a gente a fazer um hotspot no openwrt!

    ResponderExcluir
    Respostas
    1. Olá Anônimo,

      O que você quer dizer como "hotspot"? Este é um tempo um pouco genérico. Em geral, qualquer roteador wireless é um hotspot (http://pt.wikipedia.org/wiki/Hotspot_(Wi-Fi)).

      Quais os requisitos? Autenticação? Criptografia? Portal? Sugere ai que eu monto um howto.

      Excluir
    2. Falo de hotspots como em hoteis e restaurantes, vc tenta conectar e aparece uma pagina de apresentação, ai voce vai na balcao de atendimento e pega um usuario/senha e autentica na pagina.

      Tentei fazer algo aqui e nao tive sucesso, talvez pq eu tenha somente maquinas windows e a maioria de programas sao para linux, entao pensei na possibilidade de passar toda estrutura para o router, mais ainda nao tive sucesso.

      Excluir
    3. OK. Vou tentar montar isto com um roteador emprestado (TP-WR1043ND). Qualquer coisa, acho que comprarei um roteador novo, TL-WDR3600, até a semana que vem. Ai terei um roteador sobrando para o teste.

      Excluir
    4. Boa tarde Luiz. Procurei o tutorial e não consegui encontrar. Queria saber se vc já o fez e como é o nome dessa função para cada pessoa q quiser conectar ter um usuario e senha? Obrigado...

      Excluir
    5. Você tem duas opções:

      1) usar 802.1X (wpa enterprise) e autenticar em um servidor radius. Acredito que pode, inclusive, instalar o radius no roteador. Contudo, em geral, é um servidor fora e central.

      2) usar um portal de autenticação.

      Para ambos, se for uma quantidade significativa de equipamentos, pode tentar o packetfence instalado em um servidor externo. Ainda não domino totalmente esta tecnologia mas estou trabalhando para isto.

      Excluir
    6. Obrigado Luiz, outra coisa, comecei a usar Openwrt essa semana e não tenho muito conhecimento, queria saber se tem como ver uma lista sempre atualizada dos ips/macs que estejam conectados naquele momento pois a lista que tem na aba DHCP e DNS aparecem os macs e ips q ja conectaram antes ou que estão conectados agora...

      Excluir
    7. Na versão 12.09 (deve ser igual na anterior mas não lembro), temos 2 campos que podem indicar quem está conectado: "Atribuições do DHCP" e "Estações associadas".

      Para wireless, tem "Estações associadas", que mostra todos os clientes wireless, inclusive com a qualidade do sinal. Pelas características do protocolo wireless (802.11), existe uma conexão ponto a ponto entre a estação cliente e o AP. Portanto, é possível acompanhar com uma boa precisão quem está conectado pois ao desligar o equipamento ele irá desassociar por solicitação imediatamente ou ser desassociado compulsoriamente por inatividade em um curto espaço de tempo.

      Se for para ter esta lista tanto para clientes cabeados quanto os wireless, você não vai conseguir. Para o protocolo IP, o cliente não precisa se anunciar para funcionar e nem avisar que saiu. Portanto, você somente poderá ter a informação da última vez que ele fez alguma ação que você controla. Uma das ação que você pode observar é a atribuição DHCP, que mostra quem pediu IP enquanto esta atribuição for válida. Se quiser reduzir o tempo que um cliente ficará nesta lista sem estar ligado, você precisa reduzir o tempo de atribuição na configuração do DHCP. Outra fonte é a tabela ARP mas desconheço como obtê-la pela interface web. Pelo SSH, só executar "arp"

      root@router:~# arp
      IP address HW type Flags HW address Mask Device
      192.168.3.20 0x1 0x2 c0:18:85:08:FF:e3 * br-lan
      192.168.3.10 0x1 0x2 00:16:ea:d4:FF:9e * br-lan
      192.168.3.5 0x1 0x0 00:00:00:00:00:00 * br-lan
      189.4.112.1 0x1 0x2 00:0e:83:ca:FF:13 * eth0.2

      Note que existe uma linha com MAC todo zerado. Ele não respondeu ao último pedido e deve estar fora da rede. A última linha é da interface WAN.

      Excluir
  4. Você pode disponibilizar o tutorial sobre a recuperação usando serial? Vllw

    ResponderExcluir
    Respostas
    1. Olá,

      O primeiro passo é ter a serial funcionando. Isto é específico de cada modelo. Ao menos o gerenciador de boot deve ser capaz de emitir algumas mensagens visíveis pela serial.

      Com a serial, você poderá, ao menos saber se seu problema foi a gravação da firmware (raro para versões estáveis), ou se foi apenas alguma configuração ou instalação de algum programa. Se o sistema, apesar de inacessível, ainda funciona (o kernel inicia, os processos disparam e, em geral, você chega no login), você pode entrar no modo de recuperação como comentei em:

      http://luizluca.blogspot.com.br/2012/05/openwrt-turbine-seu-roteador_16.html

      Se o sistema nem chega a este ponto, falha com uma mensagem já no gerenciador de boot, você vai precisar gravar uma nova firmware pela serial. Posso ajudar mas isto depende de cada modelo de roteador.

      Em que situação você está?

      Excluir
    2. Olá Luiz.. estou numa situação complicada com o MR3420, tentei voltar para o firmware atual pelo terminal e acabei recebendo uma mensagem de erro escrita "[e]Failed to erase the block". Depos disso o roteador liga pisca todas as luzes e desliga, e fica nesse loop infinito. Como faço pra recuperá-lo? Eu ja consegui recuperar um 1043ND pela serial.. mas como você mesmo disse, depende de cada modelo.. Você sabe como faço pra recuperar esse MR3420? a versão dele é 2.. o modelo correto é MR3420v2.

      Aguardo sua resposta. Grato pela atenção.

      Excluir
    3. Jônatas,

      O princípio é o mesmo. Muda muito pouco. As informações estão em:
      https://wiki.openwrt.org/toh/tp-link/tl-mr3420#serial

      Depois que tiver a serial funcionando, é só usar a mesma estratégia:
      ar7100> erase 0x9f020000 +0x3c0000
      ar7100> tftpboot 0x81000000 code.bin
      ar7100> cp.b 0x81000000 0x9f020000 0x3c0000
      ar7100> bootm 0x9f020000

      Excluir
  5. Olá,

    Estou com problema no TP-link mr3420 e estou comprando um Conversor Usb Para TTL Pl2303hx no ML tentei fazer um com CI MAX232 so que nao consegui comunicação ele so funciona com esse CI PL2303???

    ResponderExcluir
    Respostas
    1. Olá,

      Na teoria, o max232 poderia converter os sinais seriais em nível TTL do roteador para o nível RS-232. Era esperado que funcionasse.

      Pode ser que o problema seja alguma coisa errada na configuração da serial (no seu terminal) ou o resistor usado para tornar a comunicação mais confiável. Veja este link na wiki do openwrt: http://wiki.openwrt.org/toh/tp-link/tl-mr3420#serial

      Excluir
    2. Ate ai OK! montei max232 fiz um janper com resistor de 10k entre TX e VCC porem nada! modo de recuperação tbm não funciona parace que so v12,09. ja fiz a compra do conversor vamos ver...

      Excluir
    3. Olá Luiz,
      Olhei em vários lugares e ninguém fala sobre minha dúvida: após colocar os pinos e o resistor 10k, eu preciso ter o conversor TTL? ou apenas ligo o USB na RX, TX e Gnd e plugo na porta usb e sai funcionando?

      Excluir
    4. Unknown,

      Como comentei, eu usei sem o pulldown e funcionou. O max232 é bom.

      Se o max232 traduzir em uma serial para o computador, ele precisa de energia vinda do roteador (vcc). Caso seja usb, ele normalmente recebe diretamente do computador e o vcc não é usado. Pode ser isto o problema. Se for serial, você precisa conectar 4 fios no roteador (vcc, rx, tx, gnd)

      E sim, vai precisar do adaptador serial TTL de qualquer forma. Serial e USB são bixos diferentes (apesar do s de usb ser serial).

      Excluir
  6. consegui recupera cabo deu certinho... agora estou com problema na expanção de memoria swap e rom a swap ta tudo ok mais a rom nao expande vc sabe o procedimento?

    ResponderExcluir
    Respostas
    1. Opa, mais um roteador salvo no mundo!

      Anônimo, não entendi muito bem o que você quer. Acredito que você está usando uma unidade de armazenamento externa pela usb e quer aumentar o espaço do disco local e também usá-lo para swap. Não fiz ainda este procedimento mas devo fazê-lo em breve. Preciso de mais espaço em disco para poder rodar o dlna, samba e o torrent. Minha intenção é usar um pendrive pequeno. Devo relatar em um post futuro.

      Se quiser fazer o procedimento por conta própria, o que você quer é o extroot (http://wiki.openwrt.org/doc/howto/extroot)

      Abs

      Excluir
  7. entao fiz esse procedimento com pen driver de 2Gb pequeno para fazer testes so que aumentar a memoria de armazenamento do roteador nao funciona. o swap 512mb e o restante em ext4 so axa a partição mais nao consigo interligar com a memoria rom do roteador...

    ResponderExcluir
    Respostas
    1. O extroot troca a função da partição /overlay para a unidade externa. Até onde você conseguiu chegar? A unidade externa foi montada?

      Excluir
  8. foi acessando o openwrt via web > mount as duas estao la

    ResponderExcluir
  9. Opa! corrigido agora ta funcionando tudo nos conformes

    usb swap extroot + Modem 3G so nao funciona no leitor de cartao do modem fora isso ta ok.

    ResponderExcluir
  10. Ótimo. Vi alguma coisa sobre o leitor de sd de modems no passado...
    http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=836

    Modems Huawei precisariam de um protocolo proprietário para funcionar o leitor. Bem, talvez um dia isto melhore.

    Eu vou usar um pendrive ligado a um hub USB. Assim posso ainda conectar outros dispositivos. Só lembra que, em geral, os roteadores não tem carga para alimentar muito mais do que um modem 3g. Portanto, para usar o HUB, precisa de um com alimentação externa ou os dispositivos tenham alimentação própria e não dependam da energia pela USB.

    Abs,

    ResponderExcluir
    Respostas
    1. Ok vou dar uma olhada aqui. Com HUB funcionou so que como vc disse a porta USB do roteador aguenta 500mA HUB de 5 portas Daria 100 mA por USB. so o modem consome 500mA eu testei funcioa mais cai a a internet de 2 em 2 minutos com o pen drive e o modem o corredo seria HUB com Alimentação externa.

      Valeu as dicas.
      Abs,

      Excluir
  11. segui os passos do link que vc me passo deu certinho com modem Huawei E160 o Slot de Mini SD leu no openwrt agora modem e cartao no mesmo usb funcionando OK.

    Valeu.

    Abs

    ResponderExcluir
  12. bom dia,

    estou aqui mais uma vez dando trabalho kkkk. eu comprei uma impressora nova epson xp-204 (abandonei a C62) so que acontece o seguinte essa ela conecta via wifi e usa o botao qss p coneta no openwrt nao tem essa função oque fasso ? sera que so por usb????

    ResponderExcluir
    Respostas
    1. Acredito que a função QSS não é requisito da impressora. É provável que você consiga configurar as informações da rede por outro meio que não seja o QSS.

      Pelo que vi rapidamente, a configuração pode ser feita a partir de um computador conectado pela USB na impressora. Depois de configurado, você tira a USB.

      Excluir
    2. Se realmente quiser o recurso QSS/WPS de volta, o hostapd possui o recurso. Só que você precisará trocar o hostapd versão mini pelo completo. Além disto, estes recursos são sabidamente inseguros e passíveis de ataques de força bruta.
      Veja: http://wiki.openwrt.org/doc/uci/wireless#wps.options

      Excluir
  13. Amigo Luiz, tenho um TPLink MR3420 funcionando com um Modem Huawei 3G Vivo conectado a ele, neste router tenho tb conectado um VCR com 4 câmeras. Uso esta configuração para acesso remoto às câmeras via Internet e tb para acesso a Internet via wifi em casa.O que noto é que frequentemente o modem sinaliza que o acesso ao 3G está fora, não voltando mais até que se retire cabo de energia do router, espere-se um tempo e conecte novamente, em muitos casos isto resolve o problema. Muitas vezes ainda testo o sinal de 3G retirando o modem do router e colocando no notebook, e o sinal está perfeito. Com este problema tenho perdido a função de monitoramento das câmeras frequentemente. Tem uma dica para dar sobre o problema? Grato. Trevis

    ResponderExcluir
    Respostas
    1. Olá Trevis,

      Você usa OpenWRT? Se sim, você poderá ver nos logs do sistema o que ocorreu com seu modem.

      Para modems 3g USB, por questão de energia, recomendo deixar a porta exclusiva para ele ou usar um HUB alimentado. A falta de energia gera problemas estranhos como desconexões inexplicáveis e erros nas mensagens de kernel.

      Outro motivo pode ser o próprio 3g. Já tive experiências desagradáveis onde o 3g, depois de um tempo conectado, se perde e só volta a funcionar depois de desconectá-lo e reconectar na USB. Pode ser também o seu caso. Pode testar por um longo período em um PC para verificar se ele aguenta ficar 24h ligado.

      Abs

      Excluir
  14. Boa noite Luiz.

    Estou com o seguinte problema com o meu tl-mr3420: se eu conectar a internet que vem do modem direto no computador, a conexão fica normal (10Mb), porém se conectar no roteador, a mesma cai para 5Mb!
    O que pode ser?
    Agradeço a ajuda!!!
    abc...

    ResponderExcluir
    Respostas
    1. Estranho isto. O roteador deveria aguentar uma transferência de uns 10Mbps pela wireless, principalmente por ter rede N. Pela cabeada, que é 100Mbs, também teria recurso de sobra.

      Como você está medindo isto?

      Excluir
  15. Luiz, tenho um TP-Link 3420 e funcionava normalmente com 3G da Oi, ontem fui atualizar ele para utilizar o 3Gmax da claro e não sei onde errei que o bicho morreu, não conecta mais pelo cabo CAT5 e não conecta pelo Wireless no IP 192.168.1.1, o que devo fazer ?

    ResponderExcluir
  16. Ola amigo. Como faço pra recuperar a senha deste reteador?

    ResponderExcluir
    Respostas
    1. Você usa OpenWrt? Se instalasse uma versão antiga, anterior a 12.09, e perdesse a senha, só recuperando pela serial.

      Excluir
    2. Tem como recuperar a senha usando sistema windows?

      Excluir
    3. Unknown, você usa OpenWrt? Teoricamente, tudo é possível em ambos os SOs

      Excluir
  17. Luiz, primeiramente parabéns pelo seu blog, muito bom mesmo.

    estou com um problema com meu tp link tl-mr3220, como não encontrei nenhum topico referente ao meu problema decidi descreve lo aqui. espero que não haja problema.

    bem, estou tentando instalar um adaptador wifi no ap, porem nao estou conseguindo. basicamente eu instalo os drivers, o ap reconhece o dispositivo porém quando vou ativar a interface o ap simplesmente congela, sendo necessario desliga-lo retirar o adaptador pra ele voltar a funcionar.o driver em questao eh o kmod-rt2800-usb, e instalo todos os drivers dependentes.

    tenho um Tl-wdr4300 em minha casa, tambem com o openwrt que reconhece o adaptador perfeitamente, inclusive todos os adaptadores que testei no mr3220 funcionam no Tl-wdr4300, porem dão pau no mr3220.

    se vc puder me ajudar com esse problema ficaria muito grato.

    abraços.

    ResponderExcluir
    Respostas
    1. Se o wdr4300 funciona e se for exatamente a mesma versão do openwrt, dificilmente é problema de driver.
      Possivelmente é falta de energia na USB. O 4300, por ter 2 USB deve ter mais potência. Tente usar um hub USB alimentado entre o WiFi e o 3220.

      Excluir
    2. Bem pensado, vou fazer isto. Obrigado.

      Excluir