Acesso Discado com Wvdial

De Fórum Debian Wiki

Índice de conteúdo

Introdução

Muitas vezes não dispomos de conexões de rede ou banda larga para terminar uma instalação ou até mesmo poder navegar em algumas páginas, outras vezes queremos acessar mas o discador daquele provedor grátis não pode ser instalado no linux, a solução é utilizar o wvdial, rápido de instalar e configurar, só necessitando o número do telefone, nome de usuário e senha. O wvdial não tem tela gráfica, mas existem discadores gráficos caso queira isso, neste caso poderá estar instalando e configurando o kppp ou o gnome-ppp, porém para instalá-los é necessário mais pacotes que muitas vezes não estão presentes na instalação básica do Debian. Esse wiki não é igual a outros que existem na net, nele vou abordar todo processo de acesso discado, evidente que a tarefa mais dificil de ser executada será a identificação e construção do módulo do seu modem.

Instalando o Wvdial

Normalmente o wvdial já vem instalado com a instalação basica do linux, caso não esteja presente, insira o cd de instalação do Debian e proceda a instalação do mesmo.

# apt-cdrom add
# aptitude install wvdial 

Informações sobre Provedores grátis

Como você vai precisar dos números de conexão então abaixo relacionei os links e modos de conseguir isso dos principais e conhecidos provedores grátis, foram testados todos que tenho acesso aqui na minha cidade e conectaram sem muitos problemas. Estando devidamente de posse do cadastro de login e senha, vamos ao formato que deve ser colocado o login no wvdial e o modo de captura do telefone para acesso:

Provedor Click21.
Parâmetro Usuário: seulogin@click21.com.br
Telefones de acesso: [1]

Provedor Oi.
Parâmetro Usuário: seulogin@oi.com.br
Telefones de acesso: [2]

Provedor Ibest.
Parâmetro Usuário: seulogin@ibest.com.br
Telefones de acesso: [3]

Provedor IG. Parâmetro Usuário: este é o unico que não consegui passar o usuário e senha normalmente, porque a autenticação é feita com o discador lançando o login e senha no navegador para liberar a navegação, desta forma configuramos o wvdial com os campos de username e senha normalmente e no navegador criamos um link no favoritos para lançar a seguinte Url( substitua as palavras Username e Password): http://auth.ig.com.br/servlets/prediscador?action=login&url=http://www.ig.com.br&username=<Username>&password=<Password> Telefones de acesso: [4]


Provedor Itelefonica.
Parâmetro Usuário: seulogin@itelefonica.com.br
Telefones de acesso: O arquivo que consta os telefones vem do endereço [5] porém esse arquivo é codificado com o utilitário confgen.exe, o meio que encontrei para capturar o número utilizado no discador foi instalando o discador da itelefônica no Windows e configurando e discando o mesmo para que ficasse registrado na log de conexões do modem, conforme mostrado na figura abaixo:

Imagem:capturando.JPG

Provedor cresce net.
Parâmetro Usuário: (não tenho acesso)
Telefones de acesso: idem do processo utilizado no Itelefônica, porém não sei se vai computar os prêmios que eles oferecem.

Provedor Inteligweb.
Parâmetro Usuário: (não tenho acesso)
Telefones de acesso: [6]

Provedor Pop.
Parâmetro Usuário: (não tenho acesso)
Telefones de acesso: [7]

Provedor Acessofree.
Parâmetro Usuário: (não tenho acesso)
Telefones de acesso: [8]

Provedor Busca aqui.
Parâmetro Usuário: (não tenho acesso)
Telefones de acesso: [9]

Instalando o Driver de Modem

Agora vamos instalar o driver do seu modem, dê um lspci para identificar o chipset:

~$ lspci
00:09.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
00:0a.0 Communication controller: Agere Systems LT WinModem (rev 02)

Observamos a última linha acima (Communication controller) que identifica o modem e anotamos a versão do kernel do linux fornecido pelo comando uname ($ uname -r), passamos a localizar o pacote mais adequado ao tipo do modem. Antes de construir o modulo para o modem, esteja certo que fez os procedimentos do wiki Compilando drivers. [10] Uma das maneiras mais fáceis de instalar um modem é através da ferramenta de module-assistant, para isso instala-se os sources do modem disponíveis via apt-get e constroi-se o modulo, infelizmente só encontrei o source para o modem smartlink para essa operação:

# aptitude install sl-modem-daemon sl-modem-source module-assistant debhelper
# m-a update
# m-a prepare
# m-a a-i sl-modem
# depmod -a


Uma outra alternativa de fácil instalação deste mesmo modem é através do pacote .deb que pode ser baixado externamente: [11] e posteriormente instalado com:

# dpkg -i <pacote.deb>

Os endereços onde você vai encontrar o driver para seu modem é: [12] Neste link abaixo está em portugues informações sobre modem: [13] Neste endereço [14] você vai encontrar os seguintes diretórios do modelos mais conhecidos:

Motorola
Intel     - Ambient/Intel
Pctel     - AMR/HSP56
Ltmodem   - Lucent/Agere 
Smartlink  -AC97/MC97

Obs: NOVO! Os softmodems Lucent/Agere SV92 que antes não tinham drivers para linux agora existe um na versão alpha e pode ser baixado aqui [15]

