No meu caso eu utilizo o
Vivo 3G, que precisa ter o plano de dados contratado para a linha. Também funciona colocando-se somente um chip com apenas o plano 3G.
Vendo como o sistema encara o modem. Como root execute:
# dmesg -c
Agora com o celular ligado vá em:
MENU ->CONFIGURAÇÕES ->TELEFONE -> USB, e selecione o a opção "Perguntar ao conectar"
Agora conecte o cabo USB ao computador e selecione a opção PC-STUDIO.
Espere 5 segundos e execute o comando:
# dmesg
Você deve notar algo como a saída abaixo.
USB disconnect, address 5
new high speed USB device using ehci_hcd and address 16
New USB device found, idVendor=04e8, idProduct=6601
New USB device strings: Mfr=1, Product=2, SerialNumber=0
Product: SAMSUNG Mobile Modem
Manufacturer: SAMSUNG Electronics Co.,Ltd.
configuration #1 chosen from 1 choice
cdc_acm 3-1:1.0: ttyACM0: USB ACM device
É importante verificar a linha
cdc_acm 3-1:1.0: ttyACM0: USB ACM device, que identifica que o seu modem foi reconhecido e mapeado como o dispositivo ttyACM0, talvez dependendo do drive no kernel estar ou não configurado, ele pode ser reconhecido com outro nome, ex.: ttyUSB*, ou nem mesmo ser encontrado.
Ok, no meu caso o dispositivo foi reconhecido como ttyACM0, portanto /dev/ttyACM0. Vou utilizar esta informação para configurar o wvdial.
Configurando o opções ppp
Dentro do arquivo
/etc/ppp/options, verifique a existência das opções abaixo, remova-as ou as comente colocando um # no início da linha, ficando portanto caso existam assim:
#asyncmap 0xa0000
#mru 1500
#refuse-chap
#ipcp-max-failure 30
#noauth
Configurando o wvdial
Crie o arquivo
/etc/wvdial.conf.samsung com o conteúdo abaixo, tomando o cuidado de na opção Modem colocar o dispositivo reconhecido pelo dmesg como foi citado.
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Phone = *99#
Password = vivo
Username = vivo
Stupid Mode = 1
Salve e feche o arquivo, execute o comando:
# wvdial -C /etv/wvdial.conf.samsung
Aguarde até que uma saída parecida com a mostrada abaixo aconteça:
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2
ATQ0 V1 E1 S0=0 &C1 &D2
OK
--> Sending: AT+CGDCONT=1,"IP","zap.vivo.com.br"
AT+CGDCONT=1,"IP","zap.vivo.com.br"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 3600000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Mar 25 09:30:20 2010
--> Pid of pppd: 21858
--> Using interface ppp0
--> pppd: ¨ªK P´K تK
--> pppd: ¨ªK P´K تK
--> pppd: ¨ªK P´K تK
--> pppd: ¨ªK P´K تK
--> pppd: ¨ªK P´K تK
--> local IP address 187.117.16.149
--> pppd: ¨ªK P´K تK
--> remote IP address 10.64.64.64
--> pppd: ¨ªK P´K تK
--> primary DNS address 10.11.12.13
--> pppd: ¨ªK P´K تK
--> secondary DNS address 10.11.12.14
--> pppd: ¨ªK P´K تK
Abra um novo terminal, logue-se como root e garanta a rota com o comando abaixo.
Obs.: Observe que eu utilizarei como default gateway o remote IP address mostrado na saída do wvdial acima, no seu caso dependendo da região do país, isto pode variar. Este procedimento também não é necessário em todos os casos, mas não sobra, então execute-o mesmo assim.
# route add default gw 10.64.64.64
Isso já deve tornar sua máquina capaz de pingar um IP externo, por exemplo:
# ping 200.154.56.80
Última observação: algumas vezes eu tenho problemas com os DNS fornecidos pelas operadoras, eu resolvo isso utilizando um bind local, os comandos abaixo fazem isso no Debian/Ubuntu e sistemas baseados no Debian.
Este instala o bind:
# apt-get install bind9
Este configura o sistema para utilizar o DNS local:
# echo "nameserver 127.0.0.1" >/etc/resolv.conf
É isso.