Wireless network configuration (Português)

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngEsse artigo ou seção precisa de tradução.Tango-preferences-desktop-locale.png

Notas: Este artigo está sendo traduzido. (Discuta na Talk:Wireless network configuration (Portuguê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).

Contents

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 que é instalado por padrão, 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 colocar na 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 (geralmente começa com a letra "w", por exemplo, wlp2s1) foi criada. Em seguida, ative a interface com ip link set interface up. Por exemplo, supondo que a interface seja wlan0:

# ip link set wlan0 up

Se você receber esta 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 Nota
wireless_tools wireless_tools Sim Não Sim Não obsoleto
iw iw Não Sim Sim Não
WPA supplicant wpa_supplicant Sim Sim Sim Sim
iwd iwd Não Sim Sim Sim

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

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

Você precisará instalar um conjunto básico de ferramentas para gerenciar a conexão sem fio. Instale um dos seguintes:

Nota: Para criptografia WPA/WPA2, wpa_supplicant é necessário.
  • iwiw só oferece suporte ao padrão nl80211 (netlink), não havendo suporte ao padrão antigo WEXT (Wireless EXTentions). Se iw não vir sua placa, esse pode ser o motivo.
https://wireless.kernel.org/en/users/Documentation/iw || iw
  • wireless_toolswireless_tools está obsoleto, mas ainda é amplamente suportado. Use esse para módulos usando o padrão WEXT.
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html || wireless_tools
  • WPA supplicantwpa_supplicant é um suplicante multiplataforma com suporte a WEP, WPA e WPA2 (IEEE 802.11i / RSN (Robust Secure Network)). Funciona com o WEXT e o nl80211.
http://hostap.epitest.fi/wpa_supplicant/ || wpa_supplicant
Dica: Para uma comparação entre os comandos iw e wireless_tools, veja #Comparação entre iw e wireless_tools.
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, iwlist) 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

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.

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 e #wpa_supplicant podem ser geradas com a ferramenta assistente de configuração (CAT) do eduroam .

Configuração manual/automática

wpa_supplicant

Suplicante de WPA pode ser configurado diretamente e usado em combinação com um cliente DHCP ou com systemd. Veja os exemplos em /usr/share/doc/wpa_supplicant/wpa_supplicant.conf para configurar os detalhes de conexão.

NetworkManager

NetworkManager pode gerar perfis de WPA2 Empresarial com frontends gráficos. nmcli e nmtui não oferecem suporte a isso, mas podem usar perfis existentes.

connman

ConnMan precisa de um arquivo de configuração separado antes de se conectar à rede. Veja connman-service.config(5) e Connman#Connecting to eduroam para detalhes.

netctl

netctl possui suporte a configuração de #wpa_supplicant por meio de blocos inclusos com WPAConfigSection=. Veja netctl.profile(5) para detalhes.

Atenção: Regras de uso especial de aspas se aplicam: veja a seção SPECIAL QUOTING RULES em netctl.profile(5).
Dica: Certificados personalizados podem ser especificados adicionando a linha 'ca_cert="/caminho/para/o/ceritficado.cer"' em WPAConfigSection.

Solução de problemas

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. Veja também [1] e .pdf.

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 20dB-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 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.

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.kernel.org.

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.

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 do 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].

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.

Economia de energia

Veja Power saving#Network interfaces.

Falha ao obter endereço IP

  • If getting an IP address repeatedly fails using the default dhcpcd client, try installing and using dhclient instead. Do not forget to select dhclient as the primary DHCP client in the connection manager[broken link: invalid section].
  • If you can get an IP address for a wired interface and not for a wireless interface, try disabling the wireless card's power saving[broken link: invalid section] features (specify off instead of on).
  • If you get a timeout error due to a waiting for carrier problem, then you might have to set the channel mode to auto for the specific device:
# iwconfig wlan0 channel auto

Before changing the channel to auto, make sure your wireless interface is down. After it has successfully changed it, you can bring the interface up again and continue from there.

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

If you are on a public wireless network that may have a captive portal, make sure to query an HTTP page (not an HTTPS page) from your web browser, as some captive portals only redirect HTTP.

If this is not the issue, check if you can resolve domain names, it may be necessary to use the DNS server advertised via DHCP.

Definindo limites de RTS e de fragmentação

Wireless hardware disables RTS and fragmentation by default. These are two different methods of increasing throughput at the expense of bandwidth (i.e. reliability at the expense of speed). These are useful in environments with wireless noise or many adjacent access points, which may create interference leading to timeouts or failing connections.

Packet fragmentation improves throughput by splitting up packets with size exceeding the fragmentation threshold. The maximum value (2346) effectively disables fragmentation since no packet can exceed it. The minimum value (256) maximizes throughput, but may carry a significant bandwidth cost.

