OpenWRT: Fazendo mágica com linux no roteador – Parte 1


Há um tempo atrás eu postei sobre o NAS que comprei e todas as facilidades que ele me proporcionou, mas o fato é que aquele modelo é meio fraquinho e não ter acesso direto ao sistema para customizar ou configurar é algo que me incomoda bastante.
Isso somado ao fato de precisar fazer uma rede meio maluca para um evento e eu estar reestruturando toda a rede da minha casa para suportar um servidor de media do Linux MCE (muitos posts por vir), me forçou a largar a preguiça e instalar o OpenWRT no meu roteador.
Se eu soubesse que aumentaria tanto o leque de possibilidades, eu já teria feito antes. O OpenWRT é um software alternativo para o seu roteador que permite adicionar várias funções e melhorar a performance dele.

Em primeiro lugar, para aqueles que já devem estar cheios de perguntas, uma noção básica da brincadeira.
Se você tem um roteador em casa você provavelmente já o configurou,  acessou pelo navegador e definiu algumas coisas básicas como o nome da sua rede e a senha. O seu roteador tem uma série de funções que um HUB ou Switch (barato) não tem, como firewall, controle de tráfego, controle de endereços IP e outras coisas que quase ninguém usa, ele consegue cuidar de tudo isso porque na prática seu roteador é um computador. Sim, um computador com memória processador e armazenamento, obviamente com placa de rede também. Hoje em dia todo eletrônico é um computador, sua TV, seu celular, o rádio de seu carro.
É óbvio que por ser tão pequeno, ser barato, consumir tão pouca energia e ter um papel tão simples como o de pegar um pacote de dados daqui e jogar para lá, esse computador é bem fraco. No meu caso eu uso vários roteadores, mas vou pegar como cobaia o TP-Link TL-WR1043ND que tem um processador de 400MHz, 32MB de RAM e 8MB de armazenamento. Pode parecer pouco, mas esse é o hardware equivalente a um computador de 15 anos atrás ou um Smartphone básico de hoje.
Como qualquer computador, ele tem um sistema operacional. Normalmente, no caso dos roteadores, chamamos de Firmware, mas esse termo não está completamente certo. Um Firmware é um software normalmente pequeno e que não sofre constantes atualizações e que controla um dispositivo simples, como um controle remoto ou um drive de dvd. No caso do roteador e do seu celular, estamos falando mesmo de um Sistema Operacional, mas como antigamente esses dispositivos eram realmente simples e evoluíram muito rápido, continuamos usando o termo. Isso não faz nenhuma diferença, mas eu queria enfatizar que o Software do seu roteador não é tão diferente do que está sendo executado no seu computador nesse exato momento, e ele provavelmente é um Linux modificado.
Xbox Clássico rodando Linux
Xbox Clássico rodando Linux

O Linux é o sistema operacional livre mais popular do mundo e isso o torna muito bom para essas coisas como roteadores e tvs, que precisam executar uma função muito especifica e muito bem (normalmente chamados de sistemas embarcados), porque ele pode ser modificado facilmente para atender à sua necessidade e é incrivelmente leve. Esse fato sozinho anula o mito de que o market share mundial do linux é 1%, mas eu discutirei isso em outro post. Seu roteador provavelmente já roda um sistema Unix-Like como o Linux ou o BSD, então qual a vantagem de trocar o Software? O Sistema que está instalado hoje no seu roteador não te dá acesso a diversas coisas, como os arquivos internos – e isso é muito bom porque a maioria dos consumidores faria besteira se tivesse esse acesso -, mas com isso você pode modificar o que quiser e, se tiver um conhecimento básico de programação, pode até escrever seus próprios programas para rodar no roteador.

Ainda não viu vantagem? então eu vou direto ao ponto: Você pode colocar o seu roteador para baixar os seus torrents 24h enquanto o seu computador está desligado…
Por que eu não disse antes não é mesmo? Agora que você foi convencido, vamos ao que interessa.

 

Eu ia explicar como configurar impressoras, scanners, servidor de mídia e outras coisas, mas o post ficou muito grande, então já estou providenciando uma continuação, por enquanto vou me limitar ao torrent, FTP e compartilhamento de rede.

Meu roteador suporta OpenWRT?

Não sei, veja se ele está na lista: http://wiki.openwrt.org/toh/start
TP-Link WR1043nd
TP-Link WR1043nd
Se você pretende trocar de roteador, independente de instalar o OpenWRT ou não, eu recomendo fortemente os da TP-Link, eu tive problemas com várias marcas e essa é uma que nunca me deu dor de cabeça. Todos os meus roteadores, switches e hubs em uso são da TP-Link, eu realmente gosto da qualidade da marca e, na minha opinião, só perde para hardware da Cisco ou 3COM. Mas ai estaríamos falando de coisa bem cara e para uso empresarial, para redes domesticas e pequenas empresas o melhor custo-beneficio é – na minha opnião -, o TL-WR1043ND: Wireless B/G/N 300Mbps, Rede Gigabit e uma porta USB (muito útil) por cerca de 100 reais.
O software da TP-Link normalmente atende qualquer usuário comum, permite criar compartilhamento de arquivos a partir de um HD no USB, compartilhar a impressora e tudo que você precisa em termos de rede. Se você vai instalar o OpenWRT, dê uma olhada na lista de hardware acima, pois talvez você ache algum com processador e memória superiores e um preço convidativo, só não se esqueça da importância do USB (para ligar o HD externo), mas quase todos da TP-Link já possuem versões prontas do OpenWRT.

