Ao inicializar uma nova instalação do Debian 12 Bookworm, recebo uma mensagem dizendo que preciso ir para https://wireless.wiki.kernel.org/en/users/Drivers/b43#devicefirmware e download the correct firmware for this driver version
e para carefully read all instructions
. Muito bem, aqui está a introdução dessa página:
b43 e b43legacy são drivers sem fio para chipsets Broadcom SoftMAC. O Kernel escolherá automaticamente um módulo adequado para você:
- b43 para qualquer hardware novo (suportado)
- b43legacy para BCM4301 e versões anteriores do BCM4306
Resumo
Você precisa ter arquivos de firmware (geralmente em /lib/firmware/) para que b43(legado) possa carregá-los no cartão e funcionar corretamente. Para suporte a dispositivos FullMAC, consulte brcmfmac e rndis_wlan
É bom saber, eu acho. As outras seções dessa página são: Problemas conhecidos e limitações , Problemas resolvidos , Lista de hardware , Contato . Que instruções devo seguir aqui? Eu não vejo nenhum.
No topo da página há um link para o "conteúdo antigo" da página , então dou uma olhada na seção Instalação de firmware do dispositivo nesse conteúdo antigo:
Ubuntu/Debian
Nas versões recentes do Ubuntu e Debian, a instalação do pacote firmware-b43-installer cuidará de tudo para você:
1 sudo apt-get install firmware-b43-installer
Você será solicitado a buscar e instalar automaticamente o firmware no local correto. Novamente, você precisará de uma conexão com a Internet .
Minha reação aqui foi mais ou menos “haha, muito engraçado”. Então fui procurar algumas instruções mais promissoras. Encontrei https://wiki.debian.org/wl#Installation que lista meu chip no título (BCM43228). Finalmente, isso parece promissor!
Instalação
Adicione um componente "não-livre" ao /etc/apt/sources.list para sua versão Debian, por exemplo:
Debian 9 "Esticar"
deb http://deb.debian.org/debian stretch-backports main contrib non-free
Debian 10 "Buster"
deb http://deb.debian.org/debian buster-backports main contrib non-free
Debian 11 "Alvo"
deb http://deb.debian.org/debian bullseye contrib non-free
...realmente? A solução novamente parece ser ter acesso à Internet. Além disso, o Debian 12 não é mencionado. Independentemente disso, as instruções continuam com a seção crítica:
Atualize a lista de pacotes disponíveis. Instale os pacotes linux-image, linux-headers e broadcom-sta-dkms relevantes/mais recentes:
# apt-get update # apt-get install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
Isso também instalará o pacote de ferramentas sem fio recomendado. O DKMS construirá o módulo wl para o seu sistema.
Eu li em mais de um lugar que o Debian 12 inclui firmware na mídia de instalação (usei a imagem do DVD i386) - inclusive em seu próprio feed de notícias, sobre a votação sobre isso - mas certamente não acabei trabalhando com WiFi após a instalação, nem fui solicitado a instalar nada durante o processo de instalação do sistema operacional (ou perdi?), então não sei exatamente o que fazer com isso.
Agora, supondo que eu tenha entendido algo errado, o que eu deveria ter feito de diferente nesse processo?
A única coisa que vem à mente como solução neste momento é fazer manualmente a resolução de dependências de broadcom-sta-dkms
e dos outros pacotes, baixar todos esses pacotes do debian.org, colocá-los em um pendrive e instalá-los manualmente. Certamente não é assim que foi projetado para ser feito?
Infelizmente, a situação de licenciamento em torno do firmware e dos drivers da Broadcom significa que é bastante difícil obter todas as peças necessárias, mesmo com as recentes mudanças na distribuição de firmware no Debian. A existência de três (ou mesmo quatro, dependendo de como você conta) drivers diferentes não ajuda, nem o relicenciamento do wiki do kernel (é por isso que a mensagem mostrada pelo kernel não aponta para uma página que seja diretamente útil ).
A primeira mensagem que você viu vem do
b43
motorista. Este é um driver fornecido com o kernel do Linux. Como muitos drivers wifi, ele precisa de arquivos de firmware para carregar no próprio dispositivo; infelizmente, ao contrário da maioria dos drivers wifi no Linux, esse firmware não é redistribuível. Isso significa que, para que o driver funcione, você precisa extrair o firmware de um arquivo baixado da Broadcom. Eu acho que esta é a abordagem mais fácil no seu caso, porque você pode usar essas ferramentas em qualquer sistema rodando Debian com acesso à Internet, não apenas no seu laptop:Habilite a
contrib
seção do repositório – edite/etc/apt/sources.list
para que leia (pelo menos)Instale a ferramenta de instalação de firmware, confirmando durante a instalação que deseja executá-la mesmo que o sistema não possua um chip Broadcom
Copie todos os arquivos para
/lib/firmware/b43
o mesmo diretório do seu laptop (criando-o se necessário).Opcionalmente, remova o instalador (supondo que não esteja no seu laptop):
Isso deve permitir o
b43
carregamento do driver e fornecer acesso à Internet em seu laptop.O segundo driver disponível é o driver STA, descrito na
wl
página. Este é um driver proprietário e não vem no kernel, e é por isso que não está disponível mesmo quando você instala usando uma imagem de disco “habilitada para firmware”. Ele pode ser instalado sem acesso à Internet no sistema de destino, mas é doloroso fazer isso, como você descobriu. Depois de ter acesso à Internet em seu laptop, você pode tentar.O terceiro driver é o
brcm80211
driver para dispositivos Broadcom PCIe, mas provavelmente não corresponde ao seu laptop.Você não fez nada de errado durante a instalação. Se você puder colocar seu laptop on-line de qualquer outra forma (Ethernet, tethering de um telefone, etc.), mesmo que temporariamente, achará muito mais simples configurar tudo corretamente.