Debian 9: como instalar TL-WN823N v2 (TP-LINK)

Como instalar o dongle USB TP-LINK TL-WN823N v2 no Linux.

[ Hits: 14.543 ]

Por: Anders em 14/01/2019


Introdução



Neste tutorial, ensinarei como instalar este dongle USB para wireless no Debian 9. Não simplesmente entregar um passo-a-passo, eu quero que você entenda o que está fazendo, e seus conhecimentos expandam-se, consequentemente.
  • 300Mbps Mini Wireless N USB Adapter
  • Marca: TP-LINK
  • Modelo: TL-WN823N(EU)
  • Versão:2.0

O problema

O manual do produto diz que há suporte oficial para o Linux, porém não existe suporte de verdade pela TP-LINK, e eu penei um bocado para fazê-lo funcionar. Trago então minha solução para você!

O driver oficial do site da TP-LINK está obsoleto! O que há ali é o código, a partir do qual você deve compilar (produzir) o driver especificamente para seu sistema, não é só dar 2 cliques. Mas para compilar, você precisa ter o ambiente adequado, isto é, seu sistema tem de possuir algumas características específicas. A característica crucial nesse caso é o kernel do Linux: o site oficial diz que o driver é compatível com as versões 2.6.18 até a 3.10.10. Legal, mas o suporte para a versão 3.10 acabou em novembro de 2017, e já estamos em 2019.

O Debian que uso, segundo o comando lsb_release -r é o 9.5, e o kernel, segundo o comando uname -r, é o 4.9.0-7-amd64 (suportado até janeiro de 2019). Então este driver não dá suporte ao Debian 9, apenas versões mais antigas.

Obtendo o firmware

Os repositórios oficiais do Debian 9 incluem o pacote firmware-realtek, que por sua vez inclui o firmware do chipset Realtek rtl8192eu, que é o que está dentro do dongle. Os repositórios do Debian 8 incluem um pacote de mesmo nome (firmware-realtek), que porém, não dá suporte ao chipset em questão (rtl8192eu). Então faça um upgrade do seu sistema, se ainda não estiver usando a versão 9.

Dado que o pacote firmware-realtek não é software livre, é necessário alterar sua lista de repositórios para "tornar visíveis" os pacotes de software proprietário:

Em um terminal root, abra a lista de repositórios no editor de texto nano:

# nano /etc/apt/sources.list

Adicione non-free (com um espaço antes) após cada linha escrita no arquivo.

Salve as alterações com ^O (CTRL+O) e depois feche o editor de texto com ^X (CTRL+X).

Atualize sua lista de fontes de software com:

# apt update

e instale o firmware com:

# apt install firmware-realtek

Reinicie o computador para que o firmware seja carregado na próxima inicialização do sistema e entre em ação.

Encontrando redes sem-fio

Após reiniciar, você já deve ser capaz de encontrar as redes sem-fio das redondezas. Por exemplo, se você tiver o network-manager instalado, o nm-applet (um ícone na barra de aplicativos que exibe informações de rede) deve mostrar-lhe uma lista de redes wireless disponíveis, se você clicar nele. Se você consegue essa geração de lista de redes, você tem o firmware adequado para o seu dongle, e o passo-a-passo anterior teve sucesso em seu objetivo.

Escanear o ar buscando redes sem fio é necessário, mas não suficiente. Tente conectar-se a alguma rede, mesmo uma sem senha e sem segurança - se não tiver uma assim por perto, você pode configurar seu roteador para tal. O nm-applet roda, roda, mas não conecta ? Então ainda tem algo errado.

Conectando-se a redes sem segurança e WEP

Buscando na internet, vi quais configurações adicionais devem ser feitas:

Abra um terminal root.

Desabilite o modo de economia de energia do wifi, e também a auto-suspensão do USB com:

# echo "options 8192eu rtw_power_mgnt=0 rtw_enusbss=0" | tee /etc/modprobe.d/8192eu.conf.

Estas duas opções geram falha de comunicação do sistema com o dongle.

Digite:

# echo "blacklist rtl8xxxu" | tee /etc/modprobe.d/rtl8xxxu.conf

Reinicie o computador. Se ainda assim não funcionar, execute no terminal:

# modprobe rtl8xxxu

Após configurar o dispositivo assim, tente novamente se conectar a uma rede sem senha e sem segurança, ou com segurança WEP. Conseguiu? Ótimo. Mas e as conexões WPA, WPA2, e WPA-WPA2, funcionam? Se não, siga adiante o tutorial.

Conectando-se a redes WPA, WPA2 e WPA-WPA2

As proteções WPA, WPA2 e WPA-WPA2 são mais recentes que a WEP, já obsoleta devido a falta de segurança. Por isto mesmo, funcionam diferente e exigem configuração adicional.

Conferindo nos logs do sistema (comando nano /var/log/messages como root), constatei que existem quatro "apertos de mão" (4-way handshake) entre o dongle e o roteador sem fio compondo uma etapa de negociação. É esta etapa que falha e impede a conexão, registrando no log, após a troca de mensagens "eapol", que a autenticação falhou pela "razão 15". O protocolo do "eapol" é uma inovação das tecnologias WPA e WPA2 (não existiam na WEP). E a razão 15 significa que o handshake estourou o tempo-limite.

O que faz o handshake falhar é a aleatorização do endereço MAC do dongle, pelo que pesquisei. Esse recurso é importante para previnir que clientes wireless sejam identificados pessoalmente quando usarem wifis públicos: a cada conexão, um endereço MAC diferente é usado pelo aparelho, dando certa privacidade. Mas isso não funciona bem com o dongle TL-WN823N(EU) v2.0, e o recurso precisa ser desabilitado. Isso é simples de resolver:

Abra um terminal root e edite o gerenciador de redes no editor de textos nano, com:

# nano /etc/NetworkManager/NetworkManager.conf

Adicione as linhas ao arquivo:

[device]
wifi.scan-rand-mac-address=no

Salve as alterações com ^O (CTRL+O), e depois feche o editor de texto com ^X (CTRL+X).

Reinicie o computador.

Voilà! Resolvido. Agora o dongle deve funcionar perfeitamente. Se para você, ainda assim não estiver dando certo, deixe um comentário neste post explicando o que deu errado, e talvez eu possa lhe ajudar.

O texto deste post de Anders Bateva está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

O que é GNU Social? Porquê usar?

Leitura recomendada

Como encontrar o NetID e o Broadcast de uma determinada rede

Roubando bits (parte 2): como resolver questões rapidamente sem calculadora

IPv6 completo Net Virtua

Como configurar o NGinx em 3 passos

Sincronizando Bases OpenLDAP e Active Directory

  
Comentários
[1] Comentário enviado por pinduvoz em 06/02/2019 - 14:45h

Amigo, muito bem escrito e explicado. Parabéns!

[2] Comentário enviado por thiagovb em 13/05/2019 - 22:54h

Parabéns Anders!

Artigo muito bem explicado e funcionou aqui! Inclusive deixei como favorito.

Obrigado pela contribuição.

[]'s.

Thiago

[3] Comentário enviado por StanislausK em 20/12/2019 - 23:27h

Ola,

esse tutorial funcionou também com o Debian 10...

[4] Comentário enviado por eridiass em 26/09/2020 - 09:58h

No meu caso o adaptador não localiza redes, alguma dica?

Utilizo o Debian 10



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts