Wi-Fi Não Funcionando no Linux? Aqui Está Como Corrigir

Uma fotografia de uma janela com um logo de Wi-Fi nela.

Um dos grandes desafios que os usuários tendem a enfrentar com o Linux é o Wi-Fi. Os drivers de Wi-Fi geralmente não estão incluídos no kernel e, como resultado, há muitos problemas para fazer módulos Wi-Fi que não sejam Intel funcionarem bem no Linux. Aqui, cobrimos o que acontece quando o Wi-Fi não está funcionando no Linux e como corrigi-lo.

Índice

  • Problemas de Hardware vs. Software de Wi-Fi
  • Instalar Drivers a partir do ISO do Ubuntu
  • Problema Um: Dispositivo Não Detectado
  • Problema Dois: Módulo do Driver Ausente
  • Problema Três: DNS
  • Problema Quatro: Sem Gerenciador de Rede

Dica: aprenda como você pode encontrar senhas Wi-Fi salvas no Linux.

Problemas de Hardware vs. Software de Wi-Fi

Um problema de conexão Wi-Fi pode ser um problema de hardware ou software. Problemas de hardware são relativamente fáceis de diagnosticar – tudo o que você precisa fazer é abrir o terminal e inserir o seguinte comando:

ping localhost

Um terminal mostrando um teste de loopback do localhost.

Esta é uma maneira simples de verificar se seu hardware físico está funcionando. localhost funciona como um endereço para verificar o circuito do seu NIC. Se isso não estiver funcionando, você pode precisar fazer algum trabalho no hardware, seja você mesmo ou alguém mais.

Se esse ping retornar sem problemas ou você nem sequer ver sua placa Wi-Fi, você provavelmente tem um problema de software.

Além disso, você também pode verificar se o seu sistema detecta uma interface de rede ativa executando ip addr. A maioria das distribuições rotula as placas wireless ativas atualmente como “wl” seguido pelos números de barramento e slot do dispositivo na placa-mãe do computador.

Por exemplo, um rótulo de “wlp0s1” significa que é uma interface de rede sem fio no barramento 0, slot 1.

Um terminal destacando o dispositivo wireless atualmente em execução no sistema.

Nota: Se você não consegue navegar na web, pode ser necessário desativar o IPv6 no seu computador Linux.

Instalar Drivers a partir do ISO do Ubuntu

Se sua distribuição não está detectando sua rede Wi-Fi de forma alguma, ou se você está recebendo erros, pode tentar instalar ou reinstalar os drivers de Wi-Fi a partir do arquivo ISO do Ubuntu. Primeiro, você precisa baixar o ISO do Ubuntu correspondente à sua versão do Ubuntu. (Presumivelmente, você precisará baixá-lo em um dispositivo diferente ou baixá-lo usando sua conexão Ethernet no Ubuntu.)

Abra um Terminal e insira a seguinte sequência de comandos para montar o ISO do Ubuntu em uma unidade virtual:

sudomkdir/media/cdrom  
sudomount-o loop ~/Downloads/ubuntu-*.iso /media/cdrom

Vá para “Atualizador de Software” no painel, e clique no botão Configurações no canto inferior esquerdo da janela.

Uma captura de tela destacando o botão

Clique na aba Drivers Adicionais, depois selecione a opção Adaptador de Rede Sem Fio e clique em Aplicar Mudanças.

Problema Um: Dispositivo Não Detectado

Se o dispositivo wireless não for detectado pelo Ubuntu (ou qualquer distribuição, a esse respeito), abra uma sessão de terminal e digite o seguinte comando:

sudo lsusb

Este comando imprimirá todos os dispositivos USB atualmente conectados à sua máquina. Procure qualquer linha que contenha “Adaptador Sem Fio” ou “RTL.”

sudo lsusb |grep"RTL"

Um terminal mostrando o dispositivo USB Wi-Fi atualmente ativo no Linux.

Além de listar todos os adaptadores USB, você também pode investigar seu sistema para qualquer dispositivo wireless PCI. Para fazer isso, execute o seguinte comando:

sudolspci

Assim como no comando lsusb, procure por linhas na saída do lspci que contenham o rótulo “Controlador de Rede” ou “Controlador de Ethernet”.

Um terminal destacando o dispositivo Wi-Fi baseado em PCI no Ubuntu Linux.

Encontre o módulo de driver exato que seu dispositivo wireless está usando atualmente executando o seguinte comando:

sudo lshw -C network |grep"driver"

Destacar o valor da variável “driver” e copie-o para a sua área de transferência.

Um terminal destacando o driver atualmente ativo para o dispositivo Wi-Fi.

Problema Dois: Módulo do Driver Ausente

Seguindo os comandos lsusb e lspci bem-sucedidos, confirmando que sua distribuição Linux pode ver a placa wireless, você pode assumir que o firmware está funcionando, apenas que o sistema não tem ideia do que fazer com o dispositivo. É aqui que os drivers ou módulos são necessários.

Digite o seguinte comando e substitua “modulename” pelo conteúdo da sua área de transferência:

sudo modprobe modulename

Por exemplo, se seu driver wireless for “iwlwifi”, ficaria assim:

sudo modprobe iwlwifi

Depois disso, execute sudo lsmod | grep "modulename" para ver se o kernel Linux carregou seu dispositivo Wi-Fi corretamente.

Um terminal mostrando o módulo Wi-Fi sendo carregado no kernel atual.

Carregar Módulo do Driver Automaticamente na Inicialização

É uma ocorrência rara, mas às vezes o módulo não persiste da inicialização. Nesse caso, você pode forçá-lo a carregar permanentemente. Entre o comando abaixo no terminal:

sudonano/etc/modules

Adicione o nome do seu módulo na parte inferior e salve o arquivo.

Um terminal mostrando o arquivo de configuração que pode carregar módulos do kernel na hora da inicialização.

Reinicie a máquina para verificar se o kernel Linux carregou o dispositivo wireless corretamente.

Bom saber: aprenda como seu computador gerencia seu hardware instalando seu próprio kernel Linux personalizado no Ubuntu hoje.

Problema Três: DNS

É raro que o DNS seja um problema; no entanto, vale a pena investigar se você ainda tem problemas de conexão. No terminal, digite o seguinte comando para verificar o resolvedor DNS padrão do sistema:

nmcli device show INTERFACE-NAME |grep IP4.DNS

Por padrão, isso será configurado para o endereço IP do seu roteador. Se não funcionar, pode ser necessário alterar “wlp0s1” para o que sua conexão wireless utiliza. O seguinte comando também pode ser usado para pegar a designação:

ip addr|grep": "

Uma vez que você tenha essa informação, faça ping no endereço do resolvedor DNS. Se isso funcionar, você também pode enviar um ping para uma rede externa, como os resolvedores DNS do Google:

ping 8.8.8.8

Se todos os dispositivos em sua rede estiverem dando erros de carregamento de página, então altere os resolvedores DNS em seu roteador para os servidores do Google ou da OpenNIC. Você terá que consultar o fabricante do seu roteador para saber como fazer isso, mas geralmente é feito acessando o console de administração do dispositivo. Você pode encontrar isso na maioria dos roteadores acessando “192.168.0.1” ou “192.168.254.254” em um navegador web.

Adicionando um Servidor DNS Personalizado no NetworkManager

Dito isso, você também pode alterar o resolvedor DNS com base em cada dispositivo. Para fazer isso no Ubuntu, clique no botão Menu de Controle no canto superior direito da área de trabalho e selecione o ícone de engrenagem.

Uma captura de tela destacando o botão Configurações no Gnome.

Clique na categoria Wi-Fi, então procure a categoria Redes Visíveis.

Uma captura de tela destacando a seção de redes visíveis da categoria Wi-Fi.

Selecione o ícone de engrenagem na linha que contém o nome do seu ponto de acesso wireless.

Clique na aba IPv4 na barra superior da janela menor.

Uma captura de tela destacando a aba IPv4 no menu de configurações do ponto de acesso.

Vá à seção DNS, então desligue o interruptor Automático.

Uma captura de tela destacando o interruptor

Digite “8.8.8.8,8.8.4.4” na caixa de texto de DNS e clique em Aplicar para confirmar as configurações.

Uma captura de tela destacando os resolvedores DNS personalizados para a conexão Wi-Fi atual.

Abra um novo terminal e execute o seguinte comando para remover quaisquer dados anteriores do resolvedor DNS:

resolvectl flush-caches

Teste se o seu sistema agora está usando suas novas configurações de resolvedor DNS executando o seguinte:

resolvectl status |grep"Current DNS Server"

Verifique se as configurações de DNS atuais resolveram seu problema de rede carregando uma página em um navegador web.

Uma captura de tela do site MakeTechEasier em uma máquina Ubuntu com um resolvedor DNS personalizado.

Bom saber: aprenda mais sobre servidores de nomes e resolvedores DNS usando dig no Linux.

Problema Quatro: Sem Gerenciador de Rede

Vamos supor que você removeu o Gerenciador de Rede ou o desinstalou acidentalmente. Esta é uma situação realmente problemática: você não tem internet e não tem Gerenciador de Rede, mas há coisas que você pode fazer.

Supondo que o pacote ainda esteja em seu cache, você pode ir para o terminal e inserir:

# Debian/Ubuntu  
sudo apt install network-manager  
  
# Fedora  
sudo dnf install NetworkManager  
  
# Arch Linux  
sudo pacman -Syu networkmanager

Se isso não funcionar, você pode forçar seu sistema a se conectar a um ponto de acesso wireless usando o wpa_supplicant. Esta é uma ferramenta de linha de comando que usa o driver do seu dispositivo wireless para se conectar a um ponto de acesso sem usar o Gerenciador de Rede.

Para começar, crie um arquivo de configuração para o wpa_supplicant usando seu editor de texto favorito:

sudonano/etc/wpa_supplicant.conf

Cole o seguinte bloco de código dentro do arquivo de configuração, e substitua “SSID” e “PASSWORD” pelo nome do ponto de acesso e a senha do seu roteador:

network={  
ssid="SSID"  
password="PASSWORD"  
}

Salve o arquivo de configuração e cole a seguinte linha de código na sua sessão de terminal:

sudo wpa_supplicant -B-i INTERFACE-NAME -c/etc/wpa_supplicant.conf -D nl80211

Substitua o valor da flag “-i” pelo nome da sua interface wireless.

Nota: este comando funcionará apenas em placas wireless mais novas. Se você estiver tentando conectar uma placa Wi-Fi mais antiga, substitua o valor da flag “-D” por “wext.”

Solicite um novo endereço IP ao seu roteador recarregando o daemon DHCP:

sudo dhclient INTERFACE-NAME

Teste se a sua conexão Wi-Fi está funcionando agora fazendo ping em um site externo:

ping-c5 maketecheasier.com

Reinstale o Gerenciador de Rede para restaurar a capacidade total de Wi-Fi do seu sistema Linux:

sudo apt install network-manager

Reinicie sua máquina para carregar a nova instalação do Gerenciador de Rede.

Entender como módulos Wi-Fi e drivers de kernel funcionam é apenas o primeiro passo para aprender como o Linux funciona internamente. Explore mais o lado técnico deste sistema operacional criando um sistema de arquivos oculto com o Shufflecake.