# iw phy0 set frag 512

RTS improves throughput by performing a handshake with the access point before transmitting packets with size exceeding the RTS threshold. The maximum threshold (2347) effectively disables RTS since no packet can exceed it. The minimum threshold (0) enables RTS for all packets, which is probably excessive for most situations.

# iw phy0 set rts 500
Note: phy0 is the name of the wireless device as listed by $ iw phy.

Desconexões aleatórias

Causa nº.1

If dmesg says wlan0: deauthenticating from MAC by local choice (reason=3) and you lose your Wi-Fi connection, it is likely that you have a bit too aggressive power-saving on your Wi-Fi card[3]. Try disabling the wireless card's power saving[broken link: invalid section] features (specify off instead of on).

If your card does not support enabling/disabling power save mode, check the BIOS for power management options. Disabling PCI-Express power management in the BIOS of a Lenovo W520 resolved this issue.

Causa nº.2

If you are experiencing frequent disconnections and dmesg shows messages such as

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

try changing the channel bandwidth to 20MHz through your router's settings page.

Causa nº.3

On some laptop models with hardware rfkill switches (e.g., Thinkpad X200 series), due to wear or bad design, the switch (or its connection to the mainboard) might become loose over time resulting in seemingly random hardblocks/disconnects when you accidentally touch the switch or move the laptop. There is no software solution to this, unless your switch is electrical and the BIOS offers the option to disable the switch. If your switch is mechanical (most are), there are lots of possible solutions, most of which aim to disable the switch: Soldering the contact point on the mainboard/wifi-card, glueing or blocking the switch, using a screw nut to tighten the switch or removing it altogether.

Causa nº.4

Another cause for frequent disconnects or a complete failure to connect may also be a sub-standard router, incomplete settings of the router, or interference by other wireless devices.

To troubleshoot, first best try to connect to the router with no authentication.

If that works, enable WPA/WPA2 again but choose fixed and/or limited router settings. For example:

  • If the router is considerably older than the wireless device you use for the client, test if it works with setting the router to one wireless mode
  • Disable mixed-mode authentication (e.g. only WPA2 with AES, or TKIP if the router is old)
  • Try a fixed/free channel rather than "auto" channel (maybe the router next door is old and interfering)
  • Disable WPS
  • Disable 40Mhz channel bandwidth (lower throughput but less likely collisions)
  • If the router has quality of service settings, check completeness of settings (e.g. Wi-Fi Multimedia (WMM) is part of optional QoS flow control. An erroneous router firmware may advertise its existence although the setting is not enabled)

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

If the computer's Wi-Fi channels do not match those of the user's country, that may result in some in-range Wi-Fi networks becoming invisible, because they use wireless channels that aren't allowed by default. The solution is to configure the regulatory domain correctly, see #Respecting the regulatory domain[broken link: invalid section].

Solução de problemas de drivers e firmware

This section covers methods and procedures for installing kernel modules and firmware for specific chipsets, that differ from generic method.

See Kernel modules for general information on operations with modules.

Ralink/Mediatek

rt2x00

Unified driver for Ralink chipsets (it replaces rt2500, rt61, rt73, etc). This driver has been in the Linux kernel since 2.6.24, you only need to load the right module for the chip: rt2400pci, rt2500pci, rt2500usb, rt61pci or rt73usb which will autoload the respective rt2x00 modules too.

A list of devices supported by the modules is available at the project's homepage[dead link 2016-08-02].

Additional notes
  • Since kernel 3.0, rt2x00 includes also these drivers: rt2800pci, rt2800usb.
  • Since kernel 3.0, the staging drivers rt2860sta and rt2870sta are replaced by the mainline drivers rt2800pci and rt2800usb[4].
  • Some devices have a wide range of options that can be configured with iwpriv. These are documented in the source tarballs available from Ralink.

rt3090

For devices which are using the rt3090 chipset it should be possible to use rt2800pci driver, however, is not working with this chipset very well (e.g. sometimes it is not possible to use higher rate than 2Mb/s).

rt3290

The rt3290 chipset is recognised by the kernel rt2800pci module. However, some users experience problems and reverting to a patched Ralink driver seems to be beneficial in these cases.

rt3573

New chipset as of 2012. It may require proprietary drivers from Ralink. Different manufacturers use it, see the Belkin N750 DB wireless usb adapter forums thread.

rt5572

New chipset as of 2012 with support for 5 Ghz bands. It may require proprietary drivers from Ralink and some effort to compile them. At the time of writing a how-to on compilation is available for a DLINK DWA-160 rev. B2 here.

mt7612u

New chipset as of 2014, released under their new commercial name Mediatek. It is an AC1200 or AC1300 chipset. Manufacturer provides drivers for Linux on their support page

Realtek

