0. Introdução e Antecedentes
Esta resposta é baseada em uma extensa pesquisa feita por vários usuários do Ubuntu que trabalharam juntos em quase todas as questões relacionadas à Broadcom. Agradecimentos especiais para chili555 que ajudaram nos fóruns do Ubuntu e neste site com muitas questões relacionadas a dispositivos sem fio e a outros que têm contribuiu através de E-Mail, chats, IRC e muito mais, testando vários drivers com várias das placas Broadcom Wireless mais populares (Enorme graças ao Chili555, na verdade. Esse cara conhece suas coisas).
No total, queríamos oferecer uma resposta que pudesse ser fácil de seguir e abrangesse a maioria dos cartões / drivers da Broadcom. Depois de seguir este guia, você precisará NEED para testar sua conexão sem fio por pelo menos 2 horas (na verdade, eu recomendo 8 horas) com outro dispositivo no modo Ad-Hoc, Infrastructure Mode ou Both. Problemas comuns que serão resolvidos (além dos drivers não instalados):
- Tempo limite das conexões após vários minutos ou horas
- Pára a pesquisa de outros dispositivos (não vê nenhum outro dispositivo)
- Continua pedindo senha mesmo em casos em que o AP não possui
- Interrompe qualquer tráfego de recepção / transmissão (é necessário reinicializar para corrigir temporariamente)
- Trava o sistema com erros dmesg no log (link 1 abaixo)
- O sistema congela completamente (Você só pode pressionar o botão Reiniciar / Ligar) (Link 1 abaixo)
- Cria relatórios de log enormes tentando configurar ou conectar corretamente
- Falha ao ser instalado por meio de Drivers adicionais / Hardware adicional (link 3 abaixo)
- Conecta e desconecta continuamente a cada X quantidade de segundos
- Aparece conectado no Network Manager, mas não recebe Internet
- Tenta se conectar muitas vezes sem terminar a conexão corretamente
- Demora demais para conectar
- Após a atualização de uma versão anterior (por exemplo: 12.04 para 12.10), ele pára de funcionar
- O cartão sem fio não liga, ativa ou desativa (link 2 abaixo)
- Cartão sem fio bloqueado por hardware
- Mais problemas encontrados no Launchpad, no Ubuntu Forum e no Askubuntu
Link 1 - Serviços
Link 2 - Serviços
Link 3 - Ocorre um erro semelhante a "Desculpe, a instalação deste driver falhou".
Então, com isso em mente, segue-se o que temos agora, simplificado em apenas três etapas:
1. Sabendo que Broadcom Wireless Card você tem
Existem dezenas de placas wireless da Broadcom e mais parecem aparecer todos os dias. A chave para encontrar o driver correto para qualquer placa de rede é o que é conhecido como PCI ID (PCI.ID). Para descobrir qual PCI.ID você possui, nós vamos abrir o terminal pressionando CTRL + ALT + T (Deve abrir uma janela com um fundo em branco) e dentro deste terminal nós executamos o seguinte comando:
lspci -nn -d 14e4:
Você obterá algo como o seguinte se tiver um adaptador sem fio da Broadcom (a ID 14e4 usada no exemplo acima, na maioria dos casos, é uma placa sem fio da Broadcom):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
O PCI.ID neste exemplo é 14e4: 4320 visto dentro dos colchetes [...]. Em alguns casos, você também precisará da versão de revisão (se aparecer) para alguns casos especiais. Neste caso, a versão de revisão é rev 03 como mostrado dentro dos Parênteses (...) no final. Então, o que você precisará depois desta pesquisa é:
[14e4:4320] (rev 03)
Com essas novas informações, você pode consultar a tabela abaixo e selecionar o método apropriado para instalar o driver. Por exemplo, neste caso, desde que você tenha o 14e4: 4320 rev 03 , se descermos para a lista que mostra exatamente o mesmo PCI.ID, você verá isso nas colunas para o Ubuntu 12.04, 13.10 ou 14.04 mostra o driver do pacote firmware-b43-installer
. Isso significa que você só terá que instalar este pacote em particular, uma vez que ele aparece em todas as colunas de versão do Ubuntu.
OBSERVAÇÃO - Antes de prosseguir, se você já instalou algum driver, tenha colocado na lista negra ou descomentado arquivos de driver ou arquivos de configuração ou tenha feito alguma alteração no sistema para que os drivers funcionem nas tentativas anteriores , você precisará desfazê-los para seguir este guia. Presumimos que você esteja fazendo isso do zero e não tenha alterado nenhum arquivo de configuração, módulo ou driver no sistema de forma alguma (além de atualizar o sistema). Isto inclui quaisquer instalações usando apt-get, aptitude, synaptic, dpkg, centro de software ou compilação manual e instalação dos pacotes. O sistema tem que começar do zero para que isso funcione e evitar conflitos que possam aparecer se o trabalho anterior foi feito.
Por exemplo, se você instalou anteriormente o pacote bcmwl-kernel-source
, precisará removê-lo usando o método de eliminação:
sudo apt-get purge bcmwl-kernel-source
2. Preparando o sistema
Se você acabou de instalar o Ubuntu, você precisará criar um índice de pacotes disponíveis antes de poder instalar o seu driver, se você ainda não o fez:
sudo apt update
Eu iria até mais longe para atualizar a lista de PCI.IDs do Ubuntu:
sudo update-pciids
Apenas no caso de o ID de um novo dispositivo Broadcom em particular que você está usando acabou de aparecer.
Agora, usando o PCI.ID que você encontrou nas etapas acima, procuramos na lista abaixo para encontrar o PCI.ID correspondente e o método para instalar o driver associado a ele de maneira simples e correta. O terminal será usado para evitar problemas relacionados à GUI. Isso se aplica a todos os casos, exceto conforme indicado. O procedimento de instalação é feito apenas via terminal e também enquanto conectado à internet com uma conexão Ethernet com fio temporária ou modem USB ou qualquer meio possível que possa dar ao seu PC, por enquanto, acesso à Internet. Depois de encontrar na lista abaixo o pacote correto, continuamos com a instalação.
3. Instalando o pacote (online)
Supondo que você usou o PCI.ID 14e4: 4320 rev 03 como encontrado em sua pesquisa acima e, em seguida, examinou a tabela abaixo e descobriu que o pacote correto para instalar é o firmware-b43-installer
, Em seguida, prosseguimos para simplesmente instalar este pacote no terminal:
sudo apt install firmware-b43-installer
e, em seguida, reinicie
sudo reboot
O formato para instalar é bem simples, é apenas:
sudo apt install <PACKAGE_NAME>
No exemplo acima, o PACKAGE_NAME é firmware-b43-installer
.
BROADCOM WIRELESS TABLE (Atualizado em 18 de agosto de 2017)
PCI.ID 16.04 LTS 17.10+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:4301 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4312 firmware-b43-installer firmware-b43-installer
14e4:4313 firmware-b43-installer firmware-b43-installer
14e4:4315 firmware-b43-installer firmware-b43-installer
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4321 firmware-b43-installer firmware-b43-installer
14e4:4324 firmware-b43-installer firmware-b43-installer
14e4:4325 firmware-b43-installer firmware-b43-installer
14e4:4328 firmware-b43-installer firmware-b43-installer
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer
14e4:4335 firmware-b43-installer firmware-b43-installer
14e4:4350 firmware-b43-installer firmware-b43-installer
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 bcmwl-kernel-source bcmwl-kernel-source
14e4:4360 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer
------------------------------------------------------------------------------------
Caso especial # 1 - Usa a combinação de drivers bcma
e brcmsmac
. O firmware necessário é instalado por padrão no pacote linux-firmware
.
Caso especial # 2 - Para o PCE-AC88 AC3100 , os passos são:
-
Faça o download deste arquivo e depois de extraí-lo, insira-o em / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Em seguida,
sudo nano /etc/rc.local
adicione modprobe brcmfmac e salve -
sudo reboot
Em hardware como o Lenovo S10-2, se a sua placa wireless ficar presa tentando se conectar a um SSID (continua tentando se conectar), a alternativa para fazê-la funcionar seria instalar o pacote bcmwl-kernel-source
(Remova qualquer outros pacotes instalados relacionados a ele). Leia a seção Debugging abaixo para mais informações sobre este dispositivo sem fio.
OBSERVAÇÃO IMPORTANTE - Depois de setembro de 2014, se você seguir essa resposta e ainda tiver problemas para instalar o driver correto, tente o pacote firmware-b43-installer
e nos avise por meio de comentários. Houve algumas alterações e alguns drivers só funcionam com este pacote. Lembre-se de ter um sistema limpo antes de instalá-lo:
sudo apt install firmware-b43-installer
Em alguns casos particulares, depois de instalar o firmware-b43-installer
você precisa remover o módulo b43, habilitá-lo novamente e até mesmo proceder para desbloquear com o rfkill:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Se você tiver um cartão da Broadcom que tenha um pci.id diferente, faça uma nova pergunta. Uma vez resolvida, a solução será adicionada a este tutorial.
4. Instalando o pacote (offline)
4.1 Instalando firmware-b43-installer
Para instalar o firmware-b43-installer
off-line, consulte esta resposta .
4.2 Instalando bcmwl-kernel-source
Para casos em que você precisa instalar o bcmwl-kernel-source
, mas está offline, aqui é uma excelente resposta sobre isso.
Mas basicamente siga estes passos:
- Pesquise o pacote nos Repositórios de Pacotes do Ubuntu
- Certifique-se de selecionar a arquitetura correta (32 bits, 64 bits, etc.)
- Baixe pacotes e pacotes de dependência relacionados a ele na mesma pasta.
- Quando você tiver todos os pacotes necessários (e suas dependências), vá para a pasta que possui todos os pacotes e execute
sudo dpkg -i *.deb
. Isto irá instalar todos os pacotes nessa pasta. Se ocorrer algum erro, leia o erro e siga as etapas mencionadas.
Para dar um exemplo, depois de ir ao ponto 1 mencionado acima, se você tivesse
Broadcom 14e4:43a0
, você procuraria pelo pacote bcmwl-kernel-source
e depois de selecionar a versão correspondente do Ubuntu (no meu caso 16.04 ou Xenial) eu acessaria a seguinte página:
Nesta página, selecionaria a arquitetura correspondente (32 ou 64), mas também precisaria baixar as 3 dependências de pacote mencionadas nessa página, como mostra a seguinte imagem:
Após fazer o download de todos os pacotes e dependências, você pode continuar copiando todos os pacotes para uma única pasta e executando o comando dpkg
como mencionado na etapa 4 acima.
NOTA
Em alguns computadores, antes de executar os comandos, você precisará desativar as opções de inicialização segura no seu BIOS. Isso se aplica para casos, por exemplo, onde o bcmwl-kernel-source já está instalado, mas o driver ainda não funciona. Você pode fazer uma reinstalação como essa ou desabilitar o Secure Boot indo para a configuração do seu BIOS:
sudo apt-get install --reinstall bcmwl-kernel-source
DEBUGAGEM
As informações a seguir são material adicional para ler sobre como resolver vários problemas relacionados ao Gerenciamento sem fio e conflitos com outros dispositivos de rede. Sei que em alguns casos você precisa ter uma versão atualizada do Kernel, já que cada nova versão do Kernel introduz novos drivers de rede, melhorias sobre os drivers existentes ou soluciona bugs em relação a eles.
Antes de ler os pontos mencionados abaixo, certifique-se de ter todos os repositórios habilitados no seu sistema Ubuntu. Para verificar, execute no terminal software-properties-gtk
e certifique-se de que todas as opções na guia Software do Ubuntu estejam ativadas.
-
Para configurar seus dispositivos sem fio através do terminal, eu recomendo Como conectar e desconectar uma rede manualmente no terminal?
-
Se a sua conexão cair de vez em quando, alguns usuários sugeriram configurar o IPv6 para Ignorar . Basta ir ao Network Manager (o ícone de rede no painel superior). Clique nele e selecione Editar configurações . Em seguida, vá para a conexão sem fio que você está usando, selecione-o. Agora vá para a última aba que menciona Configurações IPv6 . No campo Método, selecione Ignorar .
-
Se o seu laptop não detectar sua placa wireless, alguns usuários mencionaram que usar
rfkill unblock all
resolverá o problema. Outros simplesmente desligaram e desligaram novamente o interruptor WiFi nos seus laptops (chave física disponível neste laptop). Para obter mais informações sobrerfkill
, leia rf kill unblock all DOES NÃO TRABALHA! -
Se estiver obtendo b43-phy0 ERRO: Erro fatal de DMA / aviso de b43-phy0: PIO forçado faça o seguinte:
sudo rmmod b43 sudo modprobe b43 pio=0 qos=0
Se funcionar, adicione-o aos seus arquivos RC para que ele seja executado toda vez que você inicializar. Você pode alterar o PIO para 1 se precisar.
-
Se você está tendo uma chave necessária não disponível ao instalar um módulo DKMS (como Nvidia, Broadcom ou outros), você pode ir para Resposta do piloto aqui
-
Se a sua placa wireless ver / não ver o roteador e ficar presa em um loop infinito "Tentando conectar (Try 1/3)", a solução pode ser a configuração adequada do roteador ou do dispositivo SSID sem fio.
Para todas as placas sem fio em geral, é muito importante levar em consideração também os dispositivos de rede que você está usando (Roteadores, Comutadores, Canais sem fio e Bandas sem fio, etc.). Com essas informações, você poderá avaliar melhor a origem do problema quando chegar a um beco sem saída. Um exemplo seria o Lenovo S10-2, que usa o 14e4: 4315 rev 01 PCIID. Mesmo depois de instalar o driver correto, o usuário acabaria em um loop "tentando conectar". Ele veria o SSID sem fio, mas ao tentar se conectar a ele, ele entraria em um loop de reconexão.
A solução é que esse dispositivo sem fio específico não suporta canais de 40 Mhz nem suporta 802.11N. O roteador naquele caso estava realmente transmitindo com uma força forçada de 40 Mhz e apenas em WiFi-N. Quando o roteador estava configurado para o modo Auto e 20/40 Mhz Channel, a placa wireless funcionava corretamente. Este é um cenário de caso que também se repete em outros casos, portanto, uma avaliação adequada do equipamento de rede ajudaria muito.
Para casos em que você se repete:
ERRO @ wl_cfg80211_get_station: endereço incorreto do Mac ...
ao fazer um
dmesg
e sua conexão sem fio cair com frequência (várias vezes por hora ou um dia), o problema pode estar dentro de um sinal sem fio que é usado como uma ponte sem fio (2 roteadores compartilhando o mesmo SSID e conexão). Isso pode acontecer com os roteadores modernos que têm a capacidade de estender a conexão sem fio oferecendo o mesmo SSID. sua conexão sem fio pode cair porque você pode estar entre os dois roteadores e a intensidade do sinal entre ambos é quase a mesma.Se a sua conexão cair com muita frequência, significa que você está quase no meio de ambos os dispositivos roteadores.Para diminuir ou eliminar a taxa de queda do seu dispositivo sem fio, tente se posicionar onde sua placa sem fio possa ver apenas um roteador ou pelo menos um dos roteadores tenha um sinal mais strong do que o outro.
Existem também algumas técnicas para forçar o dispositivo sem fio a se conectar apenas a um roteador específico, definindo o BSSID para o endereço MAC do roteador ao qual você deseja se conectar. Isso forçará o seu dispositivo sem fio a se conectar apenas a ele.
Problemas de inicialização segura
Em alguns cenários específicos, a instalação dos drivers, seja no modo offline através de vários pacotes DEB ou através do apt-get com acesso à Internet, não funcionará se o Secure Boot não estiver desativado.
Isso ocorre porque o acesso necessário é negado pela Inicialização Segura para que os drivers pareçam estar corretamente instalados quando na verdade não foram instalados. Portanto, para casos muito específicos, você precisará desativar temporariamente a inicialização segura para que os drivers funcionem.
Atualização de Firmware do Linux
Em outros casos, procurar e instalar o mais recente firmware do Linux resolveria o problema. Quer resolvendo pequenos problemas que estavam acontecendo com um cartão de trabalho ou fazendo o cartão funcionar pela primeira vez.