Você deve trocar o driver do proprietário ( wl ) para o de código aberto, b43 . O sempre útil Wiki do Arch Linux diz, de wl :
Warning: Even though this driver has matured a lot throughout the years and works quite well now, its usage is recommended only when neither of the two open-source drivers support your device.
Seu dispositivo, BCM43228, é de fato suportado por b43 , como você pode verificar aqui .
(Como um aparte, o nome do NIC não é útil nestes assuntos: fabricantes costumam vender, sob os mesmos nomes, NICs baseados em chips diferentes, às vezes até feitos por produtores diferentes! Por exemplo, verifique na tabela mencionada acima, BCM4322: contém um dos quatro chips diferentes, alguns suportados, alguns não suportados por wl ou b43 .O que você precisa para identificar exclusivamente a NIC é o Fornecedor: Código do produto , que você pode obter por meio de
$ lspci -vnn | grep -i net
00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network [8086:1502] (rev 04)
04:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24)
Neste caso, o código Fornecedor: Produto é [8086: 088E]. Você tem sorte porque o BCM43228 foi produzido com um chip single , 14e4: 4359, assim podemos determinar que ele é de fato suportado por b43 .
Remova o módulo wl ,
sudo modprobe -r brcmsmac bcma
sudo modprobe -r wl
e carregue o driver apropriado,
sudo modprobe b43
É possível que b43 seja balcklisted por wl , você pode verificar por
cd /etc/modprobe.d
grep -nrI b43
Se não houver saída, não há problema. Caso contrário, abra o arquivo que menciona b43 e substitua b43 por wl . Neste caso, você precisará atualizar o arquivo initramfs ,
sudo update-initramfs -u
Para se livrar de wl de forma permanente,
sudo apt-get purge bcmwl-kernel-source
Bem-vindo ao mundo do software livre de código aberto (FOSS), onde os produtos geralmente são muito superiores aos proprietários.