Arch Linux - Conexão 3G VIVO com modem Nokia CS-10

Este artigo visa mostrar a configuração de uma conexão 3G utilizando a distribuição Arch Linux e o modem Nokia CS-10. As etapas mostradas aqui podem ser úteis para outras distribuições que adotam o KISS. Os princípios também podem ser úteis, porém com configurações um pouco diferentes para outros modems ou operadoras. O artigo mostra a opção padrão de configuração.

[ Hits: 20.857 ]

Por: João Marcos Menezes em 24/02/2010


Introdução / Modem Nokia CS-10 / UDEV



Este artigo visa mostrar a configuração de uma conexão 3G utilizando a distribuição Arch Linux e o modem Nokia CS-10. As etapas mostradas aqui podem ser uteis para outras distribuições que adotam o KISS. Os princípios também podem ser úteis, porém com configurações um pouco diferentes para outros modems ou operadoras. O artigo mostra a opção padrão de configuração (sendo a conexão 3G como única conexão internet). Será necessário conhecimentos mais avançados para compartilhar a conexão 3G ou conectar através de mais de uma conexão (neste caso é preciso definir bem as rotas com o comando route). O artigo é básico, porém atende a maior parte dos usuários.

Resumo: configurar o Udev para quando o modem seja conectado, o dispositivo seja ejetado para ser detectado como modem pelo Linux. Configurar o wvdial para conectar usando este modem. Usar o gammu para enviar e receber SMS.

Primeiro passo:

Configurar o Udev

Iremos criar uma regra no Udev para que quando o modem seja conectado o seu Arch ejete o dispositivo e então o Linux o reconhecerá como modem. Para esta etapa basta um kernel atualizado (venho utilizando desde o 2.6.30. Atualmente no 2.6.32). Criaremos alguns arquivos (com root) para que só ele os altere.

Para entrar como root

su -

Você também pode usar o sudo se preferir.

Crie no diretório /etc/udev/rules.d o arquivo 90-nokia-zerocd.rules com o conteúdo:

SUBSYSTEMS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="060c", ACTION=="add", PROGRAM=="nokia-testcd %M %s{serial}", RUN+="/usr/bin/eject -s %k",
OPTIONS+="last_rule"

Dê permissão de execução para outros usuários:

# chmod 755 /etc/udev/rules.d/90-nokia-zerocd.rules

Crie no diretório /lib/udev o arquivo nokia-testcd com o conteúdo:

#!/bin/sh
# Don't eject if flag in place
if [ -f /etc/udev/nokia-zerocd-noeject ]; then
   exit 1
fi
# Extract USB serial into major and minor numbers
minor=`echo $2 | sed 's/.[0-9]*\.//'`
major=`echo $2 | sed 's/\.[0-9]*$//'`
# Compare with current software version
if [ "$major" -gt "0" ] ||  [ "$minor" -gt "10" ]; then
   exit 1
fi
# Clean exit on match
exit 0

Dê permissão de execução para outros usuários:

# chmod 755 /lib/udev/nokia-testcd

Pronto, basta "espetar" o modem e o mesmo deverá ser reconhecido em /dev/ttyACM0 (ou /dev/ttyACM1).

Configurando o wvdial

Segundo passo, configurar o wvdial.

Instale o wvdial através do Pacman:

# pacman -S wvdial

Crie em /etc/wvdial.conf o arquivo padrão. O seguinte conteúdo será usado para conexão com a VIVO:

Modem = /dev/ttyACM0
Baud = 921600
DialCommand = ATDT
Check Def Route = on
FlowControl = Hardware(CRTSCTS)
Username = vivo
Password = vivo
Phone = *99#
Stupid mode = 1
Auto Reconnect = on
Auto DNS = off
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
ISDN = 0
Modem Type = Analog Modem

Agora para se conectar, após ter espetado seu modem e a luzinha azul ou verde (edge) estiver piscando, basta se logar como root e executar o wvdial.

su -
# wvdial


Você receberá o IP e DNS e estará conectado na Internet via 3G.

