Tentei algumas vezes e nada de funcionar, então de repente funcionou! Então, quando descobri qual o problema, resolvi compartilhar a solução.
Primeiro, vamos conferir se o driver da usb está correto:
prompt:-> lsmod | grep usbserial
Nas versões mais novas de Linux, já está tudo certo.
Agora, copia-se o arquivo abaixo (wvdial.conf) no diretório /etc/
[Dialer Defaults]
Carrier Check = off
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Password = claro
Ask Password = 0
Check Def Route = 1
Phone = *99***1#
Idle Seconds = 0
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = off
Dial Command = ATDT
Modem = /dev/ttyUSB0
ISDN = 0
Username = claro
[Dialer claro3g]
Stupid Mode = on
Password = claro
Auto Reconnect = off
Username = claro
Phone = *99***1#
************Fim de arquivo***********
Agora copia-se o arquivo abaixo (resolv.conf.bkp) também no diretório /etc/
nameserver 200.255.121.39
nameserver 200.169.117.14
************Fim de arquivo***********
O primeiro arquivo configura o wvdial (discador) e o segundo serve para definir os endereços DNS a serem usados pelo modem (durante a conexão).
Agora deve-se dar o comando:
prompt:-> wvdial -C /etc/wvdial.conf
A saída deste comando deve ser:
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial Modem<*1>: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
WvDial Modem<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
WvDial Modem<*1>: OK
WvDial<*1>: Modem initialized.
WvDial<*1>: Sending: ATDT*99***1#
WvDial<*1>: Waiting for carrier.
WvDial Modem<*1>: ATDT*99***1#
WvDial Modem<*1>: CONNECT
WvDial<*1>: Carrier detected. Starting PPP immediately.
WvDial
WvDial
WvDial<*1>: Using interface ppp0
WvDial<*1>: local IP address 10.124.107.15
WvDial<*1>: remote IP address 10.64.64.64
WvDial<*1>: primary DNS address 10.11.12.13
WvDial<*1>: secondary DNS address 10.11.12.14
************Fim da saída***********
Por fim, deve-se dar o comando:
prompt:-> cat /etc/resolv.conf.bkp > /etc/resolv.conf
E pronto está funcionando.
O problema que eu estava tendo era que cada vez que se faz a chamada do wvdial, o arquivo /etc/resolv.conf volta ao que era antes, assim desconfigurando os endereços DNS.
Deve atentar para dar o comando cat /etc/resolv.conf.bkp > /etc/resolv.conf apenas quando o wvdial terminar de exibir a saída (com a apresentação do 2o endereço DNS).
Eu fiz um script shell para automatizar o processo (admitindo que os arquivos wvdial.conf e resolv.conf.bkp estão no diretório /etc/):
# arquivo Internet3G.sh
# abre o wvdial
wvdial -C /etc/wvdial.conf
# espera um tempo para o wvdial terminar o setup
sleep 30
# configura o arquivo que contém os endereços DNS
cat /etc/resolv.conf.bkp > /etc/resolv.conf
************Fim de arquivo***********
Obs.: Agora é só descobrir como desativar o modem.
Um comentário:
O tempo de espera de 30s (no comando sleep 30 foi obtido empiricamente, então fica a relação de compromisso, quem tiver um computador melhor pode colocar menos tempo, quem ainda usar um 386 é bom botar logo 1 ou 2 minutos (estou brincando, sei que o linux é capaz de fazer em 40s, mesmo em um 386 ou anterior).
Postar um comentário