Este é mais um artigo da série sobre o OpenWRT. Dentre os diversos usos de uma USB em um roteador com OpenWRT, um dos mais interessantes é a possibilidade de utilizá-la para conectar um modem 3g.
A rede de dados móvel já possui uma cobertura bem interessante, ao menos nos grandes centros. Em alguns casos, já contamos com a disponibilidade até de redes 4g. Já não é raro a situação onde a conexão de dados móvel tem maior velocidade de transferência do que a conexão cabeada. Contudo, em geral, a latência da rede de dados móvel é bem pior.
Os modem 3g tem um caráter individualista: você conecta diretamente no seu PC e somente ele usa a conexão de dados. Claro que existe a possibilidade de compartilhar a internet através de um outro computador, mas não é nada prático. Um roteador para esta função seria o ideal. É ótimo! Na infraestrutura, você só precisa de uma tomada e pode fornecer internet para um grupo PEQUENO de pessoas. Existe alguns produtos no mercado com o slogan de "roteador 3g" ou "roteador para modem 3g". Eles são roteadores wireless com uma porta USB ou mesmo, nos casos de um modem embutido, uma entrada para SIM Card. Alguns até contam com uma porta Ethernet para aumentar as possibilidades.
Mas qual a diferença destes roteadores "3g" e o que eu tenho aqui? Ele também tem uma porta USB! Por que não funciona conectar um modem 3g nele? A diferença é somente software. Os fabricantes, por ser interessante para seu negócio, limitam as funcionalidades do software do seu roteador. Com OpenWRT, o que você vai fazer com a USB é problema seu. Não temos qualquer limitação artificial.
O primeiro passo para a utilização do modem é a instalação dos drivers e programas para seu modem. Sempre tome cuidado no uso de disco pois colocar muitas funções no seu roteador irá acabar com o seu limitado espaço em disco (que você pode resolver com uma unidade externa USB). Se precisar de mais de uma porta USB, para usá-las também para conectar HD, impressora, você pode precisar de um Hub USB. Só lembre-se que, se for usar um Hub USB, seu modem 3g pode necessitar de um Hub com alimentação externa. O roteador, normalmente, não tem potência suficiente para alimentar mais dispositivos em conjunto com um dispositivo pesado como um modem 3g. Sem o Hub normalmente, o roteador dá conta.
Considerando que você tem espaço, os pacotes necessários são:
- comgt
- kmod-usb-serial
- kmod-usb-serial-option
- kmod-usb-serial-wwan ou kmod-usb-acm (depende do seu modem)
- usb-modeswitch
usb-modeswitch-data(Atualizando 3: não necessário para versão BB ou superior)- luci-proto-3g (para permitir a configuração pela interface WEB)
Para instalar, pode ser feito pela interface gráfica (sempre rodando um update antes para baixar a lista de pacotes) ou pela linha de comando:
opkg update
opkg install comgt kmod-usb-serial ...
Se estiver com dúvidas quando ao uso do kmod-usb-serial-wwan ou kmod-usb-acm, você pode instalar todos os pacotes (se tiver espaço). Se quiser descobrir qual é o correto, pode também conectá-lo em um desktop Linux e ver qual módulo é carregado (acm ou wwan). Algo como:
linuxdesktop:$ lsmod | grep acm
Vai listar se o módulo cdc-acm foi carregado.
Atualizando 3: Para a versão BB, é necessário ativar o serviço usbmode.
Instalado os módulos e programas, ao conectar o modem, você encontrará alguns dispositivos novos em /dev/. Eles podem ser /dev/ttyUSB{0,1,3} ou /dev/ttyACM. Isto indicará que seu modem foi reconhecido. Se não aparecer, tende reiniciar ou remover/reconectar o modem. Depois do dispositivo presente, basta adicionar uma nova interface. Você também poderá ver a criação destes dispositivos pelos logs na interface WEB.
Vou limitar a configuração pela interface WEB, que é mais simples e atende um público maior. Em "Rede/Interfaces", clique para adicionar uma nova interface. Escolha o nome que quiser, mas costumo seguir um padrão como wwan (wireless wan). No protocolo escolha "UMTS/GPRS/EV-DO". Ao prosseguir, você poderá configurar os demais parâmetros.
Nesta configuração, o dispositivo do modem vai ser um dos dispositivos que apareceram com o modem (/dev/ttyUSB0 ou /dev/ttyACM). O tipo de serviço, APN, e usuário e senha depende do seu provedor mas, se não souber, pergunte para quem sabe. O PIN só é necessário se seu cartão foi protegido por senha. Se não souber o que é isso, provavelmente não precisa. Por padrão, o roteador irá conectar pelo modem assim que o roteador ligar ou quando o modem for conectado. Se quiser fazer isto manualmente, desative a opção de conexão na inicialização em "Opções Avançadas". Ainda falta a configuração da zona do firewall, que é fundamental para o funcionamento. O mais simples é simplesmente configurar esta nova interface na zona WAN. Assim, a mesma conectividade que você teria pela porta WAN, você terá na conexão 3g. Se tudo der certo, após aplicar as configurações, seu modem irá conectar em breve.
Sentiu falta de alguma coisa? Ah, não tem opção de configurar o número do telefone pela configuração do OpenWRT. :-( E, para alguns casos, isto é fundamental (Vivo). Para mudar o número de discagem, edite o arquivo /etc/chatscripts/3g.chat e mude o número do comando ATDT. Ex:
/etc/chatscripts/3g.chat:
OK "ATDT*99#"
No roteador, você tem o editor vi. Para novatos ele é bem estranho mas fundamental saber trabalhar com ele para se virar neste mundo UNIX. Também pode copiar o arquivo, editar no desktop e copiar de volta. Só cuidado para usar um editor que não troque o "nova linha" de UNIX para Windows. Não use o notepad!
Atualizando 1: a versão Barrier Breaker (14.07) já consta com uma opção na configuração para definir o número de discagem: dialnumber. Entretanto, ela não está ainda disponível na interface Luci (WEB). Desta forma, ainda será necessário editar um arquivo de configuração (/etc/config/network) ou usar comandos uci.
Atualizando 2: a futura versão do Luci que acompanhará o OpenWRT Caos Calmer (em desenvolvimento) terá suporte a configuração do dialnumber pela interface web.
Atualizando 1: a versão Barrier Breaker (14.07) já consta com uma opção na configuração para definir o número de discagem: dialnumber. Entretanto, ela não está ainda disponível na interface Luci (WEB). Desta forma, ainda será necessário editar um arquivo de configuração (/etc/config/network) ou usar comandos uci.
Atualizando 2: a futura versão do Luci que acompanhará o OpenWRT Caos Calmer (em desenvolvimento) terá suporte a configuração do dialnumber pela interface web.
Mas ainda não funcionou! Observe as mensagens do sistema (pela interface WEB ou comando logread). Lá estará o motivo de não ter funcionado.
Se a conexão 3g é a sua "segunda conexão", você pode estar interessado também no artigo sobre balanceamento de conexões.
Até a próxima.
PS: Depois que acabar alguns projetos prioritários que estão em fase de conclusão, vou ver se gasto um tempo para adicionar a opção do número de discagem na interface WEB.
Podia postar instalar e configurar o squid no openwrt instalado em um mikrotik.
ResponderExcluirPrimeiramente parabens pelo seu BLOG muito interessante e util!
ResponderExcluirPreciso de uma ajuda:
Estou utilizando um TPLink WR1043ND + Vivo 3g Dlink (DWM-156 a6).
Esta tudo detectado mas quando efetua a discagem, aparece o seguinte erro:
Dec 4 15:02:14 OpenWrt daemon.notice pppd[9102]: pppd 2.4.5 started by root, uid 0
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: abort on (BUSY)
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: abort on (NO CARRIER)
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: abort on (ERROR)
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: report (CONNECT)
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: timeout set to 12 seconds
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: send (AT&F^M)
Dec 4 15:02:15 OpenWrt local2.info chat[9106]: expect (OK)
Dec 4 15:02:27 OpenWrt local2.info chat[9106]: alarm
Dec 4 15:02:27 OpenWrt local2.info chat[9106]: Failed
Dec 4 15:02:27 OpenWrt daemon.err pppd[9102]: Connect script failed
Dec 4 15:02:28 OpenWrt daemon.info pppd[9102]: Exit.
Dec 4 15:02:28 OpenWrt daemon.notice netifd: Interface 'WWAN' is now down
Já efetuei diversas modificacoes no arquivo 3g.chat e ele esta desta maneira agora:
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
TIMEOUT 12
"" "AT&F"
OK "ATE1"
OK 'AT+CGDCONT=1,"IP","$USE_APN"'
SAY "Calling UMTS/GPRS"
TIMEOUT 30
OK "ATDT*99#"
CONNECT ' '
Tem algum ideia de como podemos resolver este problema?
Grato
Eugenius
Olá Eugenius,
ExcluirEle está falhando no "AT&F^M". Provavelmente tem alguma coisa errada no seu arquivo. Não sou expert em sintaxe de ppp mas, aparentemente, ele ainda está esperando um OK, mesmo você usando "" "AT&F". E seu modem não está retornando o OK.
Dica: conecta a partir de um Linux desktop e verifique se seu modem funciona no Linux e quais comandos ele usa. Você verá os comandos usados em /var/log/alguma coisa (depende da distribuição).
Luiz pode me dar uma ajuda? Qdo instalei a openwrt no meu tp link, eu configurei p usar o modem 3g com chip da claro. O problema é que agora estou usando o chip da viivo e preciso inserir o nº de discagem. Vc pode por favor me ajudar passo a passo p poder editar o arquivo 3g.chat que vc menciona no post?
ResponderExcluirObrigado....
André
André,
ExcluirVocê precisa de um "passo a passo" para editar usando vi. :-) Busca no google que tem um monte.
Depois de conectar com ssh, execute:
vi /etc/chatscripts/3g.chat
No vi, i para modo de inserção, altere o que você quer, esc, :, w, q, enter.
Se executar novamente o comando vi, você poderá observar se seu arquivo foi modificado.
Abs,
Obrigado Luiz, deu certo aqui, usei o comando vi no putty e funcionou.
ExcluirSó tira mais uma dúvida p mim por gentileza:
Como eu faço para que o modem trabalhe só no 3g? Pelo que vi parece que ele fica meio no automático alternando entre 2g e 3g. Existe algum esquema p isso?
Obrigado mais uma vêz...
André
André,
ExcluirSe eu não me engano, na configuração da interface você pode escolher o tipo. Só não testei na prática. Também pode existir algum comando AT que faça isto. Pelo que eu busquei rapidamente, depende do modelo do seu modem. Busca na internet por "AT commnad select only 3g " que você poderá encontrar o comando correto. Depois só adicionar no arquivo que você já editou.
Ah, e provavelmente a oscilação é devido a qualidade do sinal. Talvez em modo 3g-only, você terá falta de conectividade quando antes ele ia para 2g. Mas só testando para garantir.
Luiz bom dia!
ResponderExcluirEntão... achei o comando AT referente ao meu modem neste site:
https://wiki.archlinux.org/index.php/Huawei_E1550_3G_modem
Aí usei o seguinte comando:
AT^SYSCFG=mode, order, band, roaming, domain - System Config
Simplesmente adicionei uma linha com o comando acima no 3g,chat.
AT^SYSCFG=14
Mas infelizmente qdo coloco esse comando, o modem não conecta mais.
Será que fiz algo errado?
Abrç
André
Acho que pela sintaxe, ele quer os outros campos. Seria algo como:
ExcluirAT^SYSCFG=14,3,40000000,2,4
amigo, gostaria de acessar um dispositivo pela usb usando um cabo serial-usb (prolific).
ResponderExcluirJá instalei alguns pacotes: kmod-usb-serial kmod-usb-serial-pl2303
O que preciso mais para acessar esta porta com pelo pc? Teria como me ajudar?
dmesg
usb 1-1: USB disconnect, device number 2
[ 1566.750000] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 1566.760000] pl2303 1-1:1.0: device disconnected
[ 1569.300000] usb 1-1: new full-speed USB device number 3 using ehci-platform
[ 1569.450000] pl2303 1-1:1.0: pl2303 converter detected
[ 1569.480000] usb 1-1: pl2303 converter now attached to ttyUSB0
Como assim? Você conectou um adaptador usb/serial no roteador? Ou no seu PC? Quer falar o que com quem?
ExcluirAo menos pela msg de kernel, o seu cabo foi conectado e reconhecido. A serial está em /dev/ttuUSB0.
usb/serial está conectado no roteador e gostaria de acessar pela rede. Preciso me comunicar pela rede com um equipamento que usa rs232 .
ExcluirObrigado pela atenção.
Deixa eu entender: você conectou um dispositivo usb-serial na usb do roteador e quer acessar um equipamento conectado pela serial acessando o roteador?
ExcluirSe for isto, basta instalar os drivers seriais (normalmente é o kmod-usb-serial-pl2303) e um programa de acesso serial (como o minicom ou o screen). A sua serial deve estar em /dev/ttyUSB0. Na dúvida, depois de instalado os programas, não é diferente de um Linux normal. Qualquer documentação da versão Linux para desktop serve neste caso.
Como vai Luiz? Estou precisando mais uma vez de sua ajuda.
ResponderExcluirSegui todos os passos e não funcionou.
Mar 29 01:02:48 OpenWrt local2.info chat[19820]: CONNECT
Mar 29 01:02:48 OpenWrt local2.info chat[19820]: -- got it
Mar 29 01:02:48 OpenWrt local2.info chat[19820]: send ( ^M)
Mar 29 01:02:48 OpenWrt daemon.info pppd[19816]: Serial connection established.
Mar 29 01:02:48 OpenWrt daemon.info pppd[19816]: Using interface 3g-Claro3G
Mar 29 01:02:48 OpenWrt daemon.notice pppd[19816]: Connect: 3g-Claro3G <--> /dev/ttyUSB0
Mar 29 01:02:49 OpenWrt daemon.notice pppd[19816]: Modem hangup
Mar 29 01:02:49 OpenWrt daemon.notice pppd[19816]: Connection terminated.
Mar 29 01:02:50 OpenWrt daemon.info pppd[19816]: Exit.
Depois de pesquisar bastante encontrei um situação parecida com minha aqui https://forum.openwrt.org/viewtopic.php?id=30818 mas meu inglês é nulo, e minha experiencia com o OpenWrt é de apenas 1 dia.
Então adicionei a linha "option 'pppd_options' 'debug'" na configuração da interface.
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: sent [LCP ConfReq id=0x1 ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: rcvd [LCP ConfReq id=0x6d ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: No auth is possible
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: sent [LCP ConfRej id=0x6d ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: rcvd [LCP ConfAck id=0x1 ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: rcvd [LCP ConfReq id=0x6e ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: sent [LCP ConfAck id=0x6e ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: sent [LCP EchoReq id=0x0 magic=0xfa888ad4]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: sent [IPCP ConfReq id=0x1 ]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: rcvd [LCP DiscReq id=0x6f magic=0x7293a772]
Mar 29 01:12:05 OpenWrt daemon.debug pppd[21263]: rcvd [LCP EchoRep id=0x0 magic=0x7293a772 fa 88 8a d4]
Não faço a menor ideia de como fazer funcionar.
Abraço.
Olá,
ResponderExcluirUm pouco antes do primeiro log seria interessante. N parte do Connect... Got it, a comunicação do modem foi efetuada com sucesso. Neste caso, não é problema de drivers ou sinal. É o openwrt rejeitando ou a claro. Possivelmente método de autenticação, usuário, senha, apn.. No lado da claro, pagamento :-) se funciona em outro ambiente, fique com a primeira possibilidade.
Pelo segundo log, o no auth is possible indica isto tbm, seguido de um confrej (possivelmente seu roteador rejeitando a configuração enviada pela claro). Termina com a claro pedindo para você desconectar discreq
Reveja as conta ai
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: abort on (BUSY)
ExcluirMar 29 09:33:45 OpenWrt local2.info chat[23906]: abort on (NO CARRIER)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: abort on (ERROR)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: report (CONNECT)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: timeout set to 10 seconds
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: send (AT&F^M)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: expect (OK)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: AT&F^M^M
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: OK
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: -- got it
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: send (ATE1^M)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: expect (OK)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: ^M
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: ATE1^M^M
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: OK
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: -- got it
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: send (AT+CGDCONT=1,"IP","bandalarga.claro.com.br"^M)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: timeout set to 30 seconds
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: expect (OK)
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: ^M
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: AT+CGDCONT=1,"IP","bandalarga.claro.com.br"^M^M
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: OK
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: -- got it
Mar 29 09:33:45 OpenWrt local2.info chat[23906]: send (ATD*99***1#^M)
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: expect (CONNECT)
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: ^M
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: ATD*99***1#^M^M
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: CONNECT
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: -- got it
Mar 29 09:33:46 OpenWrt local2.info chat[23906]: send ( ^M)
Mar 29 09:33:46 OpenWrt daemon.debug pppd[23888]: Script USE_APN=bandalarga.claro.com.br /usr/sbin/chat -t5 -v -E -f /etc/chatscripts/3g.chat finished (pid 23905), status = 0x0
Mar 29 09:33:46 OpenWrt daemon.info pppd[23888]: Serial connection established.
Mar 29 09:33:46 OpenWrt daemon.debug pppd[23888]: using channel 555
Mar 29 09:33:46 OpenWrt daemon.info pppd[23888]: Using interface 3g-Claro3G
Mar 29 09:33:46 OpenWrt daemon.notice pppd[23888]: Connect: 3g-Claro3G <--> /dev/ttyUSB0
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [LCP ConfReq id=0x1 ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [LCP ConfReq id=0x3f ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [LCP ConfRej id=0x3f ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [LCP ConfAck id=0x1 ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [LCP ConfReq id=0x40 ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [LCP ConfAck id=0x40 ]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [LCP EchoReq id=0x0 magic=0x65471e26]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [LCP DiscReq id=0x41 magic=0x72aa26b6]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [CHAP Challenge id=0x1 , name = "UMTS_CHAP_SRVR"]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [CHAP Response id=0x1 , name = "claro"]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [LCP EchoRep id=0x0 magic=0x72aa26b6 65 47 1e 26]
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: rcvd [CHAP Success id=0x1 ""]
Mar 29 09:33:47 OpenWrt daemon.info pppd[23888]: CHAP authentication succeeded
Mar 29 09:33:47 OpenWrt daemon.notice pppd[23888]: CHAP authentication succeeded
Mar 29 09:33:47 OpenWrt daemon.debug pppd[23888]: sent [IPCP ConfReq id=0x1 ]
Mar 29 09:33:47 OpenWrt daemon.notice pppd[23888]: Modem hangup
Mar 29 09:33:47 OpenWrt daemon.notice pppd[23888]: Connection terminated.
Mar 29 09:33:48 OpenWrt daemon.info pppd[23888]: Exit.
Mar 29 09:33:48 OpenWrt daemon.notice netifd: Interface 'Claro3G' is now down
O Modem é o Huawei E392 e ele está funcionando no windows.
ExcluirA parte do chat parece ok. Número e APN corretos.
ExcluirEle conecta e passa para o LCP negociar o canal.
Do diálogo LCP, pesquisei melhor e o DiscReq é "Discard Request". Então não foi o pedido de desconexão.
Ele começou a falar com o autenticador CHAP da CLARO (UMTS_CHAP_SRVR). Iniciou a autenticação corretamente e conseguiu autenticar.
O problema ocorre com o IPCP (http://en.wikipedia.org/wiki/Internet_Protocol_Control_Protocol). Neste caso, você pode tentar colocar isto na conf de rede:
option 'pppd_options' 'debug noipdefault'
O debug é opcional. Entretanto, isto já deveria ser padrão na versão 12.10. Veja o meu caso:
root@router:~# cat /etc/ppp/options
#debug
logfile /dev/null
noipdefault
noaccomp
nopcomp
nocrtscts
lock
maxfail 0
lcp-echo-failure 5
lcp-echo-interval 1
E talvez tente as opções:
maxfail 40
persist
Este comentário foi removido pelo autor.
ExcluirEsse log que postei já estava com o debug noipdefault. Tentei o maxfail 40 e persist, mas não mudou nada. Que pena...
ResponderExcluirMas obrigado.
Consegui fazer funcionar o modem huwaei e392 (claro 4g) com o roteador tl-wr1043nd.
ResponderExcluirUtilizo o modem no pc com o discador da claro. Configurei o discador para acessar apenas redes LTE, pensava que essa era apenas um configuração local, porém parece que é alterada as configurações internas do modem.
Conectei o modem no pc e mudei as configurações do discador para AUTO e o modem conectou no OpenWrt.
Luiz obrigado pela atenção e paciência.
Abraço
Opa, ótima notícia!
ExcluirBoa noite, Luiz. Ainda não dei continuidade à execução do seu tutorial, pois na lista de pacotes necessários consta o "kmod-usb-serial" duas vezes seguidas. Observei que existem vários pacotes com esse nome, e gostaria de saber se você esqueceu de adicionar o restante do nome em um dos pacotes, ou se você repetiu sem querer.
ResponderExcluirAté mais! ;)
Repetido mesmo. Pode ignorar. Vou arrumar no texto. Obrigado.
ExcluirBom dia, Luiz. Fiz os procedimentos aqui, e deu certo! Está funcionando 100%! =D
ExcluirMas, tenho uma dúvida: eu reparei que não há a opção de monitorar o tráfego mensal (por exemplo) da rede, tipo, o que eu consumi durante o mês e tals.
Você sabe se tem algum pacote disponível que adicione essa função?
Sim, e muitíssimo obrigado por disponibilizar este tutorial! ;)
O openwrt tem por princípio não guardar dados deste tipo na flash para preservá-la. Se ela falhar por excesso de gravação, não é muito fácil trocar. Mesmo em roteadores enterprise (como um cisco), ele não preserva este tipo de informação, ficando a cargo de um sistema externo, em especial os que utilizam snmp.
ExcluirO que você tem são os contadores de tráfego de um linux convencional. Você pode pegar estes dados de diversas formas, como com o ifconfig:
# ifconfig wlan0-1
wlan0-1 Link encap:Ethernet HWaddr 92:F6:52:B0:C7:E3
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1911337 errors:0 dropped:0 overruns:0 frame:0
TX packets:7399002 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:32
RX bytes:343829527 (327.9 MiB) TX bytes:1778633594 (1.6 GiB)
Observe a última linha.
O problema é que estes contadores zeram quando a interface é derrubada. O mesmo ocorre ao reiniciar. Você precisaria de algum mecanismo de preservação desta informação. Preferencialmente, este dado não deve ser escrito na flash interna mas em um pendrive ou sistema externo (para preservar a flash).
Opções? Pode fazer um script caseiro para escrever isto em um pendrive a cada 1min. Ele pode ser executado periodicamente pela cron. Depois ele precisaria somar todas as entradas em que a próxima leitura tiver menos tráfego (indicando que a conexão foi reiniciada) e a última leitura.
Outra opção seria utilizar um sistema convencional de monitoramento de roteadores. Munin deve funcionar. Você também pode instalar o net-snmp no roteador e ler esta informação de um sistema externo. Se estiver usando um disco com pendrive no openwrt, pode, inclusive, instalá-lo também no roteador.
Bom dia, Luiz
ResponderExcluirPostei no artigo errado, desculpe!
Sabe se existe a possibilidade do WDR 3600 conectar com um modem 3g/4g do tipo "Hi-link" por exemplo o ZTE MF823L?
Esse tipo de modem hi-link criar conexão Ethernet e não utiliza um discador, somente uma interface web para configuração, toda a configuração feita fica salva no próprio modem.
Provavelmente ele funciona como uma placa de rede USB. VC precisa dos drivers para isto. Pode buscar o módulo de kernel na internet pelo usbid do dispositivo (usando lsusb) ou fazer por tentativa e erro. Deve ser um kmod-usb-alguma-coisa, provavelmente kmod-usb-net.
ResponderExcluirOlá Luiz!
ResponderExcluirGostaria de utilizar meu Modem da Claro 4G modelo Hauwei E 392 ligado a um roteador para se tornar um sinal de wifi na minha casa de praia. Mas não sei qual roteador adquirir, qual seria compatível com este tipo de Modem. Cada vendedor me diz uma coisa diferente. Será que você ou alguém poderia me ajudar pra que eu não gaste meu dinheiro à toa? Valeu!!! Abço.
Patricia,
ExcluirSe trocar o firmware do seu roteador pelo OpenWrt, você poderia usar o 3g em qualquer roteador com USB. Você só precisaria de um roteador compatível com o OpenWrt.
Quanto as soluções prontas de mercado, eu não saberia te indicar. Se for sua opção, sugiro que você leve o modem no local e teste in loco antes de comprar.
Este blog tem diversos artigos relacionados ao OpenWrt. Se for o seu perfil trocar o sistema do seu roteador, seja bem vinda a bordo.
Abs
Ola Luiz
ResponderExcluirInstalei OpenWrt AA 12.09 num mr3020 Tp-Link. Instalei todos os modulos necessarios para os modems 3g mas meu D-Link DWM-156 não quer saber de aparecer no Hardware e no lugar aparece um CD/Rom. Pesquisando achei que deve ou deveria ser usado modeswitch mas o HWid desse modem não aparece no modeswitch e não consigo ver as portas tty. Acabei com meu conhecimento de Linux. Vc sabe como resolver isso? Preciso de usar AA 12.09 para um projeto que estou tentando fazer. Já agradeço.
Opa, tudo bem?
ResponderExcluirEstou tentando configurar um HUAWEI E173 em um TL-WDR4300 e o dispositivo não é listado para seleção. Acessando via ssh e listando o /dev/ tenho o seguinte:
ttyS0 ttyS15 ttyS8
ttyS1 ttyS2 ttyS9
ttyS10 ttyS3 ttyS11 ttyS4
ttyS12 ttyS5
ttyS13 ttyS6
tty ttyS14 ttyS7
Visualizando o dmesg, vejo que o dispositivo foi registrado:
usb 1-1.2: new full-speed USB device number 3 using ehci-platform
No arquivo /sys/kernel/debug/usb/devices:
T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=1446 Rev= 0.00
S: Manufacturer=Qualcomm, Incorporated
S: Product=USB MMC Storage
S: SerialNumber=ÿÿÿÿÿÿÿÿÿÿÿÿ
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
Não sei para onde prosseguir para solucionar o problema. Tu alguma ideia do que possa ser?
Agradeço desde já.
Parece que ele não fez o modeswitch.
ExcluirQual versão do openwrt você usa? Tentou depois de reiniciar o roteador?
Luiz, obrigado pelo retorno!
ExcluirAcabei vendendo o WDR4300 e recebi essa semana um WR1043ND. Segui seu tutorial com o 1043 e tudo funcionou perfeitamente!
Valeu de novo, abraço!
Fala aí, tudo bem?
ResponderExcluirConfigurei um modem D-Link DWM-157 no OpenWRT porém acontece algo muito estranho. No windows consigo conectar normalmente. No OpenWRT, aparece a seguinte mensagem: Failed (NO CARRIER). O que será que pode ser?
root@OpenWrt:~# dmesg | grep USB
[ 4.640000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.660000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[ 4.690000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[ 4.690000] hub 1-0:1.0: USB hub found
[ 5.020000] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 5.170000] hub 1-1:1.0: USB hub found
[ 5.460000] usb 1-1.1: new high-speed USB device number 3 using ehci-platform
[ 11.290000] usbserial: USB Serial support registered for generic
[ 11.580000] usbserial: USB Serial support registered for GSM modem (1-port)
[ 136.520000] usb 1-1.1: USB disconnect, device number 3
[ 137.270000] usb 1-1.1: new high-speed USB device number 4 using ehci-platform
[ 137.400000] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[ 137.420000] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[ 137.440000] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[ 137.460000] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB3
Segue o log completo:
Mon May 25 20:46:20 2015 daemon.notice netifd: Interface 'Claro' is setting up now
Mon May 25 20:46:22 2015 daemon.notice pppd[1809]: pppd 2.4.7 started by root, uid 0
Mon May 25 20:46:23 2015 local2.info chat[1812]: abort on (BUSY)
Mon May 25 20:46:23 2015 local2.info chat[1812]: abort on (NO CARRIER)
Mon May 25 20:46:23 2015 local2.info chat[1812]: abort on (ERROR)
Mon May 25 20:46:23 2015 local2.info chat[1812]: report (CONNECT)
Mon May 25 20:46:23 2015 local2.info chat[1812]: timeout set to 10 seconds
Mon May 25 20:46:23 2015 local2.info chat[1812]: send (AT&F^M)
Mon May 25 20:46:23 2015 local2.info chat[1812]: expect (OK)
Mon May 25 20:46:23 2015 local2.info chat[1812]: AT&F^M^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: OK
Mon May 25 20:46:23 2015 local2.info chat[1812]: -- got it
Mon May 25 20:46:23 2015 local2.info chat[1812]: send (ATE1^M)
Mon May 25 20:46:23 2015 local2.info chat[1812]: expect (OK)
Mon May 25 20:46:23 2015 local2.info chat[1812]: ^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: ATE1^M^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: OK
Mon May 25 20:46:23 2015 local2.info chat[1812]: -- got it
Mon May 25 20:46:23 2015 local2.info chat[1812]: send (AT+CGDCONT=1,"IP","claro.com.br"^M)
Mon May 25 20:46:23 2015 local2.info chat[1812]: timeout set to 30 seconds
Mon May 25 20:46:23 2015 local2.info chat[1812]: expect (OK)
Mon May 25 20:46:23 2015 local2.info chat[1812]: ^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: AT+CGDCONT=1,"IP","claro.com.br"^M^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: OK
Mon May 25 20:46:23 2015 local2.info chat[1812]: -- got it
Mon May 25 20:46:23 2015 local2.info chat[1812]: send (ATD*99***1#^M)
Mon May 25 20:46:23 2015 local2.info chat[1812]: expect (CONNECT)
Mon May 25 20:46:23 2015 local2.info chat[1812]: ^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: ATD*99***1#^M^M
Mon May 25 20:46:23 2015 local2.info chat[1812]: NO CARRIER
Mon May 25 20:46:23 2015 local2.info chat[1812]: -- failed
Mon May 25 20:46:23 2015 local2.info chat[1812]: Failed (NO CARRIER)
Mon May 25 20:46:23 2015 daemon.err pppd[1809]: Connect script failed
Mon May 25 20:46:24 2015 daemon.info pppd[1809]: Exit.
Mon May 25 20:46:24 2015 daemon.notice netifd: Interface 'Claro' is now down
Obrigado!!
Descobri o problema!! Usei os dois comandos abaixo e descobri que estava usando a "ttyUSB" errada.
ExcluirComando para exibir informações sobre o modem:
gcom info -d /dev/ttyUSBx
Comando para verificar o sinal do modem:
gcom -d /dev/ttyUSBx
Onde x é o numero da porta desejada.
Sucesso!
Ótimo. É um pouco confuso mesmo esses modems. O seu cria 4 seriais. Normalmente a porta de comunicação é a primeira mas o gcom é a forma mais segura de descobrir.
ExcluirOlá Luiz,
ResponderExcluirPode me ajudar?
Qual firmware consigo utilizar no modelo Multilaser RE072 3G 150Mbps
Andreza, multilaser não faz roteador. Só compra de outros e coloca a marca. Se descobrir o fabricante (tplink?) e o modelo original, podemos tentar a adaptação.
ExcluirJá fizeram isto para o re027 e re039 http://wiki.openwrt.org/toh/multilaser/re027
Este comentário foi removido pelo autor.
ResponderExcluirLuiz está dando essa msg.. não sei o que mais fazer..
ResponderExcluirdaemon.notice netifd: Interface 'Modem' is now down
Sat Mar 18 10:26:34 2017 daemon.notice netifd: Interface 'Modem' is setting up now
Sat Mar 18 10:26:36 2017 daemon.notice pppd[2304]: pppd 2.4.7 started by root, uid 0
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: abort on (BUSY)
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: abort on (NO CARRIER)
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: abort on (ERROR)
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: report (CONNECT)
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: timeout set to 10 seconds
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: send (AT&F^M)
Sat Mar 18 10:26:37 2017 local2.info chat[2312]: expect (OK)
Sat Mar 18 10:26:47 2017 local2.info chat[2312]: alarm
Sat Mar 18 10:26:47 2017 local2.info chat[2312]: Failed
Sat Mar 18 10:26:47 2017 daemon.err pppd[2304]: Connect script failed
Sat Mar 18 10:26:48 2017 daemon.info pppd[2304]: Exit.
O modem não parece estar respondendo. O comando AT&F significa "limpe as configurações" (^M é um enter). Faz parte da preparação do modem, antes de qualquer verificação do sinal. Por não responder OK, depois de 10s, ele abortou.
ExcluirEsse modem funciona em Linux? É QMI? Está com o dispositivo aparecendo em /dev e está configurado corretamente? É um problema em uma fase muito inicial para diagnosticar diretamente. Só descarte problemas da operadora.
Aparentemente sim, O modelo dele e o HUAWEI E3272
ExcluirNo Windows ele ta OK.
Excluirroot@OpenWrt:~# gcom info -d /dev/ttyS0
ResponderExcluir##### Wireless WAN Modem Configuration #####
Product text:
====
====
Manufacturer: IMEI and Serial Number: comgt 18:05:03 -> -- Error Report --
comgt 18:05:03 -> ----> ^
comgt 18:05:03 -> Error @776, line 45, String is shorter than second argument. (7)
Quando dou esse comando da o erro
Rafael,
ExcluirBusquei a msg de erro e achei algo interessante:
http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=817
Acho que seu modem talvez ainda não seja reconhecido pelo modeswitch desta versão.
Pode tentar usar a versão nova do LEDE (sucessor do OpenWRT, que pode ainda voltar a se chamar OpenWRT) ou tentar resolver manualmente.
No fórum, usaram este comando:
echo "07d1 7e11" > /sys/bus/usb-serial/drivers/option1/new_id
Claro, troque as informações pelo vendor/product id que podem ser obtidos com um lsusb (pacote usbutils).
Luizluca, estou usando um dongle da Tim modelo ZTE MF79s, que está configurado como uma interface ethernet, instalei apenas os módulos kmod-usb-net-rndis e usb-modeswitch.
ResponderExcluirPelo dmesg vi que o modem foi detectado como eth2, então configurei ele dentro do /etc/config/network como interface wan2, ifname eth2 e proto dhcp, também configurei a wan2 na zona wan do firewall.
A interface está recebendo IP do modem, consigo pingar o gateway, consigo acessar a página de configuração do Modem, mas quando tento acessar a internet não funciona, o modem funciona normalmente plugado direto no computador. Já revi toda a configuração e não consegui descobrir o que estou errando, consegue me dar uma luz?
Obrigado
Caro Pobre,
ExcluirVocê aparentemente fez tudo certo. Acho que o usb-modeswitch talvez não se aplique ao seu caso. Mas você, com o modem em mãos, tem mais condição de dizer. Quando aparecer a eth2, não precisa de mais pacotes.
Parece que está tudo funcionando exceto roteamento. Por acaso você configurou a zona do firewall da wan2 para wan? Se não especificou uma zona, vai se comportar como você mencionou.
Luiz,
ResponderExcluirConsegui resolver, realizei um traceroute do meu pc, e percebi que os pacotes estavam tentando sair pela rota WAN mesmo ela estando desconectada.
Então percebi que o OpenWrt não estava criando uma rota default para o Modem 3G, apesar de estar tudo configurado, fuçando em alguns foruns gringos, consegui encontrar um script(https://gist.github.com/andiwand/5b5acc2c4873a0cfbe5eb0123c8fdd16) que resolveu o meu problema, parece ser um bug da versão Openwrt/LEDE que estou usando. Agora está tudo funcionando.
Obrigado!
Este comentário foi removido pelo autor.
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirLuiz Dias, não editei apenas salver na pasta /etc/hotplug.d/iface/01-default-route e reiniciei o router.
ExcluirOlá Luiz, Há um jeito de alterar o contador de HOP dos pacotes que saem pela rede 3G, pra que a operadora não perceba que estou fazendo roteamento? Pois parece que eles limitam a banda dos PACOTES roteados.
ResponderExcluirObrigado!!
Seria mais ou menos isso?
Excluirhttps://www.linuxtopia.org/Linux_Firewall_iptables/x4799.html
Você pode colocar a chamada do iptables tanto em /etc/firewall.user como criar um arquivo próprio e incluir como é feito pelo miniupnpd:
config include 'miniupnpd'
option type 'script'
option path '/usr/share/miniupnpd/firewall.include'
option family 'any'
option reload '1'
Mas, se funcionar, já passa o comando mastigado que você usou e também fala o nome do "santo". Sempre é bom conhecer as operadoras pelas suas práticas ilegais (sim, existe a neutralidade da rede).
Provando que é isso, denúncia, no mínimo, a ANATEL, mas talvez até PROCON ou MP.
Perfeito acho que é isso mesmo que preciso.
ExcluirComo já expliquei em uma postagem anterior meu modem (ZTE MF79s) está plugado na USB e sendo reconhecido como ETH2, neste caso ele é o ROUTER 1 e o Archer está como Router 2.
Se eu tiver entendido bem, os pacotes chegarão no router 2 e diminuirá 1 no TLL, e diminuirá mais 1 no Router 1, então se eu quero simular que ele não está passando por nem um ROUTER eu teria que Incrementar 3 no TTL dos pacotes.
Exemplo: Digamos que receba um pacote com TTL 64, se eu não fizer nada ele sairá pelo MODEM 3G com um TTL de 62, seu INCREMENTAR 2 ele sairá com o mesmo 64 que entrou parece ser isso que eu preciso.
Só fico na duvida se ao invés de usar TTL --ttl-inc 2 seja melhor eu padronizar todos os pacotes usando o ttl-set 66.
Eu acho que a operadora está limitando a REDE pelo fato de com o chip direto no celular os testes marcarem mais 10MB de UP/DOWN e quando coloco no router mal chega nos 5MB, vou fazer os testes e te informar se funcionou.
Olá, será que você poderia me ajudar?
ResponderExcluirEstou tentando fazer a conexão com um roteador tl-mr3020 e com um modem dwm-156.
Fiz todas as configurações, e baixei todos os pacotes necessarios, porem o modem nao conecta
Fiz um teste com um modem huawey e3272s e ele funciona de primeira assim que conecto ele na porta do roteador, porem o dwm nao funciona.
Teria alguma configuração diferente para esse tipo de modem?
Os pacotes que você descreveu no seu post e os pacotes descritos no site da openwrt (https://openwrt.org/docs/guide-user/network/wan/wwan/3gdongle) eu ja instalei todos, teria algo mais a ser feito?
Tem que ver que tipo de modem ele é. Os mais novos se comportam como uma placa de rede e nem autenticação tem.
ExcluirOs mais antigos se apresentavam como modem dial-up USB. Neste meio tempo, existiram alguns que se apresentavam como um CD-ROM virtual com o driver (para windows) e precisaram ser mudados de modo para se tornarem um modem (usb-modeswitch).
Eu primeiro testaria em um Linux Desktop para ver como ele se comporta e se funciona. É mais fácil do que ficar instalando pacotes no roteador para investigar pois o espaço é limitado. No OpenWrt, sempre tente na última versão pois o problema já pode estar resolvido.