Autenticação PPPoE em redes wireless

Publicado por Eduardo em 18/12/2009

[ Hits: 11.702 ]

 


Autenticação PPPoE em redes wireless



Passei por um problema por muito tempo e que não tinha achado solução definitiva: conectar por autenticação PPPoE através de uma rede wireless.

Em muitas cidades de interior, devido as restrições tecnológicas, os provedores de internet utilizam redes wireless e autenticação pppoe. No Windows, com uns 3 ou 4 programas rodando simultaneamente, funciona beleza. No Linux, apesar de simples, não é bem "clique aqui".

O processo de autenticação pppoe neste cenário acontece da seguinte forma: o micro define qual vai ser o provedor e depois vem a autenticação pppoe "por cima" desta conexão, recebendo o seu devido ip.

Então, mão a obra!

Obs.: Estou rodando o Ubuntu 9.10 limpo (acabei de formatar o pc) e uma placa de rede Ralink RT2500 PCI.

Vamos começar tentando utilizar o driver padrão do Linux para o seu dispositivo wifi. Feche o nm-applet antes de começar tudo! Como ele não tem o botão fechar, faça-o manualmente:

# ps ax | grep nm
 2275 ?        S      0:00 nm-applet  --> Processo a ser fechado
 2529 pts/0    S+     0:00 grep nm

# kill -9 2275

Agora vamos informar ao micro qual vai ser o AP que ele vai buscar um concentrador PPPoE para autenticar:

# iwlist wlan0 scan
wlan0     Scan completed :
   Cell 01 - Address: 00:0C:42:26:8B:C9
      ESSID:"Agyo-SE-A03"
      Protocol:IEEE 802.11b
      Mode:Managed
      Frequency:2.437 GHz (Channel 6)
      Quality:0/100  Signal level:-99 dBm  Noise level:-96 dBm
      Encryption key:off
      Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
      Extra:bcn_int=100
      Extra:atim=0

No meu caso o ESSID do provedor é Agyo-SE-A03. Informando ao micro:

# iwconfig wlan0 essid Agyo-SE-A03

Agora é criar a autenticação pppoe. Os passos são simples e sugiro seguir a introdução do artigo do nox6000:
Após configurar a autenticação ele irá informar na última tela os comandos para conectar e desconectar, respectivamente:
  • pon dsl-provider; e
  • poff dsl-provider

Bem, até aqui, se tudo correu bem, faça um teste de ping e verifique se conectou:

# ping www.google.com.br
PING www.l.google.com (64.233.163.104) 56(84) bytes of data.
64 bytes from bs-in-f104.1e100.net (64.233.163.104): icmp_seq=1 ttl=49 time=42.0 ms
64 bytes from bs-in-f104.1e100.net (64.233.163.104): icmp_seq=2 ttl=49 time=87.7 ms

Se estiver conectado corretamente, o ping irá retornar uma resposta próxima da acima. Você pode parar por aqui!

Se não estiver conectado ainda, vamos ao próximo passo.

Verifique os erros no arquivo /var/log/syslog:

# cat /var/log/syslog
pppd[2289]: Timeout waiting for PADO packets
pppd[2289]: Timeout waiting for PADO packets
pppd[2289]: Unable to complete PPPoE Discovery
pppd[2289]: Unable to complete PPPoE Discovery
wpa_supplicant[877]: Association request to the driver failed

Se deu algum dos erros ou todos acima, o problema pode ser o driver que o Linux está usando. Então vamos utilizar outro. Antes de começar, vamos descarregar os que estão rodando na máquina.

# lsmod

Localize o módulo responsável pelo seu dispositivo e descarregue-o.

# modprobe -r rt2500pci

No meu caso o módulo chama-se rt2500pci. Depois de descarregá-lo e certificar-se disso, continuemos.

Para instalar outro driver utilizei o aplicativo ndiswrapper. Este aplicativo utiliza o driver da placa para o Windows no Linux. Se já utilizou o Windows alguma vez e instalou a placa, localize os arquivos de drivers: o rt2500.cat, rt2500.sys e rt2500.inf. Como estamos instalando a rede wireless, não temos internet ainda! Então vai precisar do ndiswrapper para instalá-los. Eu peguei os arquivos .deb no repositório do Debian por serem fáceis de instalar.

ndiswrapper-common_1.53-2_all
http://ftp.br.debian.org/debian/pool/main/n/ndiswrapper/ndiswrapper-common_1.53-2_all.deb

ndiswrapper-utils-1.9_1.53-2_i386
http://ftp.br.debian.org/debian/pool/main/n/ndiswrapper/ndiswrapper-utils-1.9_1.53-2_i386.deb

Para instalá-los pode-se clicar no arquivo e instalar pelo aplicativo "Instalador de Pacotes" ou usar a linha de comando:

# dpkg -i ndiswrapper-common_1.53-2_all.deb
# dpkg -i ndiswrapper-utils-1.9_1.53-2_i386.deb


Para instalar os drivers do Windows e utilizar os seus recursos no Linux, os comandos são:

# ndiswrapper -i rt2500.inf
installing rt2500 ...

Verificar se está instalado:

# ndiswrapper -l
rt2500 : driver installed
        device (1814:0201) present (alternate driver: rt2500pci)

Agora voltamos às associações e configurações anteriores:

# iwconfig wlan0 essid Agyo-SE-A03

# pppoeconf wlan0

# pon dsl-provider


Faça o teste de conexão dando um "ping www.google.com.br". Aqui funcionou com estes passos. Ao reiniciar, os módulos antigos do kernel são carregados e os do ndiswrapper não. Então vamos corrigir este erro adicionando ao arquivo /etc/modprobe.d/blacklist-ath_pci.conf a linha "blacklist rt2500pci" com o comando:

# echo "blacklist rt2500pci" >> /etc/modprobe.d/blacklist-ath_pci.conf

Agora é adicionar o ndiswrapper a inicialização:

# ndiswrapper -m

Pronto! Toda vez que o Ubuntu iniciar o carregamento do driver será automático e a autenticação pppoe também.

Em caso de dúvidas, postem!

Valeu!

Outras dicas deste autor

Madwifi - wifi%d: unable to attach hardware

Boot em pendrive - várias distribuições

Instalando o Gammu 1.32.0 no CentOS 64 bits

Leitura recomendada

Quem precisa de Pidgin?!

Erro: conexão cai após suspensão no Slackware [Resolvido]

Liberado o Flash Player 9

Atualizando o MediaWiki para utilizar a skin Vector

Alternando entre proxies diferentes no Firefox com facilidade

  

Comentários
[1] Comentário enviado por dudumiquim em 23/12/2009 - 11:56h

Aconteceu um caso com um amigo meu que só funcionou depois que ele removeu o wpasupplicant que funcionou...
Ta dada a dica ae!
flw!

[2] Comentário enviado por tulios em 24/12/2009 - 08:38h

É isso aconteceu comigo, enquanto eu não removi o wpasupplicant eu não consegui associar à rede wireless usando iwconfig [interface] essid Agyo-SE-A03

[3] Comentário enviado por JoseRenan em 25/03/2010 - 17:54h

eu devo conectar na rede certa antes de começar a configurar ou não tem nada a ver?

[4] Comentário enviado por dudumiquim em 25/03/2010 - 19:17h

Nao porque a conexao a rede certa é feita qndo vc entra com o comando:
# iwconfig wlan0 essid [essid do AP]

Lembrando que o essid é o nome do rede.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts