Você precisa instalar o firmware.
A distribuição do firmware da Broadcom não é permitida pela licença da Broadcom. Então você precisa pegar você mesmo. É um pouco complexo, mas não há outra maneira legal .
- Faça o download do driver do Broadcom Windows 8 ou AQUI .
Se o dispositivo não estiver listado nesses drivers, você precisará encontrar uma versão mais recente dele em algum lugar. A Broadcom removeu os drivers mais recentes de seu site para torná-lo mais difícil.
Alguns fornecedores de laptops têm drivers Bluetooth em seus sites, mas alguns deles não são impossíveis de abrir. Então é alguma quest. Eu poderia baixar os drivers mais recentes da Broadcom de seu site, mas não está mais lá.
- Abra este arquivo pelo Gerenciador de arquivos e encontre o arquivo
bcbtums-win8x86-brcm.inf
. O nome do arquivo pode ser diferente em alguns drivers. Pode serbcbtums.inf
localizado no diretório Win32 ou Win64. Não importa 32 ou 64 bits para download. -
Pesquise este arquivo para VID_ 0A5C e PID_ 21D7 . Esses números são do seu
lsusb
output0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.
Comentário: Alguns dispositivos não são reconhecidos como Broadcom BT em lsusb
. Se você não tiver certeza de qual é o seu dispositivo BT, execute o comando usb-devices
, ele fornecerá informações mais detalhadas. Lá você pode encontrar IDs de produtos e fornecedores.
Você verá uma linha finalizando com RAMUSB21D7
Pesquise este arquivo para RAMUSB21D7. Você encontrará uma seção lá assim:
[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex
É isso que estamos procurando. Nome do arquivo de firmware. BCM43142A0_001.001.011.0122.0126.hex
-
Agora extraia esse firmware do mesmo arquivo cab.
Então você precisa converter este arquivo de hex para o formato hcd.
-
Baixe a ferramenta para isso
git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make
Você obterá a pasta hex2hcd em seu diretório pessoal.
-
Coloque o arquivo do firmware em sua pasta pessoal e execute
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
Você vê que 0a5c-21d7 é o id do seu adaptador de lsusb .
Importante: Para os kernels 4.2+, você chama esse arquivo como BCM.hcd
.
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
Para os kernels, o nome do arquivo deve ser + BCM-<VID>-<PID>.hcd
, como BCM-0a5c-21d7
.
-
Agora copie apenas
BCM43142A0-0a5c-21d7.hcd
, ou outro arquivo de acordo com a versão do kernel para o diretório/lib/firmware/brcm
porsudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
Para os kernels 4.2 +
sudo cp ~/BCM.hcd /lib/firmware/brcm
Para kernels 4.8 +
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
Você sempre pode verificar se o nome do arquivo estiver correto executando dmesg | grep -i blue
. Haverá uma mensagem de erro se o arquivo não for encontrado.
-
Desligue e ligue o computador novamente. Não apenas reinicialize!
Seu adaptador receberá firmware e o bluetooth deverá funcionar.
Tudo isso parece complicado, mas são os advogados da Broadcom os culpados por isso. A maioria dos outros fornecedores permite redistribuir o firmware sob a condição de que seja feito acompanhado da licença.
Isso permite que os mantenedores do Linux incluam firmware nas distribuições.
Mas não no caso da Broadcom. É por isso que isso não é feito de maneira fácil.
Muitas pessoas podem converter todos os arquivos hex para hcd e disponibilizá-los. Ou apenas adicione-os ao pacote linux-firmware do Ubuntu.
Mas não é legal : - ((