See [5] for a list of Realtek chipsets and specifications.

rtl8192cu

The driver is now in the kernel, but many users have reported being unable to make a connection although scanning for networks does work.

8192cu-dkmsAUR includes many patches, try this if it does not work fine with the driver in kernel.

rtl8723ae/rtl8723be

The rtl8723ae and rtl8723be modules are included in the mainline Linux kernel.

Some users may encounter errors with powersave on this card. This is shown with occasional disconnects that are not recognized by high level network managers (netctl, NetworkManager). This error can be confirmed by running dmesg -w or journalctl -f and looking for output related to powersave and the rtl8723ae/rtl8723be module. If you are having this issue, use the fwlps=0 kernel option, which should prevent the WiFi card from automatically sleeping and halting connection.

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

or

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

If you have poor signal, perhaps your device has only one physical antenna connected, and antenna autoselection is broken. You can force the choice of antenna with ant_sel=1 or ant_sel=2 kernel option. [6]

rtl88xxau

Realtek chipsets rtl8811au/rtl8812au/rtl8814au/rtl8821au designed for various USB adapters ranging from AC600 to AC1900.

Several packages provide the kernel drivers:

Chipset Driver version AUR package Notes
rtl8812au 5.2.9.3 rtl8812au-dkms-gitAUR Latest driver version for rtl8812au only
rtl8811au, rtl8812au and rtl8821au 5.1.5 rtl8821au-dkms-gitAUR Works, for rtl8812au latest version is recommended instead
rtl8814au 4.3.21 rtl8814au-dkms-gitAUR Possibly works for rtl8813au too

These require DKMS so make sure you have your proper kernel headers installed.

rtl8822bu

rtl8822bu-dkms-gitAUR provides a kernel module for the Realtek 8822bu chipset found in the Edimax EW7822ULC USB3 and Asus AC53 Nano USB 802.11ac adapter.

This requires DKMS, so make sure you have your proper kernel headers installed.

rtl8xxxu

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Specific issues with the mainline module and kernel versions should be stated. (Discuss in Talk:Wireless network configuration (Português)#)

Issues with the rtl8xxxu mainline kernel module may be solved by compiling a third-party module for the specific chipset. The source code can be found in GitHub repositories.

Some drivers may be already prepared in the AUR, e.g. rtl8723bu-gitAUR and rtl8723bu-git-dkmsAUR.

Atheros

The MadWifi team currently maintains three different drivers for devices with Atheros chipset:

  • madwifi is an old, obsolete driver. Not present in Arch kernel since 2.6.39.1[7].
  • ath5k is newer driver, which replaces the madwifi driver. Currently a better choice for some chipsets, but not all chipsets are supported (see below)
  • ath9k is the newest of these three drivers, it is intended for newer Atheros chipsets. All of the chips with 802.11n capabilities are supported.

There are some other drivers for some Atheros devices. See Linux Wireless documentation for details.

ath5k

External resources:

If you find web pages randomly loading very slow, or if the device is unable to lease an IP address, try to switch from hardware to software encryption by loading the ath5k module with nohwcrypt=1 option. See Kernel modules#Setting module options for details.

Some laptops may have problems with their wireless LED indicator flickering red and blue. To solve this problem, do:

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

For alternatives, see this bug report.

ath9k

External resources:

As of Linux 3.15.1, some users have been experiencing a decrease in bandwidth. In some cases this can fixed by editing /etc/modprobe.d/ath9k.conf and adding the line:

options ath9k nohwcrypt=1
Note: Check with the command lsmod what module(-name) is in use and change it if named otherwise (e.g. ath9k_htc).

In the unlikely event that you have stability issues that trouble you, you could try using the backports-patchedAUR package. An ath9k mailing list exists for support and development related discussions.

Economia de energia

Although Linux Wireless says that dynamic power saving is enabled for Atheros ath9k single-chips newer than AR9280, for some devices (e.g. AR9285) powertop might still report that power saving is disabled. In this case enable it manually.

On some devices (e.g. AR9285), enabling the power saving might result in the following error:

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

The solution is to set the ps_enable=1 option for the ath9k module:

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

Intel

ipw2100 e ipw2200

These modules are fully supported in the kernel, but they require additional firmware. Depending on which of the chipsets you have, install either ipw2100-fw or ipw2200-fw. Then reload the appropriate module.

Tip: You may use the following module options:
  • use the rtap_iface=1 option to enable the radiotap interface
  • use the led=1 option to enable a front LED indicating when the wireless is connected or not

iwlegacy

iwlegacy is the wireless driver for Intel's 3945 and 4965 wireless chips. The firmware is included in the linux-firmware package.

udev should load the driver automatically, otherwise load iwl3945 or iwl4965 manually. See Kernel modules for details.

If you have problems connecting to networks in general, random failures with your card on bootup or your link quality is very poor, try to disable 802.11n:

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

If the failures persist during bootup and you are using Nouveau driver, try enabling early KMS to prevent the conflict [8].

iwlwifi

iwlwifi is the wireless driver for Intel's current wireless chips, such as 5100AGN, 5300AGN, and 5350AGN. See the full list of supported devices. The firmware is included in the linux-firmware package. The linux-firmware-iwlwifi-gitAUR may contain some updates sooner.

If you have problems connecting to networks in general or your link quality is very poor, try to disable 802.11n, and perhaps also enable software encryption:

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

If you have a problem with slow uplink speed in 802.11n mode, for example 20Mbps, try to enable antenna aggregation:

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

Do not be confused with the option name, when the value is set to 8 it does not disable anything but re-enables transmission antenna aggregation.[9] [10]

In case this does not work for you, you may try disabling power saving for your wireless adapter.

Some have never gotten this to work. Others found salvation by disabling N in their router settings after trying everything. This is known to have be the only solution on more than one occasion. The second link there mentions a 5ghz option that might be worth exploring.

Coexistência com Bluetooth

If you have difficulty connecting a bluetooth headset and maintaining good downlink speed, try disabling bluetooth coexistence [11]:

/etc/modprobe.d/iwlwifi.conf
options iwlwifi bt_coex_active=0

Desabilitar piscada de LED

Note: This works with the iwlegacy and iwlwifi drivers.

The default settings on the module are to have the LED blink on activity. Some people find this extremely annoying. To have the LED on solid when Wi-Fi is active, you can use the systemd-tmpfiles:

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

Run systemd-tmpfiles --create phy0-led.conf for the change to take effect, or reboot.

To see all the possible trigger values for this LED:

# cat /sys/class/leds/phy0-led/trigger
Tip: If you do not have /sys/class/leds/phy0-led, you may try to use the led_mode="1" module option. It should be valid for both iwlwifi and iwlegacy drivers.

Broadcom

See Broadcom wireless.

Outros drivers/dispositivos

Tenda w322u

Treat this Tenda card as an rt2870sta device. See #rt2x00.

orinoco

This should be a part of the kernel package and be installed already.

Some Orinoco chipsets are Hermes II. You can use the wlags49_h2_cs driver instead of orinoco_cs and gain WPA support. To use the driver, blacklist orinoco_cs first.

prism54

The driver p54 is included in kernel, but you have to download the appropriate firmware for your card from this site and install it into the /usr/lib/firmware directory.

Note: There is also older, deprecated driver prism54, which might conflict with the newer driver (p54pci or p54usb). Make sure to blacklist prism54.

ACX100/111

Warning: The drivers for these devices are broken and do not work with newer kernel versions.

Packages: tiacx tiacx-firmware (deleted from official repositories and AUR)

See official wiki for details.

zd1211rw

zd1211rw is a driver for the ZyDAS ZD1211 802.11b/g USB WLAN chipset, and it is included in recent versions of the Linux kernel. See [12] for a list of supported devices. You only need to install the firmware for the device, provided by the zd1211-firmwareAUR package.

hostap_cs

Host AP is a Linux driver for wireless LAN cards based on Intersil's Prism2/2.5/3 chipset. The driver is included in Linux kernel.

Note: Make sure to blacklist the orinico_cs driver, it may cause problems.

ndiswrapper

Ndiswrapper is a wrapper script that allows you to use some Windows drivers in Linux. You will need the .inf and .sys files from your Windows driver.

Warning: Be sure to use drivers appropriate to your architecture (x86 vs. x86_64).
Tip: If you need to extract these files from an *.exe file, you can use cabextract.

Follow these steps to configure ndiswrapper.

1. Install ndiswrapper-dkms

2. Install the driver to /etc/ndiswrapper/*

# ndiswrapper -i filename.inf

3. List all installed drivers for ndiswrapper

$ ndiswrapper -l

4. Let ndiswrapper write its configuration in /etc/modprobe.d/ndiswrapper.conf:

# ndiswrapper -m
# depmod -a

Now the ndiswrapper install is almost finished; follow the instructions on Kernel modules#Automatic module handling to automatically load the module at boot.

The important part is making sure that ndiswrapper exists on this line, so just add it alongside the other modules. It would be best to test that ndiswrapper will load now, so:

# modprobe ndiswrapper
# iwconfig

and wlan0 should now exist. If you have problems, some help is available at: ndiswrapper howto and ndiswrapper FAQ.

backports-patched

backports-patchedAUR provide drivers released on newer kernels backported for usage on older kernels. The project started since 2007 and was originally known as compat-wireless, evolved to compat-drivers and was recently renamed simply to backports.

If you are using old kernel and have wireless issue, drivers in this package may help.

Veja também