🐧 Debian 9: como instalar TL-WN823N v2 (TP-LINK)
300Mbps Mini Wireless N USB Adapter
Marca: TP-LINK
Modelo: TL-WN823N(EU)
Versão:2.0
Neste tutorial, ensinarei como instalar este dongle USB para wireless no Debian 9. Mas não simplesmente entregar um passo-a-passo, eu quero que você entenda o que está fazendo, e seus conhecimentos expandam-se, consequentemente.
O problema
O manual do produto diz que há suporte oficial para o Linux, pela TP-LINK, 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 2018... O Debian que uso, segundo o comando lsb_release -r
é a 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 comapt 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-gnome
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, 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, dê
modprobe rtl8xxxu
no terminal.
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 à 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 e 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. |