Configurar o Wi-Fi no Linux

Outubro 2017

Esta dica é dirigido às pessoas que utilizam as distribuições Linux. Ela se baseia diretamente nos gerenciadores de pacotes em linha de comando para não usar a interface gráfica (KDE, Gnome, etc.), embora você possa instalar esses pacotes pelo Synaptic, Adept ou outro assistente gráfico. Ainda nesta dica, vamos mostrar como alterar os arquivos de configuração de rede para bloquear assistentes e suas interfaces. No entanto, o Linux permite (se a placa Wi-Fi funcionar bem com o Linux) a conexão com redes sem fio com muita facilidade. O objetivo desta dica é detalhar a execução manual do Wi-Fi no Debian ou em uma outra distribuição derivada.



Por todas estas razões, falaremos apenas dos comandos a serem digitados em um computador, esquecendo completamente a interface gráfica utilizada.

Primeira etapa: diagnóstico

As placas Wi-Fi são cada vez mais reconhecidas e, em geral, tudo funciona diretamente. O Wi-Fi é configurado com o iwconfig, que pertence ao pacote Wireless-tools (ferramentas de Wi-Fi).

No Debian, este pacote não está presente por padrão (no Ubuntu, passamos para a segunda etapa). Assim, para instalá-lo, faça:


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

Obviamente, isso supõe outra maneira de conectar-se (ethernet , etc). Caso contrário, pegue o endereço dos pacotes que o aptitude tenta baixar, recupere-os (ex: num sistema onde o Wi-Fi funcione) e coloque-os nos arquivos /var/cache/apt. Em seguida, execute novamente o comando:

sudo aptitude install wireless-tools

Agora, as placas disponíveis aparecerão em uma lista. Nos laptops, verifique se o interruptor da placa Wi-Fi 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 está bem, uma placa Wi-Fi chamada eth1 foi encontrada. Dependendo da máquina e da marca, a placa pode ter nomes diferentes (eth2, wlan0, ra0, etc.), o que importa é o que aparece no iwconfig. Se a placa não aparecer no iwconfig é porque ela não foi detectada. Neste caso, passe à segunda etapa, ou vá diretamente para a terceira etapa.

Segunda etapa: a placa não foi reconhecida

Se a placa não foi reconhecida imediatamente, tente pela marca. De um modo geral, ou se a placa não estiver referenciada na página de documentos mencionada acima, adotaremos a seguinte abordagem.

Procurar um driver Linux, nos links:

(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 da Intel, é preciso instalar um firmware (pense em adicionar os repositórios não gratuitos 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.

Converter o driver Windows com o ndiswrapper. Podemos nos basear no seguinte link.

Terceira etapa: configurar a placa

O ponto de acesso distribui de forma dinâmica (pelo DHCP) um endereço IP, caminhos, DNS, o que é o caso da maioria dos pontos de acesso Wi-Fi (box, em particular). Nas distribuições mas recentes, em vez de editar os arquivos de configuração manualmente, vamos utilizar uma interface gráfica, como a Network Manager. Se não quisermos ou não pudermos passar pelo Network Manager, o método manual será detalhado a seguir.

No WEP

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

sudo nano /etc/network/interfaces

Em seguida, 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 Feche (Ctrl + X).

No WPA

É mais complicado. Para começar, você deverá instalar o wpa_supplicant. Se somente a conexão Wi-Fi for possível e este pacote esiver faltando, refaça a abordagem proposta na primeira etapa para recuperar o wpa_supplicant e suas dependências:

sudo aptitude install wpasupplicant

Em seguida, corrija /etc/network/interfaces:

sudo nano /etc/network/interfaces

E modifique a seção correspondente à placa Wi-Fi (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, escreva:

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

network={
ssid="Meu_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 feche (Ctrl + x).

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

Quarta etapa: se conectar ao ponto de acesso

Prepare o roteador. Para os detentores de uma Freebox, verifique se o serviço Wi-Fi foi ativado na interface web da mesma 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 mesma).

Para os detentores de Roteadores Wi-Fi executando uma filtragem no endereço MAC, adicione, em primeiro lugar, o endereço MAC da sua placa Wi-Fi na lista das interfaces autorizadas pelo roteador, conectando-se em Ethernet ou USB à interface do 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
...

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 Wi-Fi 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.

Possíveis dificuldades adicionais

Basta postar uma mensagem no fórum do Linux informando seu modelo de placa Wi-Fi, 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 Wi-Fi:

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

Você pode tornar anônimas as chaves (WEP e WPA), que poderiam aparecer durante o iwconfig e nos arquivos de configuração.

Foto: © Linux.

Veja também

Artigo original publicado por Carlos-vialfa. Tradução feita por pintuda. Última modificação: 1 de agosto de 2017 às 12:08 por pintuda.
Este documento, intitulado 'Configurar o Wi-Fi no Linux', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.