Network configuration (Português)/Wireless (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Network configuration/Wireless. Data da última tradução: 2020-07-06. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Veja Configuração de rede para o artigo geral sobre como configurar uma conexão de rede.

A configuração de rede sem fio (wireless) é um processo de duas partes. A primeira parte é identificar e garantir que o driver correto para o seu dispositivo sem fio está instalado (eles estão disponíveis na mídia de instalação, mas geralmente precisam ser instalados explicitamente) e para configurar a interface. A segunda é escolher um método de gerenciamento de conexões sem fio. Este artigo abrange as duas partes e fornece links adicionais para ferramentas de gerenciamento sem fio.

A seção #iw descreve como gerenciar manualmente sua interface de rede sem fio / suas LANs sem fio usando iw. A seção Configuração de rede#Gerenciadores de rede descreve vários programas que podem ser usados para gerenciar automaticamente sua interface sem fio, alguns dos quais incluem uma GUI e todos incluem suporte a perfis de rede (útil ao alternar frequentemente de redes sem fio, como laptops).

Driver de dispositivo

O kernel padrão do Arch Linux é modular, o que significa que muitos dos drivers para hardware de máquina residem no disco rígido e estão disponíveis como módulos. Na inicialização, o udev faz um inventário do seu hardware e carrega os módulos (drivers) apropriados para o hardware correspondente, o que, por sua vez, permite a criação de uma interface de rede.

Alguns chipsets sem fio também exigem firmware, além de um driver correspondente. Muitas imagens de firmware são fornecidas pelo pacote linux-firmware, no entanto, as imagens de firmware proprietárias não são incluídas e devem ser instaladas separadamente. Isso é descrito em #Instalar driver/firmware.

Nota: Se o módulo apropriado não for carregado pelo udev na inicialização, basta carregá-lo manualmente. Se o udev carrega mais de um driver para um dispositivo, o conflito resultante pode impedir a configuração seja bem-sucedida. Certifique-se de adicionar à lista negra o módulo indesejado.

Verificar o status de driver

Para verificar se o driver da placa foi carregado, verifique a saída do comando lspci -k ou lsusb -v, dependendo se a placa está conectada por PCI(e) ou USB. Você deve ver que algum driver do kernel está em uso, por exemplo:

$ lspci -k
06:00.0 Network controller: Intel Corporation WiFi Link 5100
	Subsystem: Intel Corporation WiFi Link 5100 AGN
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
Nota: Se a placa for um dispositivo USB, a execução dmesg | grep usbcore deve retornar algo como usbcore: registered new interface driver rtl8187 como saída.

Verifique também a saída do comando ip link para ver se uma interface sem fio foi criada; geralmente, a nomenclatura das interfaces de rede sem fio começa com a letra "w", por ex. wlan0 ou wlp2s0. Então, ative a interface com:

# ip link set interface up

Por exemplo, considerando que a interface seja wlan0, este seria ip link set wlan0 up.

Nota:
  • Se você obtiver erros como RTNETLINK answers: Operation not possible due to RF-kill, certifique-se que o botão de liga/desliga da placa de rede está ligado. Consulte #Problemas com rfkill para detalhes.
  • Se você receber a mensagem de erro SIOCSIFFLAGS: No such file or directory, isso certamente significa que seu chipset sem fio requer um firmware para funcionar.

Verifique as mensagens de kernel para o firmware sendo carregado:

# dmesg | grep firmware
[   7.148259] iwlwifi 0000:02:00.0: loaded firmware version 39.30.4.1 build 35138 op_mode iwldvm

Se não houver uma saída relevante, verifique as mensagens para a saída completa do módulo identificado anteriormente (iwlwifi neste exemplo) para identificar a mensagem relevante ou outros problemas:

# dmesg | grep iwlwifi
[   12.342694] iwlwifi 0000:02:00.0: irq 44 for MSI/MSI-X
[   12.353466] iwlwifi 0000:02:00.0: loaded firmware version 39.31.5.1 build 35138 op_mode iwldvm
[   12.430317] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled
...
[   12.430341] iwlwifi 0000:02:00.0: Detected Intel(R) Corporation WiFi Link 5100 AGN, REV=0x6B

Se o módulo do kernel foi carregado com êxito e a interface estiver ativa, você pode pular a próxima seção.

Instalar driver/firmware

Verifique as listas a seguir para descobrir se sua placa é compatível:

Observe que alguns fornecedores fornecem produtos que podem conter conjuntos de chips diferentes, mesmo se o identificador do produto for o mesmo. Apenas o usb-id (para dispositivos USB) ou pci-id (para dispositivos PCI) é autoritativo.

Se a sua placa sem fio estiver listada acima, siga a subseção desta página #Solução de problemas de drivers e firmware, que contém informações sobre a instalação de drivers e firmware de algumas placas sem fio específicas. Em seguida, verifique o status do driver novamente.

Se sua placa sem fio não estiver listada acima, provavelmente só há suporte no Windows (algumas Broadcom, 3com etc). Para essas, você pode tentar usar o #ndiswrapper.

Utilitários

Assim como outras interfaces de rede, as sem fio são controladas com ip do pacote iproute2.

Gerenciar uma conexão sem fio requer um conjunto básico de ferramentas. Use um gerenciador de rede ou use um dos seguintes diretamente:

Software Pacote WEXT nl80211 WEP WPA/WPA2 Archiso [1]
wireless_tools[link inativo 2021-11-13 ⓘ]1 wireless_tools Sim Não Sim Não Sim
iw iw Não Sim Sim Não Sim
wpa_supplicant wpa_supplicant Sim Sim Sim Sim Sim
iwd iwd Não Sim Sim Sim Sim
  1. Descontinuado.

Note que algumas placas só oferece suporte a WEXT.

Comparação entre iw e wireless_tools

A tabela abaixo fornece uma visão geral dos comandos comparáveis para iw e wireless_tools. Veja iw substitui o iwconfig para mais exemplos.

comando iw comando wireless_tools Descrição
iw dev wlan0 link iwconfig wlan0 Obtendo status do link.
iw dev wlan0 scan iwlist wlan0 scan Buscando pontos de acesso disponíveis.
iw dev wlan0 set type ibss iwconfig wlan0 mode ad-hoc Definindo o modo de operação para ad-hoc.
iw dev wlan0 connect seu_essid iwconfig wlan0 essid seu_essid Conectando a rede aberta.
iw dev wlan0 connect seu_essid 2432 iwconfig wlan0 essid seu_essid freq 2432M Conectando a rede aberta especificando um canal.
iw dev wlan0 connect seu_essid key 0:sua_chave iwconfig wlan0 essid seu_essid key sua_chave Conectando a rede criptografada por WEP usando a chave hexadecimal.
iwconfig wlan0 essid seu_essid key s:sua_chave Connecting to WEP encrypted network using ASCII key.
iw dev wlan0 set power_save on iwconfig wlan0 power on Habilitando economia de energia.

iw

Nota:
  • Note que a maioria dos comandos devem ser executados com permissões de root. Se executados com permissões de usuário normal, alguns dos comandos (por exemplo, iw list) sairão sem erro, mas também não produzirão a saída correta, o que pode ser confuso.
  • Dependendo do seu hardware e tipo de criptografia, algumas dessas etapas podem não ser necessárias. Algumas placas são conhecidas por exigir a ativação da interface e/ou a verificação do ponto de acesso antes de serem associadas a um ponto de acesso e receberem um endereço IP. Algum teste pode ser necessário. Por exemplo, os usuários WPA/WPA2 podem tentar ativar diretamente sua rede sem fio a partir do passo #Conectar a um ponto de acesso.

Exemplos nesta seção presume que sua interface de dispositivo sem fio é interface e que você está se conectando a ponto de acesso wifi seu_essid. Substitua ambos conforme o caso.

Obter o nome da interface

Dica: Veja a documentação oficial da ferramenta iw para mais exemplos.

Para obter o nome de sua interface sem fio, faça:

$ iw dev

O nome da interface será exibida após a palavra "Interface". Por exemplo, ela normalmente é wlan0.

Obter o status da interface

Para verificar o status dos links, use o comando a seguir:

$ iw dev interface link

Você pode obter informações estatísticas, tal como a quantidade de bytes tx/rx, força de sinal etc., com o comando a seguir:

$ iw dev interface station dump

Ativar a interface

Dica: Geralmente, essa etapa não é necessária.

Algumas placas de rede exigem que a interface do kernel seja ativada antes que você possa usar iw ou wireless_tools:

# ip link set interface up
Nota: Se você obtiver erros como RTNETLINK answers: Operation not possible due to RF-kill, certifique-se que o botão de hardware esteja ligado. Veja #Problemas com rfkill para detalhes.

Para conferir se a interface está ativa, inspecione a saída do comando a seguir:

$ ip link show interface
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff

O UP em <BROADCAST,MULTICAST,UP,LOWER_UP> é o que indica que a interface está ativa, e não o state DOWN em seguida.

Descobrir pontos de acesso

Para ver quais pontos de acesso estão disponíveis, execute:

# iw dev interface scan | less
Nota: Se ele exibir Interface does not support scanning, você provavelmente se esqueceu de instalar o firmware. Em alguns casos, esta mensagem também é exibida quando não se está executando iw como root.
Dica: Dependendo da sua localização, talvez seja necessário definir o domínio regulatório correto para ver todas as redes disponíveis.

Os pontos importantes para verificar são:

  • SSID: o nome da rede.
  • Signal: é relatado numa proporção de potência de sinal sem fio em dBm (por exemplo, de -100 a 0). Quanto mais próximo o valor negativo chegar a zero, melhor será o sinal. Observar o poder relatado em um link de boa qualidade e um link ruim deve dar uma ideia sobre o alcance individual.
  • Security: não é relatado diretamente, devendo-se verificar a linha que começa com capability. Se houver Privacy, por exemplo, capability: ESS Privacy ShortSlotTime (0x0411), a rede estará protegida de alguma forma.
    • Se você vir um bloco de informação RSN, então a rede está protegida pelo protocolo Robust Security Network, também conhecido como WPA2.
    • Nos blocos RSN e WPA, você pode encontrar as informações a seguir:
      • Group cipher: valor em TKIP, CCMP, both, others.
      • Pairwise ciphers: valor TKIP, CCMP, both, others. Não necessariamente o mesmo valor que Group cipher.
      • Authentication suites: valor em PSK, 802.1x, others. Para roteadores residenciais, você geralmente vai encontrar PSK (que significa passphrase ou, em português, senha). Em universidades, você provavelmente encontrará o padrão 802.1x que requer usuário e senha. Então, você precisará saber qual gerenciamento de chave está em uso (p. ex., EAP) e qual encapsulamento é usado (p. ex., PEAP). Veja #WPA2 Empresarial e Wikipedia:Authentication protocol para detalhes.
    • Se você não vir blocos RSN nem WPA, mas há Privacy, então WEP é usado.

Definir o modo de operação

Pode ser necessário definir o modo de operação adequado da placa sem fio. Mais especificamente, se você for conectar uma rede ad-hoc, você precisa definir o modo de operação para ibss:

# iw dev interface set type ibss
Nota: A mudança do modo de operação em algumas placas pode exibir que a interface sem fio esteja desativada (ip link set interface down).

Conectar a um ponto de acesso

Dependendo da criptografia, você precisa associar seu dispositivo sem fio ao ponto de acesso para usar e transmitir a chave de criptografia:

  • Nenhuma criptografia
    # iw dev interface connect "seu_essid"
  • WEP
    • usando uma chave hexadecimal ou ASCII (o formato é diferenciado automaticamente porque uma chave WEP tem um tamanho fixo):
      # iw dev interface connect "seu_essid" key 0:sua_chave
    • usando uma chave hexadecimal ou ASCII, especificando a terceira chave de configuração como padrão (as chaves são contadas a partir de zero, quatro são possíveis):
      # iw dev interface connect "sua_essid" key d:2:sua_chave

Independentemente do método usado, você pode verificar se você conseguiu se associar com sucesso:

# iw dev interface link

Autenticação

This article or section needs expansion.

Reason: Adicionar Opportunistic Wireless Encryption (OWE) a.k.a. Enhanced Open. Alertar sobre WEP e redes abertas. (Discuss in talk:Network configuration/Wireless)

WPA2 Pessoal

WPA2 Pessoal, ou WPA2-PSK, é um modo de Wi-Fi Protected Access.

Você pode autenticar em redes WPA2 Pessoal usando wpa_supplicant ou iwd, ou conectar usando um gerenciador de rede. Se você autenticou apenas na rede, para ter uma conexão totalmente funcional, você ainda precisará atribuir o(s) endereço(s) IP e rotas ou manualmente ou usando um DHCP cliente.

WPA2 Empresarial

Do inglês WPA2 Enterprise, é um modo de Wi-Fi Protected Access. Ele oferece melhor segurança e gerenciamento de chaves do que o WPA2 Pessoal (WPA2 Personal) e suporta outras funcionalidades do tipo corporativo, como VLANs e NAP. No entanto, é necessário um servidor de autenticação externo, chamado servidor RADIUS para lidar com a autenticação de usuários. Isso está em contraste com o modo Pessoal, que não exige nada além do roteador sem fio ou pontos de acesso (APs) e usa uma única senha ou senha para todos os usuários.

O modo Empresarial permite que os usuários façam logon na rede Wi-Fi com um nome de usuário e senha e/ou um certificado digital. Como cada usuário tem uma chave de criptografia única e dinâmica, ele também ajuda a evitar a espionagem usuário a usuário na rede sem fio e melhora a força da criptografia.

Esta seção descreve a configuração da clientes de rede para se conectar a um ponto de acesso sem fio com o modo WPA2 Empresarial. Consulte Software access point#RADIUS para obter informações sobre como configurar um próprio ponto de acesso.

Nota: O modo Empresarial requer uma configuração de cliente mais complexa, enquanto o modo Pessoal requer apenas a inserção de uma senha quando solicitado. É provável que os clientes precisem instalar o certificado de AC do servidor (mais certificados por usuário se usar EAP-TLS) e, em seguida, configurar manualmente a segurança sem fio e as configurações de autenticação 802.1X.

Para uma comparação de protocolos, veja a seguinte tabela.

Atenção: É possível usar o WPA2 Empresarial sem que o cliente verifique o certificado de AC do servidor. No entanto, você deve sempre procurar fazê-lo, porque sem autenticar o ponto de acesso, a conexão pode estar sujeita a um ataque man-in-the-middle. Isso pode acontecer porque, embora o handshake de conexão em si possa ser criptografado, as configurações mais usadas transmitem a própria senha em texto simples ou no modo facilmente quebrável #MS-CHAPv2. Portanto, o cliente pode enviar a senha para um ponto de acesso mal-intencionado que, então, faz o proxy da conexão.

MS-CHAPv2

As redes sem fio WPA2 Empresarial que exigem autenticação tipo 2 de MSCHAPv2 com PEAP às vezes exigem pptpclient, além do pacote ppp. netctl parece funcionar facilmente sem ppp-mppe, no entanto. Em ambos os casos, o uso de MSCHAPv2 é desencorajado, pois é altamente vulnerável, embora o uso de outro método geralmente não seja uma opção.

eduroam

Eduroam (acrônimo em inglês para education roaming) é uma rede de serviços internacional de roaming para os usuários em pesquisa no ensino superior e cursos subsequentes, baseado em WPA2 Empresarial.

Nota:
  • Verifique os detalhes da conexão primeiro com sua instituição antes de aplicar os perfis listados nesta seção. Não é garantido que os perfis de exemplo funcionem ou correspondam a quaisquer requisitos de segurança.
  • Ao armazenar os perfis de conexão não criptografados, recomenda-se restringir o acesso de leitura à conta root, especificando chmod 600 perfil como root.
Dica: A configuração para o NetworkManager pode ser gerada com a ferramenta assistente de configuração (CAT) do eduroam .

Configuração manual/automática

WPA3 Pessoal

WPA3 Pessoal, também conhecido como WPA3-SAE, é um modo de Wi-Fi Protected Access.

wpa_supplicant possui suporte a WPA3 Pessoal (CONFIG_SAE está habilitado no wpa_supplicant desde a versão 2:2.9-4).

Dicas e truques

Respeitar o domínio regulatório

O domínio regulatório, conhecidos como "regdomain", é usado para reconfigurar os drivers sem fio para garantir que o uso de tal hardware esteja em conformidade com as leis locais estabelecidas pela FCC, ETSI e outras organizações. Os regdomain usam códigos de país ISO 3166-1 alfa-2. Por exemplo, o regdomain dos Estados Unidos seria "US", a China seria "CN", do Brasil seria "BR", etc.

Os regdomains afetam a disponibilidade de canais sem fio. Na banda de 2,4 GHz, os canais permitidos são 1-11 para os EUA, 1-14 para o Japão e 1-13 para a maior parte do resto do mundo. Na banda de 5GHz, as regras para os canais permitidos são muito mais complexas. Em ambos os casos, consulte esta lista de canais WLAN para obter informações mais detalhadas.

Os regdomains também afetam o limite da Potência Isotrópica Radiada Equivalente (EIRP) (do inglês, Effective Isotropic Radiated Power) de dispositivos sem fio. Isso é derivado da potência de transmissão/"tx power" e é medido em dBm/mBm (1dBm=100mBm) ou mW (escala de log). Na faixa de 2,4 GHz, o máximo é 30dBm nos EUA e Canadá, 20dBm na maior parte da Europa e 20dBm-30dBm no resto do mundo. Na banda de 5GHz, os máximos são geralmente mais baixos. Consulte o wireless-regdb para informações mais detalhadas (os valores dBm de EIRP estão no segundo conjunto de colchetes para cada linha).

A configuração incorreta do regdomain pode ser útil - por exemplo, permitindo o uso de um canal não utilizado quando outros canais estão lotados ou permitindo um aumento na potência de transmissão para ampliar o alcance do transmissor. No entanto, isso não é recomendado, pois poderia violar as leis locais e causar interferência em outros dispositivos de rádio.

Para configurar o regdomain, instale crda[link quebrado: replaced by wireless-regdb] e reinicialize (para recarregar o módulo cfg80211 e todos os drivers relacionados). Verifique o log de inicialização para certificar-se de que o CRDA esteja sendo chamado por cfg80211:

# dmesg | grep cfg80211

O regdomain atual pode ser configurar para os Estados Unidos com:

# iw reg set US

E consultado com:

$ iw reg get
Nota:
  • Seu dispositivo pode ser configurado com país "00", que é o "world regulatory domain" (domínio regulatório mundial) e contém configurações genéricas. Se isso não puder ser desconfigurado, CRDA pode ser malconfigurado.
  • De acordo com README do CRDA, não é mais necessário desde o kernel v4.15, pois o kernel carrega automaticamente o banco de dados regulador do firmware. Porém também é dito ser necessária uma configuração específica do kernel para que o carregamento funcione.

No entanto, a configuração do regdomain não pode alterar suas configurações. Alguns dispositivos têm um regdomain definido em firmware/EEPROM, que dita os limites do dispositivo, o que significa que a configuração de regdomain em software só pode aumentar as restrições , não diminui-las. Por exemplo, um dispositivo CN pode ser definido no software para o regdomain dos EUA, mas como o CN tem um máximo EIRP de 20dBm, o dispositivo não poderá transmitir no máximo dos EUA de 30dBm.

Por exemplo, para ver se o regdomain está sendo configurado no firmware para um dispositivo Atheros:

# dmesg | grep ath:

Para outros chipsets, pode ser útil pesquisar por "EEPROM", "regdomain" ou simplesmente o nome do driver de dispositivo.

Para ver se sua alteração de regdomain foi realizada com sucesso, e consultar o número de canais disponíveis e sua potência permitida de transmissão:

$ iw list | grep -A 15 Frequencies:

Uma configuração mais permanente do regdomain pode ser obtida através da edição /etc/conf.d/wireless-regdom e descomentando o domínio apropriado.

Uma suplicante WPA também pode usar um regdomain na linha country= de /etc/wpa_supplicant/wpa_supplicant.conf.

Também é possível configurar o módulo do kernel cfg80211 para usar um regdomain específico adicionando, por exemplo, options cfg80211 ieee80211_regdom=EU como opções do módulo. No entanto, isso faz parte da antiga implementação regulamentar.

Para mais informações, leia a documentação regulatória no wireless.wiki.kernel.org.

Problemas com rfkill

Muitos laptops têm um botão de hardware (ou interruptor) para desligar a placa wireless, no entanto, a placa também pode ser bloqueada pelo kernel. Isso pode ser tratado por rfkill. Para mostrar o status atual:

# rfkill list
0: phy0: Wireless LAN
	Soft blocked: yes
	Hard blocked: yes

Se a placa estiver com hard blocked ligado, use o botão de hardware (interruptor) para desligá-la. Se a placa estiver com hard blocked desligado e soft blocked ligado, use o seguinte comando:

# rfkill unblock wifi
Nota: É possível que a placa passe o estado de hard blocked ligado e soft blocked desligado para hard blocked desligado e soft blocked ligado, pressionando o botão de hardware (ou seja, o bit soft blocked está apenas ligado, independentemente). Isso pode ser modificado ajustando algumas opções do módulo de kernel rfkill.

Os botões de hardware para ligar ou desligar placas de rede sem fio são tratadas por um módulo de kernel específico do fornecedor, frequentemente estes são módulos WMI. Particularmente para modelos de hardware muito novos, acontece que o modelo ainda não é totalmente suportado no kernel estável mais recente. Neste caso, muitas vezes, ajuda a procurar informações sobre o rastreador de bugs do kernel e relatar o modelo ao mantenedor do módulo do respectivo kernel do fornecedor, caso isso ainda não tenha ocorrido.

Veja também [2].

Economia de energia

Veja Power management (Português)#Interfaces de rede.

Solução de problemas

Essa seção contém dicas de solução de problemas gerais, e não estritamente relacionados com problemas de drivers ou firmwares. Para tais tópicos, veja a próxima seção #Solução de problemas de drivers e firmware.

Acesso temporário à internet

Se você tem hardware problemático e precisa de acesso à Internet para, por exemplo, baixar algum software ou obter ajuda em fóruns, você pode usar o recurso interno do Android para compartilhamento de internet via cabo USB. Consulte Android tethering#USB tethering para mais informações.

Observando os logs

Uma boa primeira medida para solucionar problemas é analisar primeiro os arquivos de registro do sistema. Para não analisar manualmente todos eles, pode ajudar a abrir uma segunda janela do terminal/console e observar as mensagens dos kernels com

# dmesg -w

ao realizar a ação, p. ex. a tentativa de associação sem fio.

Ao usar uma ferramenta para gerenciamento de rede, o mesmo pode ser feito para systemd com

# journalctl -f

Frequentemente, um erro de conexão sem fio é acompanhado por uma desautenticação com um código de motivo particular, por exemplo:

wlan0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (reason=3)

Consultar o código de motivo pode dar uma primeira dica. Talvez também ajude você a olhar para a mensagem de controle flowchart, as mensagens do diário a seguirão.

As ferramentas individuais usadas neste artigo fornecem opções para uma saída de depuração mais detalhada, que pode ser usada em uma segunda etapa da análise, se necessário.

Falha ao obter endereço IP

  • Se a obtenção de um endereço IP falhar repetidamente usando o cliente padrão dhcpcd, tente instalar e usar dhclient. Não se esqueça de selecionar dhclient como o cliente DHCP principal no gerenciador de conexões.
  • Se você puder obter um endereço IP para uma interface com fio e não para uma interface sem fio, tente desabilitar o recurso economia de energia da placa de rede sem fio (especifique off em vez de on).
  • Se você receber um erro de tempo limite devido a um problema de waiting for carrier, talvez seja necessário definir o modo de canal como auto para o dispositivo específico:
# iwconfig wlan0 channel auto

Antes de mudar o canal para automático, verifique se sua interface sem fio está desativada. Depois de ter mudado com sucesso, você pode trazer a interface novamente e continuar a partir daí.

Endereço IP válido, mas não consegue resolver host

Se você estiver em uma rede sem fio pública que possa ter um portal cativo, certifique-se de consultar uma página HTTP (não uma página HTTPS) do seu navegador, pois alguns portais cativos só redirecionam HTTP.

Se esse não for o problema, verifique se você consegue resolver nomes de domínio, pode ser necessário usar o servidor DNS anunciado via DHCP.

Definindo limites de RTS e de fragmentação

O hardware sem fio desativa o RTS e a fragmentação por padrão. Estes são dois métodos diferentes de aumentar o rendimento à custa da largura de banda (ou seja, confiabilidade à custa da velocidade). Eles são úteis em ambientes com ruído sem fio ou com muitos pontos de acesso adjacentes, o que pode criar interferência, levando a tempos limites ou a falhas de conexão.

A fragmentação de pacotes melhora o rendimento dividindo pacotes com tamanho excedendo o limite de fragmentação. O valor máximo (2346) efetivamente desativa a fragmentação, pois nenhum pacote pode excedê-lo. O valor mínimo (256) maximiza o rendimento, mas pode acarretar um custo significativo de largura de banda.

# iw phy0 set frag 512

RTS melhora o rendimento executando um handshake com o ponto de acesso antes de transmitir pacotes com tamanho excedendo o limite de RTS. O limite máximo (2347) efetivamente desativa o RTS, já que nenhum pacote pode excedê-lo. O limite mínimo (0) habilita o RTS para todos os pacotes, o que provavelmente é excessivo para a maioria das situações.

# iw phy0 set rts 500
Nota: phy0 é o nome do dispositivo sem fio conforme listado por $ iw phy.

Desconexões aleatórias

Causa nº.1

Se o dmesg disser wlan0: deauthenticating from MAC by local choice (reason=3) e você perder sua conexão Wi-Fi, é provável que você tenha uma economia de energia um pouco agressiva demais na sua placa Wi-Fi. Tente desabilitar os recursos economia de energia do placa sem fio (especifique off em vez de on).

Se a sua placa não oferece suporte a ativar/desativar o modo de economia de energia, verifique o BIOS para obter opções de gerenciamento de energia. Desativar o gerenciamento de energia PCI-Express no BIOS de um Lenovo W520 resolveu esse problema.

Causa nº.2

Se você está experimentando desconexões frequentes e o dmesg mostra mensagens como

ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting

Tente mudar a largura de banda do canal para 20MHz através da página de configurações do seu roteador.

Causa nº.3

Em alguns modelos de notebooks com switches de hardware (por exemplo, Thinkpad X200 series), devido ao desgaste ou design ruim, o switch (ou sua conexão com a placa-mãe) pode se soltar com o tempo, resultando em hardblocks/desconexões aparentemente aleatórias quando você acidentalmente toca o mudar ou mover o laptop. Não há solução de software para isso, a menos que seu switch seja elétrico e o BIOS ofereça a opção de desabilitar o interruptor. Se o seu interruptor for mecânico (a maioria é), existem muitas soluções possíveis, a maioria das quais visa desabilitar o interruptor: Soldando o ponto de contato na placa-mãe/placa wifi, colando ou bloqueando a chave, usando uma porca para apertar o interruptor ou removê-lo completamente.

Causa nº.4

Outro motivo para desconexões frequentes ou falha total na conexão também pode ser um roteador abaixo do padrão, configurações incompletas do roteador ou interferência de outros dispositivos sem fio.

Para solucionar problemas, primeiro tente conectar-se ao roteador sem autenticação.

Se isso funcionar, ative o WPA/WPA2 novamente, mas escolha configurações de roteador fixas e/ou limitadas. Por exemplo:

  • Se o roteador for consideravelmente antigo que o dispositivo sem fio que você usa para o cliente, teste se ele funciona com a configuração do roteador para um modo sem fio
  • Desative autenticação de modo misto (por exemplo, somente WPA2 com AES ou TKIP se o roteador for antigo)
  • Tente um canal fixo/livre em vez de um canal "auto" (talvez o roteador do vizinho seja antigo e interfira)
  • Desabilite WPS
  • Desabilite largura de banda do canal 40MHz (menor rendimento, mas colisões menos prováveis)
  • Se o roteador tiver configurações de qualidade de serviço (QoS), verifique a integridade das configurações (por exemplo, o Wi-Fi Multimedia (WMM) faz parte do controle de fluxo QoS opcional. Um firmware incorreto do roteador pode anunciar sua existência, embora a configuração não esteja ativada)

Redes Wi-Fi invisíveis por causa do domínio regulatório incorreto

Se os canais Wi-Fi do computador não corresponderem aos do país do usuário, algumas redes Wi-Fi no intervalo podem ficar invisíveis, porque eles usam canais sem fio que não são permitidos por padrão. A solução é configurar o domínio regulatório corretamente, consulte #Respeitar o domínio regulatório.

Solução de problemas de drivers e firmware

Esta seção cobre métodos e procedimentos para instalar módulos do kernel e firmware para chipsets específicos, que diferem do método genérico.

Veja Módulos de kernel para informações gerais sobre operações com módulos.

Ralink/Mediatek

rt2x00

Driver unificado para chipsets Ralink (ele substitui rt2500, rt61, rt73, etc). Este driver está no kernel Linux desde o 2.6.24, você só precisa carregar o módulo correto para o chip: rt2400pci, rt2500pci, rt2500usb, rt61pci ou rt73usb que carregará automaticamente os respectivos módulos rt2x00 também.

Uma lista de dispositivos suportados pelos módulos está disponível no site do projeto.

Notas adicionais
  • Desde o kernel 3.0, rt2x00 também inclui esses drivers: rt2800pci, rt2800usb.
  • Desde o kernel 3.0, os drivers staging rt2860sta e rt2870sta foram substituídos pelos drivers mainline rt2800pci e rt2800usb[3][link inativo 2023-10-29 ⓘ].
  • Alguns dispositivos tem uma ampla gama de opções que pode ser configurada com iwpriv. Esses estão documentados nos tarballs fonte disponíveis na Ralink.

rt3090

Para dispositivos que estão usando o chipset rt3090, deve ser possível usar o driver rt2800pci, no entanto, ele não está funcionando com este chipset muito bem (por exemplo, às vezes não é possível usar uma taxa maior que 2Mb/s).

rt3290

O chipset rt3290 é reconhecido pelo módulo do kernel rt2800pci. No entanto, alguns usuários enfrentam problemas e reverter para um driver Ralink corrigido parece ser benéfico nesses casos.

rt3573

Novo chipset a partir de 2012. Pode exigir drivers proprietários da Ralink. Diferentes fabricantes o utilizam, consulte o tópico de fóruns Adaptador USB sem fio Belkin N750 DB.

mt7612u

Novo chipset a partir de 2014, lançado sob o novo nome comercial Mediatek. É um chipset AC1200 ou AC1300. O fabricante fornece drivers para o Linux em sua página de suporte.

Realtek

Veja [4] para uma lista de chipsets Realtek e especificações.

rtl8192cu

O driver agora está no kernel, mas muitos usuários relataram não conseguir estabelecer uma conexão, embora a verificação de redes funcione.

8192cu-dkmsAUR inclui muitos patches, tente isso se não funcionar bem com o driver no kernel.

rtl8723ae/rtl8723be

Os módulos rtl8723ae e rtl8723be estão incluídos no kernel Linux padrão.

Alguns usuários podem encontrar erros com economia de energia neste cartão. Isso é mostrado com desconexões ocasionais que não são reconhecidas pelos gerenciadores de rede de alto nível (netctl, NetworkManager). Este erro pode ser confirmado executando dmesg -w ou journalctl -f e procurando resultados relacionados a economia de energia e ao módulo rtl8723ae/rtl8723be. Se você está tendo este problema, use a opção de kernel fwlps=0, que deve impedir que a placa WiFi entre automaticamente e pare a conexão.

/etc/modprobe.d/rtl8723ae.conf
options rtl8723ae fwlps=0

ou

/etc/modprobe.d/rtl8723be.conf
options rtl8723be fwlps=0

Se você tiver um sinal fraco, talvez seu dispositivo tenha apenas uma antena física conectada e a seleção automática da antena esteja interrompida. Você pode forçar a escolha da antena com a opção do kernel ant_sel=1 ou ant_sel=2. [5]

rtl88xxau

Chipsets rtl8811au/rtl8812au/rtl8814au/rtl8821au da Realtek projetados para vários adaptadores USB, de AC600 a AC1900.

Vários pacotes fornecem diversos drivers de kernel:

Chipset Versão de driver Pacote Notas
rtl8811au, rtl8812au, rtl8814au and rtl8821au 5.6.4.1 rtl88xxau-aircrack-dkms-gitAUR Módulo de kernel Aircrack-ng para chipsets 8811au, 8812au, 8814au e 8821au com modo monitor e suporte a injeção.
rtl8812au 5.2.20 rtl8812au-dkms-gitAUR A versão mais recente do driver oficial da Realtek para rtl8812au somente.
rtl8811au, rtl8812au e rtl8821au 5.1.5 rtl8821au-dkms-gitAUR Para rtl8812au, as versões 5.6.4.1 e 5.2.20 são recomendadas.
rtl8814au 4.3.21 rtl8814au-dkms-gitAUR Possivelmente funciona para rtl8813au também. Reportado como tendo melhor desempenho que rtl88xxau-aircrack-dkms-gitAUR

Esses exigem DKMS, então certifique-se que você tenha os cabeçalhos apropriados para seu kernel instalados.

rtl8811cu/rtl8821cu

rtl8821cu-dkms-gitAUR fornece um módulo módulo de kernel os chipsets Realtek 8811cu e 8821cu.

Esse exige DKMS, então certifique-se que você tenha os cabeçalhos apropriados para seu kernel instalados.

rtl8821ce

rtl8821ce-dkms-gitAUR fornece um módulo de kernel para o chipset Realtek 8821ce chipset encontrado no Asus X543UA.

Esse exige DKMS, então certifique-se que você tenha os cabeçalhos apropriados para seu kernel instalados.

rtl8822bu

rtl88x2bu-dkms-gitAUR fornece um módulo de kernel para o chipset Realtek 8822bu encontrado no adaptador Edimax EW7822ULC USB3, Asus AC53 Nano USB 802.11ac e TP-Link Archer T3U.

Ele exige DKMS, então certifique-se que você tenha os cabeçalhos apropriados para seu kernel instalados.

rtl8xxxu

Os problemas com o módulo de kernel da linha principal rtl8xxxu podem ser resolvidos pela compilação de um módulo de terceiros para o chipset específico. O código-fonte pode ser encontrado em repositórios GitHub.

Alguns drivers podem estar preparados no AUR como, por exemplo, rtl8723bu-dkms-gitAUR.

Atheros

A equipe MadWifi atualmente mantém três drivers diferentes para dispositivos com chipset Atheros:

  • madwifi é um driver antigo e obsoleto, não presente no Arch kernel desde 2.6.39.1[6].
  • ath5k é um driver mais novo, que substitui o driver madwifi. Atualmente uma escolha melhor para alguns chipsets, mas nem todos os chipsets têm suporte (veja abaixo)
  • ath9k é o mais novo desses três e é destinado a chipsets Atheros mais novos. Há suporte a todos os chips com capacidades 802.11n.

Há alguns outros drivers para alguns dispositivos Atheros. Veja a documentação Linux Wireless para detalhes.

ath5k

Recursos externos:

Se você encontrar páginas da Web sendo carregadas aleatoriamente muito lentamente ou se o dispositivo não puder conceder um endereço IP, tente alternar de criptografia de hardware para software carregando o módulo ath5k com nohwcrypt=1 opção. Veja Módulos de kernel#Opções de configuração de módulos para detalhes.

Alguns laptops podem ter problemas com o indicador LED sem fio piscando em vermelho e azul. Para resolver esse problema, faça:

# echo none > /sys/class/leds/ath5k-phy0::tx/trigger
# echo none > /sys/class/leds/ath5k-phy0::rx/trigger

Para alternativas, veja esse relatório de erro.

ath9k

Recursos externos:

A partir do Linux 3.15.1, alguns usuários experimentaram uma diminuição na largura de banda. Em alguns casos isso pode ser corrigido editando /etc/modprobe.d/ath9k.conf e adicionando a linha:

options ath9k nohwcrypt=1
Nota: Verifique com o comando lsmod qual o (nome do) módulo está em uso e altere-o se nomeado de outra forma (por exemplo, ath9k_htc).

No caso improvável de você ter problemas de estabilidade que o incomodem, você pode tentar usar o pacote backports-patchedAUR[link quebrado: package not found]. Existe uma lista de discussão[link inativo 2023-10-29 ⓘ] para discussões relacionadas a suporte e desenvolvimento.

Economia de energia

Embora o Linux Wireless diga que a economia de energia dinâmica está habilitada para chips Atheros ath9k mais recentes que AR9280, para alguns dispositivos (por exemplo, AR9285) o powertop ainda pode relatar que a economia de energia está desativada. Nesse caso, habilite-a manualmente.

Em alguns dispositivos (por exemplo, AR9285), habilitar economia de energia pode resultar no seguinte erro:

# iw dev wlan0 set power_save on
command failed: Operation not supported (-95)

A solução é definir a opção ps_enable=1 para o módulo ath9k:

/etc/modprobe.d/ath9k.conf
options ath9k ps_enable=1

Intel

ipw2100 e ipw2200

Esses módulos são totalmente suportados no kernel, mas requerem firmware adicional. Dependendo de qual dos chipsets você tem, instale ipw2100-fw[link quebrado: package not found] ou ipw2200-fw[link quebrado: package not found]. Então recarregue o módulo apropriado.

Dica: Você pode usar as seguintes opções de módulo:
  • use a opção rtap_iface=1 habilitar a interface radiotap
  • use a opção led=1 para habilitar um LED frontal indicando quando a rede sem-fio está conectada ou não

iwlegacy

O iwlegacy é o driver sem fio para os chips sem fio 3945 e 4965 da Intel. O firmware está incluído no pacote linux-firmware.

udev deve carregar automaticamente o driver, do contrário carregue iwl3945 ou iwl4965 manualmente. Veja Módulos de kernel para detalhes.

Se você tiver problemas para se conectar a redes em geral, falhas aleatórias com seu cartão na inicialização ou a qualidade do seu link é muito fraca, tente desabilitar o 802.11n:

/etc/modprobe.d/iwl4965.conf
options iwl4965 11n_disable=1

Se as falhas persistirem durante a inicialização e você estiver usando o driver Nouveau, tente ativar o KMS antigo para evitar o conflito [7].

iwlwifi

O iwlwifi é o driver sem fio para os chips sem fio atuais da Intel, como 5100AGN, 5300AGN e 5350AGN. Veja a lista completa de dispositivos suportados. O firmware está incluído no pacote linux-firmware. O linux-firmware-iwlwifi-gitAUR[link quebrado: package not found] pode conter algumas atualizações mais cedo.

Se você tiver problemas para se conectar a redes em geral ou se a qualidade do link for muito ruim, tente desativar o 802.11n e talvez também ative a criptografia do software:

/etc/modprobe.d/iwlwifi.conf
options iwlwifi 11n_disable=1 swcrypto=1

Se você tiver um problema com a velocidade de uplink lenta no modo 802.11n, por exemplo 20Mbps, tente ativar a agregação de antena:

/etc/modprobe.d/iwlwifi.conf
options iwlwifi 11n_disable=8

Não se confunda com o nome da opção, quando o valor é definido como 8, ele não desabilita nada, mas reativa a agregação da antena de transmissão. [8] [9]

Caso isso não funcione, você pode tentar desativar economia de energia para seu adaptador sem fio.

Alguns nunca conseguiram que isso funcionasse. Outros encontraram a salvação desativando N nas configurações do roteador depois de tentar tudo. Sabe-se que esta é a única solução em mais de uma ocasião. O segundo link menciona uma opção de 5Ghz que pode valer a pena ser explorada.

Se o seu roteador suportar apenas modos até 802.11n, o uso de 11n_disable=0 limitará as velocidades de download e upload a ~20 Mbps (limite de 802.11g). Se você precisar de mais do que isso e sua placa suportar os modos 802.11ac e/ou 802.11ax (por exemplo, Intel® Wi-Fi 6 AX200 160MHz), considere substituir seu roteador por outro que também suporte 802.11ac e/ou 802.11ax.

Coexistência com Bluetooth

Se você tiver dificuldade em conectar um fone de ouvido Bluetooth e manter uma boa velocidade de downlink, tente desabilitar a coexistência Bluetooth [10]:

/etc/modprobe.d/iwlwifi.conf
options iwlwifi bt_coex_active=0
Rastros de pilha de firmware

Você pode ter alguns problemas, situação na qual o driver emite alguns rastros de pilhas e erros, o que pode ser o causador de falhas.

dmesg
Microcode SW error detected.  Restarting 0x2000000.

Para corrigir esses erros, você pode fazer downgrade do pacote linux-firmware ou renomear a última versão do firmware usado por seu dispositivo, de forma que uma versão mais antiga seja carregada (o que o mantém fora dos pacotes ignorados do pacman).

Desabilitar piscada de LED

Nota: Isso funciona com os drivers iwlegacy e iwlwifi.

As configurações padrão no módulo são para que o LED pisque na atividade. Algumas pessoas acham isso extremamente irritante. Para que o LED fique sólido quando o Wi-Fi estiver ativo, você pode usar o systemd-tmpfiles:

/etc/tmpfiles.d/phy0-led.conf
w /sys/class/leds/phy0-led/trigger - - - - phy0radio

Execute systemd-tmpfiles --create phy0-led.conf para que a alteração surta efeito ou reinicie.

Para ver todos os valores possíveis para esse LED:

# cat /sys/class/leds/phy0-led/trigger
Dica: Se você não tiver /sys/class/leds/phy0-led, você pode tentar usar a opção de módulo led_mode="1". Deve ser válida para ambos drivers iwlwifi e iwlegacy.

Broadcom

Veja Broadcom wireless.

Outros drivers/dispositivos

Tenda w322u

Trate essa placa Tenda como um dispositivo rt2870sta. Veja #rt2x00.

orinoco

Isso deve ser parte do pacote do kernel e já estar instalado.

Alguns chipsets Orinoco são Hermes II. Você pode usar o driver wlags49_h2_cs em vez do orinoco_cs e ganhar suporte a WPA. Para usar o driver, basta adicionar à lista negra orinoco_cs primeiro.

prism54

O driver p54 está incluído no kernel, mas você precisa fazer o download do firmware apropriado para sua placa neste site e instalá-lo no diretório /usr/lib/firmware.

Nota: Também existe um driver mais antigo e obsoleto prism54, que pode entrar em conflito com o driver mais recente (p54pci ou p54usb). Certifique-se de adicionar à lista negra prism54.

ACX100/111

Atenção: Os drivers para esses dispositivos estão quebrados e não funcionam com versões mais recentes do kernel.

Pacotes: tiacx tiacx-firmware (excluídos dos repositórios oficiais e do AUR)

Veja a página oficial para detalhes.

zd1211rw

zd1211rw é um driver para o chipset WLAN ZyDAS ZD1211 802.11b/g USB, e está incluído nas versões recentes do kernel do Linux. Consulte [11] para obter uma lista de dispositivos suportados. Você só precisa instalar o firmware do dispositivo, fornecido pelo pacote zd1211-firmwareAUR.

hostap_cs

Host AP é um driver Linux para placas de rede local sem fio baseado no chipset Prism2/2.5/3 da Intersil. O driver está incluído no kernel do Linux.

Nota: Certifique-se de adicionar à lista negra o driver orinico_cs, pois pode causar problemas.

ndiswrapper

Ndiswrapper é um script wrapper que permite usar alguns drivers do Windows no Linux. Você precisará dos arquivos .inf e .sys do seu driver do Windows.

Atenção: Certifique-se de usar os drivers apropriados para sua arquitetura (x86 vs. x86_64).
Dica: Se você precisar extrair esses arquivos de um arquivo *.exe, você pode usar cabextract.

Siga essas etapas para configurar ndiswrapper.

1. Instale ndiswrapper-dkms

2. Instale o driver para /etc/ndiswrapper/*

# ndiswrapper -i nome_de_arquivo.inf

3. Liste todos os drivers instalados para ndiswrapper

$ ndiswrapper -l

4. Deixe o ndiswrapper escrever sua configuração no /etc/modprobe.d/ndiswrapper.conf:

# ndiswrapper -m
# depmod -a

Agora a instalação do ndiswrapper está quase concluída; siga as instruções em Módulos de kernel#Carregamento automático de módulos com systemd para carregar automaticamente o módulo na inicialização.

A parte importante é certificar-se de que ndiswrapper existe nesta linha, por isso basta adicioná-lo ao lado dos outros módulos. Seria melhor testar se o ndiswrapper será carregado agora, então:

# modprobe ndiswrapper
# iwconfig

e wlan0 deve existir agora. Se você tiver problemas, alguma ajuda está disponível em: ndiswrapper howto e ndiswrapper FAQ.

backports-patched

backports-patchedAUR[link quebrado: package not found] fornece drivers lançados em novos kernels portados para uso em kernels mais antigos. O projeto começou desde 2007 e era originalmente conhecido como compat-wireless, evoluiu para compat-drivers e foi recentemente renomeado simplesmente para backports.

Se você estiver usando o kernel antigo e tiver problemas de conexão sem fio, os drivers neste pacote podem ajudar.

Veja também