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.