Instalando

A instalação do OpenWRT não tem grandes segredos na maioria das vezes, mas dependendo do modelo e versão do software você pode ter que instalar manualmente e configurar diversos pacotes. Em versões antigas, por exemplo, eu tinha que instalar manualmente o WiFi, se tiver problemas de instalação procure o procedimento para o seu modelo especifico. Muito do que faremos não pode ser feito pela interface gráfica, então se você nunca usou linux eu recomendo que você pesquise um pouco e compreenda pelo menos os comandos cd e vi antes de prosseguir. Existem várias versões do OpenWRT, mas a mais popular/recente parece ser a Backfire Attitude Ajustment. Baixe a última versão para o seu roteador aqui: http://downloads.openwrt.org/backfire/ Procure pela versão com factory no nome, as da tp-link estão em ar71xx/ , a minha por exemplo é o arquivo openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin
ATENÇÃO!!! DRAGÕES A FRENTE!!!
Normalmente é fácil reverter para o firmeware original, basta instalar a versão do fabricante, que normalmente você acha fácil no site do fabricante, mas dependendo da besteira que você fizer o processo para arrumar pode envolver desmontar e fazer hacks malucos de hardware. Estou assumindo que você tem alguma noção de Linux para, pelo menos, não apagar o sistema, a chance de você fazer isso é baixa, mas vai que… alguém sempre consegue, melhor avisar… hehe.

Com o arquivo do OpenWRT em mãos, acesse seu roteador e digite o usuário e senha, essa é a tela padrão do router que estou usando:

WR1043ND Firmware Default

Em System Tools / Firmware Upgrade escolha o arquivo do Firmware prossiga:

WR1043ND Firmware Update

Normalmente ele pedirá algum tipo de confirmação, aceite.

WR1043ND Firmware Update Confirm

O software será instalado e ele reiniciará.

WR1043ND Firmware Update Reboot

Apos o reboot o OpenWRT estará instalado e ao acessar o roteador a tela deverá ter mudado para essa interface:

OpenWRT

A primeira coisa que você deve fazer é criar uma senha para que seja possível acessar o roteador por ssh e instalar o resto dos recursos.

OpenWRT

Nesse momento você deve ter acesso a uma interface administrativa semelhante à que voce tinha no Firmware anterior, se desejar pare o tutorial agora e configure a sua rede, uma dica: o Wifi está desabilitado por padrão… você provavelemente vai precisar ativa-lo em Network / Wifi.

OpenWRT

Agora você deve ser capaz de acessar o roteador por SSH, se estiver no windows baixe o Putty, se utiliza Linux apenas digite “ssh root@ip”:

OpenWRT SSH

Aumentando o espaço em disco

Como você pode ver abaixo, o roteador tem recursos muito limitados, principalmente em armazenamento que não aparece na imagem, apenas 8 MB, então será necessário estender o sistema para um HD externo. Primeiro vamos preparar o HD.

OpenWRT

Você pode usar o sistema de arquivos que preferir, mas como normalmente precisamos conectar esse HD à uma máquina que rode windows, o único jeito é usar NTFS. Você poderia usar a mesma partição NTFS para extensão do sistema, mas o desempenho fica horrível, então criaremos 3 partições no disco: uma SWAP para estender a memória, uma EXT4 para extensão o sistema de arquivos e uma NTFS para armazenamento. Recomendo o uso do programa GParted para particionamento do disco. O meu ficou assim:

GParted

Eu recomendo 1GB para Swap, 1GB para o sistema e o resto para armazenamento, sabendo que isso ja é um exagero.

Se você não pretende retirar o HD do roteador nunca e só acessar os arquivos pela rede (Recomendado) use EXT4 para o armazenamento também, pois NTFS consome muito processamento.

depois de particionado o disco, vamos instalar os módulos para o funcionamento do USB:

opkg update
opkg install kmod-usb-storage
opkg install block-mount
opkg install block-extroot
opkg install block-hotplug
opkg install ntfs-3g
opkg install kmod-fs-ext4

Se você pretende usar algum outro sistema de arquivos você vai precisar instalá-lo. A lista completa dos sistemas de arquivo está aqui: http://wiki.openwrt.org/doc/howto/usb.storage

Plugue o HD e verifique se ele é reconhecido:

cd /dev
ls

Você deve ver os arquivos sda, sda1, sda2 e sda3, se não estiverem ai, algo está errado.

Para quem não está acostumado com essa numeração, o linux reconhece os dispositivos no formato sdXY em que X é uma letra (normalmente a ou b) que indica o número do disco. É Y um número, contando a partir de 1, que representa a partição, por exemplo: sda1 = primeira partição do primeiro disco.

Devices

Agora vamos criar uma pasta para a partição de arquivos dentro de /mnt

cd /mnt
mkdir storage

Aqui ficarão todos os arquivos do torrent, agora vamos configurar as partições:

vi /etc/config/fstab

Abaixo, como exemplo meu arquivo de configuração, verifique se o numero das partições (sdaX) é o mesmo que você utiliza.

config global automount
      option from_fstab 1
      option anon_mount 1

config global autoswap
      option from_fstab 1
      option anon_swap 0

config mount
      option device /dev/sda2
      option fstype ext4
      option options rw,sync
      option enabled 1
      option enabled_fsck 0
      option is_rootfs 1
      option target /errorinrootfs
config mount
      option target /mnt/storage
      option device /dev/sda3
      option fstype ntfs-3g
      option options rw,sync
      option enabled 1
      option enabled_fsck 0

config swap
      option device /dev/sda1
      option enabled 1

Repare que eu mudei todos os “option enable” para 1, o mount com a propriedade target é o que será montado para armazenamento e o com is_rootfs é o que estenderá o sistema, mas essas partições ainda não estão prontas para serem usadas. Primeiro precisamos copiar alguns arquivos para a de sistema.

mkdir /mnt/temp
mount -t ext4 /dev/sda2 /mnt/temp
tar -C /overlay -cvf - . | tar -C /mnt/temp -xf -
umount /mnt/temp
rmdir /mnt/temp

agora ative a montagem do hd durante o boot:

/etc/init.d/fstab enable

e reinicie o roteador:

reboot

Se após o boot o fstab não estiver marcada como enable em “System / Startup” na interface web, o que aparentemente é comum, marque-o por ali:

Uma coisa que você pode observar é que por algum motivo o fstab está com uma prioridade menor do que o USB, acredito que isso tem causado a instabilidade que alguns usuários comentaram comigo, e eu mesmo verifiquei problemas com o carregamento da memória swap. Precisamos diminuir o valor em USB, altere a linha em /etc/init.d/usb de

START=39

para

START=15

Por algum motivo depois disso os dois aparecem desabilitados, habilite-os:

Ao reiniciar, caso a pasta /errorinrootfs tenha aparecido indica um erro nas configurações, caso contrário deve estar funcionando. Para verificar o espaço livre no seu roteador use o comando df que deve te mostrar algo parecido com isso:

Free Space

Para ver se a extensão da memória está funcionando digite:
free

o resultado deve ser esse:

Free

A unica coisa que não funcionou no meu roteador foi e led do USB na parte frontal, que até então eu nem sabia que ele tinha, como a configuração era muito complicada eu simplesmente ignorei isso e duvido que você sinta falta.

Para remover o HD, pare todos os downloads e processos que usam o HD, mais para frente adicionaremos mais alguns, os processos podem ser parados pelo ssh ou pela interface web em “System/startup”. Se possível desligue o roteador antes de remover, para inseri-lo pode ser ligado, mas a maior parte das coisas instaladas só funcionará após um reboot.

Torrent

Agora que seu HD está plugado e funcionando, você pode começar a instalar coisas mais interessantes, como o Transmission, um cliente de torrent que você administra pelo navegador.

Instale os pacotes necessários:

opkg update
opkg install transmission-cli
opkg install transmission-web

Crie a pasta para armazenar os arquivos e os temporários:

mkdir /mnt/storage/torrent /mnt/storage/torrent/complete /mnt/storage/torrent/incomplete /mnt/storage/torrent/config

E configure o transmission editando o arquivo config:

vi /etc/config/transmission

Altere as seguintes linhas:

option enabled 1
option config_dir '/mnt/storage/torrent/config'
option download_dir '/mnt/storage/torrent/complete'
option incomplete_dir '/mnt/storage/torrent/incomplete'
option incomplete_dir_enabled true
option ratio_limit 2.0000
option ratio_limit_enabled true
option rpc_authentication_required true
option rpc_password 'passwd'
option rpc_username 'user'

option rpc_whitelist_enabled false

Você provavelmente pretende acessar o programa do trabalho ou celular para adicionar novos arquivos, então abra a porta no arquivo de configuração do firewall:

vi /etc/config/firewall

Adiciona a seguinte regra:

#Allow Torrent Administration

config rule
option src               *
option proto            tcp
option dest_port     9091
option target           ACCEPT

habilite o transmission:

etc/init.d/transmission enable

e inicie ele:

/etc/init.d/transmission start

e reinicie o firewall para que as alterações tenham efeito:

/etc/init.d/firewall restart

Agora voce deve ser capaz de acessar ele pelo navegador digitando o ip do seu roteador e aporta 9091 (provavelmete http://192.168.1.1:9091):

Transmission

O Transmission é um ótimo programa de torrent e existem diversos programas para controlá-lo remotamente, eu recomendo o .torrent to transmission para o Chrome e o Remote Transmission para o Android

.torrent to Transmission
Remote Transmission

O programa funciona muito bem, mas depois de brincar um pouco com vários arquivos baixando simultaneamente eu comecei a ter problemas de corrupção das partes do torrent:

Para evitar isso, vamos diminuir um pouco o uso da CPU. Sempre que damos um “verify local data” ou algum comando assim no torrent, vemos que o uso da CPU chega ao limite. Com o comando top vemos que o coitado está fazendo o possível e a culpa é do torrent:

Você pode ver pelo segundo item na lista que o consumo para manter uma partição NTFS é a segunda coisa que mais consome processamento aí, então se não for usar o HD em outro maquina use EXT4 que você já ganha uma folga. Mas só isso não resolve, infelizmente teremos que sacrificar um pouco o desempenho do torrent, é isso ou perder os arquivos, ou pior, comprometer o desempenho da rede.

No arquivo de configuração do transmission (/etc/config/transmission) eu alterei as linhas de:

option open_file_limit 32
option peer_limit_global 240
option peer_limit_per_torrent 60

Para:

option open_file_limit 16
option peer_limit_global 160
option peer_limit_per_torrent 40

Isso diminuiu muito o uso da CPU e continuo fazendo downloads com a mesma velocidade, aproximadamente 1 MB/s, depois disso meus arquivos pararam de corromper. Se o seu modelo de roteador é diferente, tente números compatíveis com o hardware dele. O processador do meu é de 400MHz, só para referência.

Compartilhamento de Arquivos: SMB e FTP

Agora que você colocou o torrent para funcionar, você precisa ter acesso ao HD para pegar os arquivos baixados sem precisar desconecta-lo do roteador, afinal seu computador e o roteador estão em rede, não faria muito sentido não transmitir esses dados pela rede.

*SMB é o protocolo de rede que o Windows usa, Samba é implementação open source desse protocolo que permite que máquinas windows e linux se falem.

Para o compartilhamento de rede funcionar direito a primeira coisa que você precisa fazer é abrir essas portas:

  • TCP 137 – NetBIOS Name Service
  • TCP 138 – NETBIOS Datagram Service
  • TCP 139 – NETBIOS Session Service
  • TCP 445 – Microsoft Directory Services

Para isso, adicione as seguintes regras no seu arquivo /etc/config/firewall

#SAMBA Network Share
config 'rule'
option 'src' 'lan'
option 'proto' 'udp'
option 'dest_port' '137-138'
option 'target' 'ACCEPT'
config 'rule'
option 'src' 'lan'
option 'proto' 'tcp'
option 'dest_port' '139'
option 'target' 'ACCEPT'
config 'rule'
option 'src' 'lan'
option 'proto' 'tcp'
option 'dest_port' '445'
option 'target' 'ACCEPT'

Agora instale os pacotes necessarios:

opkg update
opkg install samba3 luci-app-samba

e reinicie

reboot

 

Se o luci-app-samba instalou corretamente você pode configurar o compartilhamento pela interface gráfica:

Mas se preferir, como eu, o arquivo de configuração está em /etc/config/samba. Eu recomendo mudar o campo “Share home-directories” (ou “homes”  no arquivo de configuração) para 0, para evitar problemas, não gosto da ideia de usuários tendo acesso a pastas que não estão na partição de storage do HD.

No meu caso o arquivo de configuração ficou assim:

config 'samba'
option 'name' 'MainRouter'
option 'description' 'TL-WR1043ND'
option 'workgroup' 'Home'
option 'homes' '0'

config 'sambashare'
option 'read_only' 'no'
option 'create_mask' '0700'
option 'dir_mask' '0700'
option 'name' 'Storage'
option 'path' '/mnt/storage'
option 'guest_ok' 'yes'

 

o que visualmente resulta nisso:

Depois de configurado inicie o processo e habilite seu inicio automático:

/etc/init.d/samba enable
/etc/init.d/samba start

 

Depois disso a pasta estará visível na rede como se o reteador fosse um outra máquina com compartilhamento habilitado:

Agora vamos configurar o FTP para você poder acessar os arquivos do trabalho, ou de qualquer outro lugar. Diferente do SMB o FTP, estará protegido por senha, então a ideia aqui é para apenas você utilizar, por isso eu utilizarei o usuário root mesmo. Se você precisar criar outros usuários com permissões diferentes, dê uma olhada na documentação nesse link: http://wiki.openwrt.org/doc/uci/pure-ftpd

Primeiro instale o servidor FTP:

opkg update
opkg install pure-ftpd

 

(aparentemente existem outros servidores ftp, mas esse me pareceu o mais simples e rápido de configurar)

O arquivo de configuração, como você ja deve imaginar, está em /etc/config/pure-ftpd e a única linha que voce precisa alterar é essa:

option enabled '1'

 

Para que o enable fique ‘1’, dependendo da empresa que fornece a sua conexão, a porta 21 estará bloqueada (meu caso com a virtua), você pode mudar a porta na primeira linha do arquivo para um que esteja liberada.

Depois disso basta habilita-lo e iniciar o processo:

/etc/init.d/pure-ftpd enable
/etc/init.d/pure-ftpd start

Já está funcionando, o problema é que quando você se conectar o ftp estará na pasta home do seu usuário, ou seja, a pasta /root. Uma solução rápida e simples para isso é criar um link simbólico dentro da pasta para a pasta de storage:

ln -s /mnt/storage/ /root/storage

 

Você até poderia entrar a pasta na mão no programa de ftp que preferir, mas esse link realmente ajuda bastante.

Acessando Remotamente

Agora que configuramos todos os serviços vamos abrir as portas do firewall e configurar portas alternativas para os programas que algumas empresas de internet bloqueiam:

Web Admin / Luci:

no arquivo /etc/config/uhttpd altere a linha

list listen_http 0.0.0.0:80

 

trocando o 80 pela porta que preferir.

FTP:

em /etc/config/pure-ftpd altere:

option port '21'

 

Para uma porta livre.

Torrent

em /etc/config/transmission aletere

option rpc_port 9091

para a porta que preferir.

SSH

O ssh pode ser configurado pela interface gráfica (System/Administration), que inclusive permite habilitar para LAN (rede local), WAN (internet) ou ambos:

Firewall

Nós já abrimos uma porta no firewall durante a configuração do torrent e samba, o processo é basicamente o mesmo, basta criar uma regra como o modelo abaixo para cada porta que você quiser abrir no arquivo /etc/config/firewall:

config rule
option src               *
option proto            tcp
option dest_port        PORTA_QUE_DESEJA_ABRIR
option target           ACCEPT

DNS Dinâmico

Como seu IP frequentemente, o ideal é usar um gerenciador de dns dinâmico, como o No-IP ou o DynDNS para não precisar saber o ip, no lugar disso usar um endereço fácil de lembrar, a primeira coisa que você precisa é se cadastrar em um gerenciador suportado pelo OpenWRT, ou seja um desses:

Agora instale o pacote luci-app-ddns e reinicie o roteador:

opkg update
opkg install luci-app-ddns
reboot

Depois de instalado, acesse a interface web e configure os dados fornecidos pelo sistema de dns dinâmico em que você cadastrou, essa parte deve ser auto explicativa:

Pronto! Tudo instalado e configurado! Na próxima parte explicarei como instalar uma impressora de rede e Scanner no roteador e alguns truques com scripts na pasta de torrents. Até lá.


42 responses to “OpenWRT: Fazendo mágica com linux no roteador – Parte 1”

  1. Prezado Rodrigo,
    Primeiro parabéns pelo belíssimo trabalho com esse tutorial. Consegui instalar tudo porém tenho umas dúvidas que gostaria de saber se você consegue saná-las.
    A primordial é tenho GVT com um modem roteado e um roteador TL-WR542G, porém o sinal desse roteador não pega na casa toda. Por isso adquiri um TL-WR1043ND, eu gostaria que ele repetisse o sinal para alcançar os locais onde o outro roteador não alcança.
    Pretendo deixar todos os equipamentos que possuem placa wireless g com o WR542G, e os que já possuem placa N com o WR1043ND.

    Desde já agradeço sua atenção.

  2. Rodrigo meus parabéns pelo tutorial que você fez consegui instalar todos os programas, so não consegui configurá-los. Mas isso é uma outra história.
    Estou com um WR1043ND agora rodando o OpenWRT. Eu gostaria de configurá-lo para ele transmitir o sinal de uma rede wireless existente, pois existem pontos que ela não chega. E eu deixaria os aparelhos com placas de banda G na outra rede (um WR542G) e somente os aparelhos com placa de banda N na rede wireless do WR1043ND.

  3. Tudo bem !??

    Muito obrigado pelo tutorial, realmente muito bom! Tava procurando mesmo!

    Tive um problema com o transmission. Assim que inicio um torrent, depois de um min ele para. O processo do transmission simplesmente some… Sabe o que poderia ser? To usando um pen-drive de 16GB, com 512mb de swap pra RAM e o resto pro storage. Será que pode ser isso? Foram somente essas duas particoes, inclusive pra instalar os pacotes.

    • Cara, da uma olhada se a pasta dos arquivos temporários ou as configs do torrent estão OK, porque parar assim normalmente é porque ele não ta conseguindo gravar ou ler do disco, também de uma olhada na quantidade máxima de conexões, pq o meu quando atingia muitas conexões travava o roteador, Abraço!

  4. Boa tarde. Segui todo este processo e não consigo aceder ao transmission webgui. Não deveria instalar tambem o opkg transmission-daemon? Tentei e resultou. Tive de configurar o jason.config. Só não sei colocar o transmission daemon a arrancar automaticamente. Pode-me ajudar?
    Obrigado

    • Opa, talvez seja alguma diferença da versão que você instalou, esse post já tem um tempinho e as coisas no meio do software livre tendem a mudar o tempo todo, normalmente para colocar algum serviço para iniciar automaticamente o comando é: /etc/init.d/NOMEDOSERVICO enable. De uma olhada no que você tem nessa pasta, provavelmente ele está ai ai você vai saber o nome certo que tem que chamar, abraço!

    • Cara, só para por o firmware mesmo é rápido e simples, só subir o arquivo na área de upload, se quiser reverter é só subir o do fabricante, é que aqui como instalamos o torrent o processo de configuração foi mais complicado, se você não for usar não precisa nem do HD externo, uma abraço!

  5. Oi,

    Tenho um WR1043ND e ele vem dando problemas direto de perder o sinal WIFI do nada e só funcionar depois que eu desligo e ligo, isso acontece com as firmwares originai (todas elas), ontem instalei o openwrt mas ele tava dando pau do nada a o server da interface gráfica dava pau e ele parava de funcionar e eu tinha que entrar no failsafe e zerar as configurações para reconfigura-lo, mesmo assim não rolo, mexi inclusive na tx power (coloquei 20) 40hz ele funcionava um pouco e parava.
    Antes achei que o problema poderai ser por eu ter habilitado servidor DHCP no modem e no rotador, testei em habilitar só em um ou só no outro e continuou, o problema é intermitente as vezes chega a ficar mais de uma semana funcionando, mas as vezes durante o dia tenho que desliga-lo várias vezes.
    Estou pensando em instalar novamente o DDWRT para ver se ele estabiliza, mas se continuar dando problema acredito que seja defeito físico dele.
    Pelo que procurei na net esse equipamento não é de dar muitos problemas, mas acho que estou tendo azar, pior q não tem nenhum outro com preço e funções semelhantes a este.
    Se for comprar outro não sei se compro um igual, pois estou com medo ou então compraria um equipamento inferior desta marca ou de outra…
    Me dá uma luz ai?
    Grande abraço.

    Marcos Protásio

    • Olá Marcos, realmente o seu problema é estranho, o meu nunca apresentou essa instabilidade com o firmware original, com o OpenWRT rodando muitas coisas cheguei a ter problemas por falta de memória e por isso passei a usar uma partição swap, mas isso não parece ser o seu caso, eu gosto muito desse equipamento e sempre recomendo, acredito que seja um problema físico na sua unidade mesmo eu optaria por pegar o mesmo, porque os outros de marcas consagradas com a configuração parecida (wireless N + Gigabit + USB) são bem caros, abraço!

  6. fala Rodrigo,

    Meu comentário não tem nada a ver com o post, mas sim um convite possuo uma banda de hard, classic e progressivo, e reparei que é um apaixonado e toca bem teclado. Precisamos de um tecladista, não está afim de entrar neste time?
    Abraço!!!

    • Vini, agradeço muito o convite, mas esse semestre eu estou na correria do fim de faculdade, trabalhando igual maluco e com varias bandas, fica complicado me comprometer com outro projeto, mas faz assim, me adiciona no Facebook: https://www.facebook.com/serdasteclas que de repente quando a coisa acalmar depois do meio do ano rola sim. Abraço!

  7. Rodrigo, mais uma vez parabéns pelo post! Simples, rápido e objetivo! Em 25min já estava tudo configurado e rodando liso!
    Uma pergunta, como posso atualizar um pacote?
    Exemplo, o “transmission” instalado aqui está na versão 2.32 e no site oficial está em 2.50.
    É possivel só atualizar? []’s!

  8. Oi Rodrigo!

    Fiz a instalação do openwrt no 1043nd e tudo funcionou bem. Por alguma besteira que não sei qual foi, não consigo mais logar nele. Estou tentando verificar o ip através do ipconfig /all e o gateway vem em branco. Como faço para logar novamente no 1043nd?

    Obrigado,
    Pacelli

  9. Oi Rodrigo!

    Resolvi o problema. Botão QSS pressionado com o led sys piscando ele retorna o ip para 192.168.1.1.

    Valeu.

  10. ola Rodrigo blz..Vc está de parabens…
    Vamos lá.Gostou muito de robotica Gostaria muito de fazer esse projeto aqui.http://www.jbprojects.net/projects/wifirobot/
    Mais não tenho muita experencia em rotiador mais comprei um tp-wr740n e uma placa de rede sem fio tambem.
    Vc pode me ajudar.ate fis atualizaçao de bin mais fiquei meio confuso.a parte eletronica e programaçao do pic nao tenho duvida.
    Um abraço.

  11. kra to com uma dúvida, como vejo os processos da CPU? você disse pra usar o comcando “verify local data” isso? mais não deu certo, como posso ver aquela tela preta com as letras verdes com os processos atuais? Valeu! e antes que eu me esqueça, muito bom o tutorial usei ele e está funcionando perfeitamente o SAMBA, valeu.

  12. Rodrigo, primeiramente gostaria de lhe dar meus parabéns pelo turorial! Muito fácil de ser seguido. O roteador ficou muito estável. Eu tinha feito o mod da memória no meu a algum tempo atrás, mas devido a falta de conhecimento de linux, não consegui instalar o transmission muito bem no dd-wrt, mas com o openwrt ficou redondo. A memória agora fica sempre em 64% livre (40k). Só tive problema com uma coisa… estou usando a sd3 em ext4 e mesmo configurando no samba, não estou conseguindo excluir e criar arquivos na partição, já no FTP funciona de boa… tem idéia do que poderia ser? Um abraço.

  13. Rodrigo,

    Eu já tenho uma firmare openwrt e agora estou tentando fazer um “servidor” mas eu não estou conseguindo instalar o “block-extroot”..tem alguma idéia?

    Obrigado!

  14. Parabéns, achei perfeito seu método de explicação e boas informações.
    Instalei uns 2 roteadores tanto um 1043nd quanto em um invalido dir300 “que nem a dlink quer mais” como openwrt ficou perfeito e com tantas passibilidades que fico perdido!
    Abraço

  15. Cara, estava usando o DD-Wrt a algum tempo no 1043nd ai recentemente ele estava tendo a parte de wifi parada enquanto o resto funcionava.

    Não havia percebido os leds e hoje tentei usar minha impressora sem fio e apenas ela nao entrava no AP.

    Ai baixei a atualização mais recente, 20/7/2012 e instalei no AP selecionando também a opção de resetar as configurações.

    O equipamento voltou com o led system desligado e não levanta IP de gerencia. Aparentemente o switch está funcionando, mas morreu tudo de AP e Router.

    Tem como me ajudar ?

  16. Ola…
    parabens!!! esta aqui um belo tutorial.
    consegui por tudo a funcionar, mas agora queria adicionar
    esta funcionalidade: http://ocsovszki-dorian.blogspot.pt/2011/10/tp-link-wr1043nd-openwrt-dvb-t-with.html

    ja tinha aqui em casa um usb dvb-t que por acaso é igual ao do site citado.( com portes ficou por 6€).
    Acontece que o tutorial é indicado para uma versao de kernel especifico, que ja nao consigo encontrar.
    tentei fazer para a versao actual, no entanto nao estou a conseguir ter sucesso.
    Alguem me consegue ajudar?

    Obrigado
    Pedro

  17. CARA VC EH DEMAIS OLHA EU LI OUTRO TUTO E NAO TINHA CONSEGUIDO NO SEU FOI TUDO PERFEITO .. SO UMA COISA É NO OUTRO NAO SEI ELE EXPLICAVA COMO SALVAR AS ALTERACOES NO ARQUIVO ACESADO PELO TELNET O ESC :WQ! E O COMANDO VI PARA PODE ACESSAR OS ARQUIVOS DE CONFIGURACOES QUE ACHO QUE MUITA GENTE NAO SABE QEU ACABEI APRENDENDO NO OURTO TUTO MAS ..PUTZ PERFEITO …TIVE QUE COMENTA PQ FUNCIONOU TUDO DE PRIMEIRA PARABENS MESMO EU QUERIA SABER COMO FAÇO PRA ACESSA POR SSH KKK QUE UE NAO SEI APARECE UMA CONFIRMACAO ESE COLOCA SENHA NO ROTEADOR AI O TELNET NAO ABRE MAIS SIMPLSMENTE FECHA A JANELA SEM PEDIR SENHA NEM NADA VOCE SABERIA PQ ? MAS MUITO OBRIGADO JA ME AJUDOU TANTO QUE NAO TEM IDEIA

  18. Muito bom, problema que este router depois de um tempo e de uso em excesso danifica o disco principal, sendo necessario a recuperação por serial, problema é que tive de jogar fora, pois danifiquei quando fui soldar a porta serial, ai tive de comprar outro e gostaria de saber se existe algum procedimento para o pacific R3n, ou Asteho HW550, que é o mesmo router. queria um firmware wrt nele, pois ele tem uma resposta maior que o mr3442

  19. Rodrigo estou lendo o teu tutorial é muito interessante, mas estou com uma dúvida, hoje eu tenho um roteador dlink e comprei um tplink WR1043ND onde quero instalar o openwrt.

    Mas durante o processo não quero perder a internet no meu pc, e quero que o tpLink tenha internet para baixar os pacotes e configurar tudo, quando atualizar o firmware tem como deixar o tplink usando a rede wi-fi do dlink??

    e só no final desligar o dlink e o tplink assumir o papel???

  20. Se alguém puder me ajudar eu agradeço.
    Meu caso é o seguinte, comprei o tp-link 1043 com a intenção de utilizar a função de media server, utilizando na porta usb um hd externo para distribuir para uma TV e um blu ray via DLNA. Acontece que o firmware possui diversas limitações, tais como só suporta no máximo 100 arquivos compartilhados por vez, apenas 06 pastas compartilhadas por vez, não tem suporte a legendas e etc. Portanto, gostaria de saber a melhor alternativa para meu caso, lembrando que sou totalmente leigo com relação a LINUX.

    Agradeço a atenção.

    Carlos

  21. Rodrigo, meus parabens pelo Tutorial, eu leigo consegui montar a rede, a única coisa que estou quebrando a cabeça é para alterar a sequencia so startup de 39 para 15, você poderia “desenhar” para mim, creio ser uma coisa bem simples mais não consegui.

    Obrigado e Feliz Ano Novo

  22. Rodrigo, parabéns pelo post.

    Tenho o Gargoyle instalado no router. Criei as partições como mostra no teu tutorial, e já consegui fazer reconhecer tudo, inclusive ele mostra quem tem 1gb de swap.

    Só que quando vou instalar o pacote do transmission ele fala que não tenho espaço suficiente, ou seja, ele não está instalando na partição que deixei para isso, ele está tentando instalar na memória do router. Então como faço para setar o lugar correto para a instalação dos aplicativos?

  23. Você poderia me ajudar a instalar o transmission e o minidla, em um router 1043nd ?

    Cara estou com Gargoyle instalado, mas não consegui extender a root para o hd espetado na usb. Só falta isso.

    Cheguei a instalar os programas na usb, mas ao dar start ele não dá erro mas também não funciona. Pelo que entendi como não ficou extendida da root ele não funciona.

    Ficarei muito grato se você puder me ajudar.

    • Olá colega, estava sem meu roteador até hoje, vou dar uma olhada em como está tudo na versão atual do openwrt, mas pelo que você descreveu eu acho que algo deve estar errado com o seu arquivo fstab, parece que ele não está sendo lido, veja se a partição está com o is_rootfs no arquivo e se o fstab aparece na lista do startup, se não for esse o caso, como faz um bom tempo que eu escrevi isso e não lembro direito sugiro que você peça um help no forum do openwrt, é incrivel como eles respondem rápido, boa sorte!

      • Obrigado pela ajuda. Já resolvi, mas era isso mesmo o problema. Não tinha o arquivo fstab. Tive que instalar o pacote mount-block ai veio o arquivo fstab. Ai foi tranquilo.

        Você usa minidlna? Aqui está funcionando 100%, mas o meu bluray sony, só reproduz o video se for m2ts. Você sabe se tem transcode no minidlna? ou já ouviu falar no ushare (outra opção do dlna)

  24. Rodrigo, muito bom o tutorial. Mas to precisando de um help teu, o meu 1043nd mesmo com a configuração do transmission continua topando e reiniciando, estou usando a versão OpenWrt(12.09, r36088), quando coloco mais de um torrent pra baixar acontece de topar a cpu e reiniciar:
    Mem: 23972K used, 5240K free, 0K shrd, 320K buff, 1584K cached
    CPU: 9% usr 87% sys 0% nic 0% idle 0% io 0% irq 3% sirq
    Load average: 5.25 2.16 0.89 2/52 6814
    PID PPID USER STAT VSZ %VSZ %CPU COMMAND
    2073 1 root D 16320 56% 22% /usr/bin/transmission-daemon -g /mnt/
    5 2 root SW 0 0% 14% [kworker/u:0]
    479 2 root SW 0 0% 13% [kworker/u:2]
    250 2 root SW 0 0% 13% [kworker/0:1]
    6803 1804 root S 2824 10% 10% {luci} /usr/bin/lua /www/cgi-bin/luci
    1232 1 root D 1432 5% 7% hostapd -P /var/run/wifi-phy0.pid -B
    95 2 root SW 0 0% 5% [kswapd0]
    194 2 root DW 0 0% 4% [mtdblock2]
    740 675 root R 1500 5% 3% udhcpc -p /var/run/udhcpc-eth0.2.pid
    2091 2084 root R 1500 5% 3% top
    1866 1 root S 3196 11% 2% /usr/sbin/nmbd -D
    2083 1786 root S 1216 4% 1% /usr/sbin/dropbear -P /var/run/dropbe
    1217 1 root D 1500 5% 0% /sbin/watchdog -t 5 /dev/watchdog
    630 1 root S 872 3% 0% /sbin/ubusd
    842 2 root SW 0 0% 0% [flush-8:0]
    675 1 root S 1536 5% 0% /sbin/netifd
    477 2 root SW 0 0% 0% [usb-storage]
    3 2 root SW 0 0% 0% [ksoftirqd/0]
    1864 1 root S 3108 11% 0% /usr/sbin/smbd -D
    6814 6803 root D 2824 10% 0% {luci} /usr/bin/lua /www/cgi-bin/luci

  25. Muito muito bom trabalho.
    Obrigado pelo tutorial,usei tudo que esta nele e deu certo de primeira,uso um 1043nd 1.8.
    Melhor custo beneficio que achei.
    Vou tomar a liberdade de dizer o que fiz e esta funcionando muito bem.
    Web cam usb no 1043 (baixo custo)peguei tudo na net.
    Baixe os pacotes listados.(via luci-sistema-sofware)

    kmod-usb2
    kmod-usb-core
    kmod-i2c-core
    kmod-video-uvc

    mjpg-streamer

    Eu usei uma webcam LG webpro
    No openwrt (via luci-sistema-sofware) baixei o driver SONIX (drive para esta camera)
    Va na interface luci-inicializar e ative o mjpg-streamer
    Use seu navegador(192.168.1.1:8080)no meu caso
    Seja feliz com sua webcam.
    Espero ter contribuido.
    Abraços Cyclonos.

  26. […] Essa é o terceiro post que faço sobre OpenWRT, falarei sobre a configuração de VPN, Scanners e Impressoras. Deixei esses itens por último por serem mais complicados de configurar e por apresentarem instabilidade em modelos de roteadores com pouco processamento como o meu, é muito provável que você tenha problemas principalmente com o scanner que é uma aplicação bem pesada para o processador de um roteador mas descreverei como consegui configurar esses itens na esperança de ajudar alguém que busque esse objetivo. Como os pacotes são grandes você provavelmente precisará estender o armazenamento do roteador via USB. Se você é novo ao OpenWRT, instalação de pacotes e derivados recomendo que comece pelo primeiro post da série. […]