Network configuration (Português)/Wireless (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).
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.
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
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
.
- 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:
- Veja a tabela de drivers sem fio Linux existentes e siga para a página específica do driver, que contém uma lista de dispositivos suportados. Há também uma lista de IDs de dispositivos Wi-Fi no Linux.
- O Wiki do Ubuntu tem uma boa lista de placas sem fio e se elas são suportadas no kernel do Linux ou por um driver de espaço do usuário (inclui nome do driver)).
- Linux Wireless LAN Support e a Hardware Compatibility List (HCL) do The Linux Questions também têm um bom banco de dados de hardware compatível com kernel.
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_tools1 | 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 |
- 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
- 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
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
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
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
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.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 houverPrivacy
, 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
eWPA
, 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
nemWPA
, mas háPrivacy
, então WEP é usado.
- Se você vir um bloco de informação
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
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
- usando uma chave hexadecimal ou ASCII (o formato é diferenciado automaticamente porque uma chave WEP tem um tamanho fixo):
Independentemente do método usado, você pode verificar se você conseguiu se associar com sucesso:
# iw dev interface link
Autenticação
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.
Para uma comparação de protocolos, veja a seguinte tabela.
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.
- 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.
Configuração manual/automática
-
Suplicante de WPA pode ser configurado diretamente por meio de seu arquivo de configuração ou usando seus frontends CLI/GUI e usado em combinação com um cliente DHCP. Veja os exemplos em
/usr/share/doc/wpa_supplicant/wpa_supplicant.conf
para configurar os detalhes de conexão. - NetworkManager pode criar perfis de WPA2 Empresarial com nmcli ou os frontends gráficos. nmtui não oferece suporte a isso (relatório de problema nº 376 do NetworkManager), mas pode usar perfis existentes.
- ConnMan precisa de um arquivo de configuração separado antes de se conectar à rede. Veja connman-service.config(5) e ConnMan#Connecting to eduroam (802.1X) para detalhes.
-
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"'
emWPAConfigSection
.
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
- 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[link inativo 2024-10-12 ⓘ].
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
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 deon
).
- 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
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
ert2870sta
foram substituídos pelos drivers mainlinert2800pci
ert2800usb
[3]. - 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[link inativo 2024-10-19 ⓘ].
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 drivermadwifi
. 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[link inativo 2024-10-12 ⓘ] 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
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
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
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.
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. [7] [8]
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 [9][link inativo 2024-10-12 ⓘ]:
/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
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
/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
.
prism54
, que pode entrar em conflito com o driver mais recente (p54pci
ou p54usb
). Certifique-se de adicionar à lista negra prism54
.ACX100/111
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 [10] 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.
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.
*.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.