Kioskea
Recherche
Faça uma pergunta »

Configurar o wifi no Linux

Março 2015


WiFi no Linux



Este tutorial se dirige às pessoas no Debian e às distribuições que se baseiam nele (Ubuntu, Xandros, etc).

O tutorial baseia-se diretamente nos gerenciadores de pacotes em linha de comando para se livrar da interface gráfica utilizada (KDE, Gnome, etc), mas você pode instalar esses pacotes através do synaptic, adept ou qualquer outro assistente gráfico. Da mesma forma, neste tutorial, vamos modificar diretamente os arquivos de configuração de rede para se abstrair de quaisquer assistentes (como o Network Manager) e suas interfaces gráficas.

No entanto, cada vez mais, o Linux permite (se a placa wifi for suportada corretamente pelo Linux!) a conexão a uma rede sem fio, bem facilmente. O objetivo deste tutorial é detalhar, passo a passo, a execução manual do wifi, no Debian ou em distribuição derivada.

Por todas estas razões, o tutorial só falará dos comandos a serem digitados em um terminal e se abstrai completamente da interface gráfica utilizada. Para iniciar um terminal:
terminal

Primeira etapa: diagnóstico


As placas Wifi estão cada vez melhores e, em geral, funcionando diretamente. O Xifi é configurada com iwconfig, que pertence ao pacote wireless-tools.

1) No Debian, este pacote não está obrigatoriamente presente (no Ubuntu passar à segunda etapa). Para instalá-lo:

sudo aptitude update  
sudo aptitude safe-upgrade  
sudo aptitude install wireless-tools


Obviamente, isso supõe outra maneira de se conectar (ethernet , etc). Caso contrário, pegue o endereço dos pacotes que o "aptitude" tenta baixar, recupere-os (por exemplo, num sistema onde o Wifi funcione) e coloque em / var / cache / apt / arquivos. Em seguida, reexecute o comando:
sudo aptitude install wireless-tools


2) Listemos agora as placas disponíveis. Nos laptops, verifique se o interruptor da placa wifi foi ativado (o LED - diodo semicondutor - deve estar aceso mesmo se no Linux isto não quer dizer nada):

(mando@cenedra) (~) $ /sbin/iwconfig  
lo        no wireless extensions.  

eth0      no wireless extensions.  

wmaster0  no wireless extensions.  

eth1      IEEE 802.11g  ESSID:"xxxxx"  Nickname:""  
          Mode:Managed  Frequency:2.412 GHz  Access Point: xx:xx:xx:xx:xx:xx  
          Bit Rate=48 Mb/s   Tx-Power=27 dBm  
          Retry min limit:7   RTS thr:off   Fragment thr=2346 B  
          Power Management:off  
          Link Quality=57/100  Signal level=-74 dBm  Noise level=-96 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0  
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


Neste exemplo, tudo vai bem, uma placa wifi chamada eth1 foi encontrada. De acordo com a máquina e a marca, a placa pode ser ter nomes diferentes (eth2, wlan0, ra0, etc), o que importa é o que aparece no iwconfig. Se a placa não aparece na iwconfig é que ela não é suportada. Neste caso, passe à segunda etapa, se não, vá diretamente á terceira etapa.

Segunda etapa : a placa não foi reconhecida


Se a placa não foi reconhecida imediatamente, tente a marca. Em geral, basta seguir o que é dito:
aqui

De um modo geral, ou se a placa não está referenciada na página de documentos mencionada acima, adotaremos a seguinte abordagem:

1) Procurar um driver linux

Para os ralink :

(mando@cenedra) (~) $ apt-cache search ralink  
rt2400-source - source for rt2400 wireless network driver  
rt2500-source - source for rt2500 wireless network driver  
rt2570-source - source for rt2570 wireless network driver  


Para os atheros, podemos utilizar, por exemplo, o madwifi.

Para os intel : é preciso instalar um firmware (pense em adicionar os repositórios nãogratuitos no arquivo /etc/apt/sources.list, caso esses pacotes não apareçam) :

(mando@aldur) (~) $ apt-cache search firmware | grep -i intel | grep -i firmware  
firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915  
firmware-iwlwifi - Binary firmware for Intel Wireless 3945 and 4965  


Às vezes, outras placas podem funcionar com este método

2) Converter o driver windows com o ndiswrapper. Podemos nos basear nos seguintes links (o primeiro é aplicado em uma Mandriva, mas modula o urpmi evocado no começo, a abordagem é a mesma) :

Usando o ndiswrapper

ndiswrapper

Terceira etapa: configurar a placa


Suponho que o ponto de acesso distribua, de forma dinâmica (pelo DHCP), um endereço IP, caminhos, DNS, o que é o caso da maioria dos pontos de acesso wifi (box, em particular).
Nas últimas distribuições, ao invés de editar os arquivos de configuração manualmente, vamos utilizar uma interface gráfica, como a Network Manager.
Entendendo o networkmanager

Se não quisermos ou não pudermos passar pelo Network Manager, o método "manual" é detalhado abaixo.

No WEP


Basta modificar o arquivo /etc/network/interfaces como neste exemplo, digitando no root ou com o sudo :

sudo nano /etc/network/interfaces


Depois, modifique a seção relativa à placa (aqui, eth1) sem mexer no resto:

auto eth1  
iface eth1 inet dhcp  
    wireless-essid Mon_EssiD  
    wireless-key 1234567890ABCDEF


... onde 1234567890ABCDEF indica a chave WEP. Respeite o tamanho da letra quando for digitar o ESSID. Salve e saia (ctrl x).

No WPA


É um pouquinho mais complicado, mas você deve primeiro instalar o wpa_supplicant. Se somente a conexão wi-fi é possível e que o pacote está faltando, refaça a abordagem proposta na primeira etapa para recuperar o wpa_supplicant e suas dependências:

sudo aptitude install wpasupplicant


Depois, corrija /etc/network/interfaces :

sudo nano /etc/network/interfaces


E modifique a seção correspondente à placa wifi (aqui, eth1) :

auto eth1  
iface eth1 inet dhcp  
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


Salve e saia (ctrl x). agora, vamos configurar o wpa_supplicant :

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


Neste arquivo, ponha :

ctrl_interface=/var/run/wpa_supplicant  
eapol_version=1  
ap_scan=1  
fast_reauth=1  

network={  
    ssid="Mon_EssiD"  
    scan_ssid=1  
    proto=WPA  
    key_mgmt=WPA-PSK  
    psk=1234567890ABCDEF  
    priority=5  
}


... onde 1234567890ABCDEF indica a chave WPA. Respeite o tamanho da letra quando for digitar o ESSID. Salve e saia (ctrl x).

Observação: nas versões recentes, parece que a chave WPA pode ser configurada diretamente em /etc/network/interfaces e que não precisa mais do wpa_supplicant.

Quarta etapa: se conectar ao ponto de acesso


1) Prepare o roteador :
  • Para os detentores de uma Freebox, verifique se o serviço wifi foi ativado na interface web da freebox e que você está em modo roteador. Lembre-se de configurar eventuais redirecionamentos de portas, que você poderia precisar se estivesse em modo modem.
  • Para os detentores da Livebox, pressione o botão que faz o LED-WiFi piscar (na parte inferior ou atrás da Livebox)
  • Para os detentores de roteadores wifi executando uma filtragem no endereço MAC, adicione, em primeiro lugar, o endereço MAC da sua placa wifi na lista de interfaces autorizadas pelo seu roteador, conectando-se em Ethernet ou USB à interface do seu roteador . Você pode recuperar esse endereço com o comando ifconfig:


(mando@cenedra) (~) $ /sbin/ifconfig  
...  
eth1      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet adr:192.168.0.13  Bcast:192.168.0.255  Masque:255.255.255.0  
...  


d- Para os outros...leia as instruções; eu ainda não testei !

2) Conecte a interface.

Já que /etc/network/interfaces está pronto, podemos utilizar o ifup (conecta a interface) e o ifdown (desconecta a interface) :

sudo ifup eth1


Saiba que isto equivale à:

sudo ifconfig eth1 up  
sudo dhclient eth1


Se tudo correr bem, deverá ficar assim :

(mando@cenedra) (~) $ sudo dhclient eth1  
[sudo] password for root:  
Internet Systems Consortium DHCP Client V3.0.6  
Copyright 2004-2007 Internet Systems Consortium.  
All rights reserved.  
For info, please visit http://www.isc.org/sw/dhcp/  

wmaster0: unknown hardware address type 801  
wmaster0: unknown hardware address type 801  
Listening on LPF/eth1/00:19:d2:4d:2e:f5  
Sending on   LPF/eth1/00:19:d2:4d:2e:f5  
Sending on   Socket/fallback  
DHCPREQUEST of 192.168.0.13 on eth1 to 255.255.255.255 port 67  
....  
DHCPACK of 192.168.0.13 from 192.168.0.254  
bound to 192.168.0.13 -- renewal in 343576 seconds


Aqui a placa wifi recebeu o IP local 192.168.0.13

Em princípio, se o DHCPACK funcionou, tudo deve estar bom, porque também recebemos rotas e DNS. Para ter certeza :

/sbin/route -n  
cat /etc/resolv.conf


Podemos verificar se tudo funciona bem:

nslookup www.google.com  
ping -c2 www.google.com


Partindo daí, tudo deverá funcionar!

Ainda em dificuldade ?


Basta postar uma mensagem no fórum linux

Precise:
  • seu modelo de placa wifi
  • sua distribuição
  • seu tipo de roteador


Também será preciso transcrever os resultados dos seguintes comandos de diagnóstico:

/sbin/iwconfig  
/sbin/ifconfig  
/sbin/route -n  
cat /etc/resolv.conf  
nslookup www.google.com  
ping -c2 www.google.com


... e o conteúdo dos arquivos de configuração wifi :

cat /etc/network/interfaces  
cat /etc/wpa_supplicant/wpa_supplicant.conf


Pense em tornar as chaves (WEP, WPA), que poderiam aparecer durante o iwconfig e nos arquivos de configuração, anônimas.
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Configurar-o-wifi-no-linux.pdf

A ver igualmente

Na mesma categoria

Configurar Wi-Fi en Linux
Por Carlos-vialfa em 17 de abril de 2013
Configurer le wifi sous Linux
Por mamiemando em 27 de maio de 2008
Artigo original publicado por mamiemando. Tradução feita por pintuda. - última modificação por ninha25
Este documento, intitulado « Configurar o wifi no Linux »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.