Caso tenha dúvida ao tipo de modem instalado, poderá estar baixando um pequeno script [16] Extrai o pacote com:

# gzip -d scanModem.gz

dê a permissão:

# chmod +x scanModem

e execute:

# ./scanModem

Ele irá criar um diretório com arquivos contendo informações sobre o seu modem, dentre eles o arquivo ModemData.txt reporta vários dados coletados incluindo o chipset e o nome do driver para o modem. Existe alguns pacotes do projeto Messias o qual consiste em detectar qual o tipo do seu modem, o script meu-modem-v10.sh e modem-arquivos-v15.tar.gz se propõe a facilitar a instalação, porém são voltados para as distro kurumin e ubuntu. Sendo estas baseadas no debian, com alguns ajustes nos scripts é possível executa-los no debian. Testei o meu-modem-v10.sh e ele detectou corretamente o modem smartlink, porém na apresentação do xdialog falha ao mostrar o texto tendo que editar e corrigir os msgbox, quem quizer baixa-lo irá encontrar no endereço: [17]

Fique atento a versão do seu kernel, algum drivers só funcionam até determinada versão do kernel, como por exemplo o Lucent que até a versão do kernel 2.6.10 utiliza o pacote ltmodem-2.6-alk-8, em kernel superiores passam a usar o modulo do Martian. Leia sempre o readme e o install que vem nos pacotes. Depois de construído e instalado e carregado o modulo do seu modem, verifique se o dev foi criado ou se é necessário criá-lo manualmente ( muitas vezes isto consta no leiame ou install). Talvez seja necessário criar o dev manualmente toda vez que inicialize o sistema, então utilize o final do arquivo /etc/init.d/bootmisc.sh para adicionar daemons ou criação de links e devs, por exemplo as linhas abaixo são recomendadas no README do Ltmodem:

mknod --mode=0660 /dev/ttyLTM0 c 62 64
ln -s /dev/ttyLTM0 /dev/modem

Configuração do Wvdial

Modulo carregando e device presente, vamos para a parte final de configurar o wvdial. Caso não exista, crie o arquivo wvdial.conf executando o:

# wvdialconf

ou manualmente com:

# touch /etc/wvdial.conf

Depois edite inserindo o seguinte conteúdo, altere somente as opções iguais para esses valores com exceção do Username, Password e Phone que são exemplos próprios aqui já descrito anteriomente:

# mcedit /etc/wvdial.conf

[Dialer Defaults]
ISDN = 0
Modem Type = Analog Modem
Phone = 32269000
Username = login_ig
Password = senha_ig
New PPPD = yes
Modem = /dev/modem
Baud = 57600
Stupid Mode = 1
Modem Type = Analog Modem
;se seu modem for um slmodem ou um martian driver, desmarque a proxima linha
;Carrier Check = no


A ordem das opções não tem efeito, observe que o dev está apontando para o link modem, portanto certifique-se que esse link existe senão crie ele.

$ ls -l /dev/modem
lrwxrwxrwx 1 root root 6 2007-02-14 09:13 /dev/modem -> ttyLTM0

Alguns ajustes podem ser necessário caso esteja discando mas o serviço pppd caindo. Vamos a eles:

Esteja certo de que o resolv.conf existe, senão crie ele com:

# touch /etc/resolv.conf

Pode ser necessário alterar as permissões e grupo do pppd

# chmod +S /usr/sbin/pppd

ou

# chmod 4711 /usr/sbin/pppd

pode estar faltando permissão nos arquivo em /etc/ppp

# chmod 755 /etc/ppp/*

Se mesmo após essas alterações estiver terminando o serviço pppd, vá em options e localize a linha onde está auth e ponha noauth ( caso o provedor aceite conexões sem autenticar )

# mcedit /etc/ppp/options

Observe também se o grupo do pppd está com dip:

# ls -l /usr/sbin/pppd
-rws--x--x 1 root dip 260920 2007-03-17 19:52 /usr/sbin/pppd

Em alguns casos o discador reporta problemas de autenticação, então pode-se manualmente registrar o usuário e senha nas ultimas linhas do pap-secrets, exemplo:

# mcedit /etc/ppp/pap-secrets 
# OUTBOUND connections
...
...
...
...
#            *                password
.
meulogin       *       minhasenha
meulogin@ibest.com.br      *       minhasenha

A senha neste caso fica em texto plano.

Conectando

Agora é só conectar, este comando deve ser executado como root, se precisar executá-lo e fazer com que libere o prompt do terminal, carregue ele como tarefa em segundo plano, assim:

$ sudo wvdial&

Para finalizar a conexão utilize o recurso:

$ fg
Ctrl+C


Concluindo

Há muitas configurações que podem ser feitas no arquivo wvdial.conf, leia o manual dele para mais informações ($ man wvdial.conf), por exemplo, é possivel especificar mais de um provedor criando seções de [Dialer provedor1] com somente as opções que não constam na seção [Dialer Defaults] e na linha de comando passe o parâmetro para o wvdial (# wvdial provedor1). Para modem atrás de um PABX que requer 0 para linha externa, utilize na configuração Phone = 0,telefone. Além de se poder conectar sem tela gráfica, outra importante característica deste serviço é a possibilidade de se agendar pelo cron a discagem em horário específico com discagem automática.

Ferramentas pessoais