Autenticação PPPoE em redes wireless

Publicado por Eduardo em 18/12/2009

[ Hits: 11.815 ]

 


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

Instalando o Gammu 1.32.0 no CentOS 64 bits

Boot em pendrive - várias distribuições

Leitura recomendada

Mudança no script de autenticação do Velox para usuários Globo.com

Continuando download com wget

Telegram no Fedora

Falha de autenticação do Squid no Debian Lenny com smb_auth

Liberar o MSN para usuários determinados

  

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