Abra o navegador, os aplicativos, aproveite até mesmo para atualizar seu Arch com:

# pacman -Syu

:)

P.S.: Para se conectar sem utilizar o root será necessário configurar acesso a outro grupo para o dispositivo e adicionar seu usuário a este grupo. Talvez aborte isto de maneira mais genérica em outro artigo. Como o foco aqui é se conectar se forma simples e rápida, não será abordado neste momento.

Enviar e receber SMS

Terceiro passo - enviando e recebendo SMS.

Para enviar e receber SMS é preciso instalar o gammu:

# pacman -S gammu

No diretório do root (/root) crie o arquivo .gammurc, com o conteúdo:

[gammu]
port=/dev/ttyACM0
connection=at

Agora, desconectado da internet e com o usuário root (senão precisará configurar manualmente as permissões para a porta do modem), digite:

# gammu --identify

E verifique se foram obtidas as configurações. Será exibido:

Device           : /dev/ttyACM0
Manufacturer     : Nokia
Model            : unknown (Nokia Internet Stick CS-10)
Firmware         : CS-10 R2.10
IMEI             : XXX
SIM IMSI         : XXX

Não consegui realizar este passo conectado a internet, portanto se estiver conectado com o WVDIAL, CTRL+C nele.

Para enviar SMS:

# echo "número" | gammu --sendsms TEXT 8300

O comando acima envia um SMS com a palavra número para 8300. Basta trocar o texto entre aspas ("número") e o 8300 pelo número de telefone para enviar SMS para outros números.

O SMS acima lhe devolve uma resposta com o número de telefone do chip do seu modem. É bastante útil, pois pode-se precisar deste número e não ter um Windows instalado.

Para receber SMS:

# gammu --getallsms

Mais opções:

# gammu --help

Conclusão

As operadoras começaram a olhar para o Linux. Mesmo assim há modems como este Nokia CS-10 que eles dizem não ser compatível, mas é... sobre o serviço 3G, este ainda deixa a desejar em muitos locais, mas já é um bom "quebra galho" para quem depende da Internet até mesmo para emergências no trabalho. Este artigo é simples e fala só o básico, para que se utilize a conexão 3G com o Nokia CS-10 de maneira simples. Teve um usuário do VOL que criou um script para configuração automática também, embora não o utilize pode ser útil para outras pessoas, informo o link abaixo.

Referências


   

Páginas do artigo
   1. Introdução / Modem Nokia CS-10 / UDEV
Outros artigos deste autor

Como criar DVD de vídeo e embutir legendas no Linux

Leitura recomendada

Transmissão de dados via telemetria: uma opção de comunicação remota

Configurando o Squid no Kurumin

Linux em Router Wireless (WRT54G Vs OpenWrt)

Anon-Proxy no Debian Lenny

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

  
Comentários
[1] Comentário enviado por removido em 24/02/2010 - 04:35h

Esse pessoal que dá suporte na Vivo são um bando de bun... mol.... Eles são terceirizados e atendem no escritório localizado em Las Cucuias de la Paloma... São um bando de cordeirinos que repetem as instruções no terminal.

- Béééééééééééééé...... (bali o bode mestre)
- Béééééééééééééé...... (repetem o resto)

Para quem já falou que o firefox não suporta html, é de se esperar outra conduta???????

[2] Comentário enviado por nicolo em 24/02/2010 - 11:19h

Bem ...Você diz que o artigo é básico. Isso me deixou deprimido, com baixo astral e um certo apetite pelo gramado.....
Tomara que cerveja cure isso.
Vou guardar o artigo , o 3G tá bombando.
Será que isso funciona no Ubuntu?

[3] Comentário enviado por xerxeslins em 24/02/2010 - 12:36h

Excelente artigo =)
Favoritado.

[4] Comentário enviado por hamilton.o.silva em 24/02/2010 - 16:26h

Nicolo,

Pode usar tranquilo no Ubuntu que funciona.

A única coisa que você tem que fazer de diferente no artigo todo é substituir o 'pacman -S' por 'apt-get install'

[5] Comentário enviado por corvolino em 25/02/2010 - 00:07h

viva o archlinux :D

[6] Comentário enviado por stremer em 25/02/2010 - 10:22h

nicolo... o artigo é basico pois quando se leva o notebook para cima é para baixo as vezes precisamos conectar pela rede local(lan), as vezes pela wireless(wlan), as vezes a rede local ou wireless é restrita e usamos proxy, as vezes 3G. As vezes o 3G ta lento mas a rede local é restrita e precisamos fazer um MIX conectando nas duas e definindo as rotas. As vezes temos que usar VPN e ainda compartilhar a conexão com alguma maquina virtual... por isso digo que é basico pois tenho que fazer uma série de coisas dependendo da onde estou com meu Arch... tem alguns scripts muito legais por ai mas nenhum deles me atendeu 100%...
Em relação ao ubuntu, como o amigo hamilton.o.silva falou, deve funcionar, como deve funcionar em qualquer linux com Kernel Atualizado+Udev+WvDial+Gammu. Só mudaria mesmo o jeito de instalar os aplicativos. Só que no Ubuntu dizem que é possivel configurar o 3G todo pelo NetWork Manager. Tem tbem o tal do Vodafone... mas não usei nenhum dos dois métodos... na verdade vai fazer logo mais 1 ano que minha unica distro desktop é Arch Linux e server Open Suse (10 e 11), estou meio por fora do ubuntu desde que o abandonei por alguns motivos...
Em relação a Vivo até concordo com o avcsilva, mas quando comprei meu modem (esse nokia) junto do 3G, entrei na loja da vivo e era a unica opção (embora eu estivesse procurando um zte ou Huawei pois sabia que tinha compatibilidade com o Linux e a vendedora me disse que o Nokia não tinha)... ai perguntei se ela tinha certeza pois eu utilizava o linux então ela procurou o superior que falou para ela: Funcionar funciona, mas é preciso configurar tudo manualmente... com as referências que encontrei na net em pouco tempo estava navegando pelo 3G... Montei esse artigo pois aqui tem tudo de forma simples até para um leigo... é preciso configurar manualmente mas em poucos minutos temos o 3G funcionando com esse modem... o que me incentivou a criar tal arquivo foi que não existe tanta informação sobre este modem como sobre os zte e huawei sobre linux...

Obrigado por terem gostado!

[7] Comentário enviado por removido em 26/02/2010 - 15:01h

Gostei do Artigo.

[]'s

[8] Comentário enviado por joander.vieira em 12/02/2011 - 14:11h

EU CONSEGUI CONECTAR COM A AJUDA DA COMUNIDADE.

MUITO OBRIGADO A TODOS QUE SE DISPUSERAM AJUDAR

"Gálatas 6:7
Não vos enganeis; Deus não se deixa escarnecer; pois tudo o que o homem semear, isso também ceifará."


SEGUE A CONFIGURAÇÃO DO wvdialconf PARA CLARO , QUE EU USEI:

[Dialer Defaults]
Modem = /dev/ttyACM0
Baud = 921600
DialCommand = ATDT
Check Def Route = on
FlowControl = Hardware(CRTSCTS)
Username = claro
Password = claro
Phone = *99***1#
Stupid mode = 1
Auto Reconnect = on
Auto DNS = off
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
ISDN = 0
Modem Type = Analog Modem

__________________________________________________________

[9] Comentário enviado por aracnodroid em 18/08/2014 - 09:27h

Não precisa desconectar da net (pelo menos no meu caso não precisou!), quando executei o wvdialconf, ele mostrou que deu erro na porta /dev/ttyUSB1, e que estava tudo ok nas portas /dev/ttyUSB2, /dev/ttyUSB3 e /dev/ttyUSB4 e como o modem conectou a internet pela porta /dev/ttyUSB4, foi só usar a porta /dev/ttyUSB3 que estava funcionando e não estava ocupada! Funcionou sem erros até a presente data! Abraço a todos do VOL!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts