Configurare una scheda ibrida Wi-fi/Bluetooth Broadcom con Ubuntu

storie della nostra vita

Configurare una scheda ibrida Wi-fi/Bluetooth Broadcom con Ubuntu

Finalmente mi è capitato un caso strano: una collega mi ha portato un portatile economico HP che ha le seguenti caratteristiche:

  • Processore Intel Celeron
  • SSD da 32 GB
  • Scheda ibrida Wi-fi/Bluetooth Broadcom
  • Niente lettore CD/ DVD
  • Niente scheda di rete Ethernet

Voleva installare Ubuntu 16.04. Per il lettore CD /DVD ho risolto con un lettore DVD esterno, risparmiando una chiavetta e non duplicando un supporto che già avevo a disposizione. Una volta portata a termine l’installazione mi sono reso conto che il PC era fuori rete.

Passo 1: Capire cosa non va

Direi che è fondamentale: noi Geek non ci arrendiamo mai

Passo 1a: Che tipo di device ho davanti?

Il modo migliore per scoprire il device montato sulla vostra macchina è utilizzare il comando lsusb vediamo l’output completo:

Bus 002 Device 003: ID 0781:5581 SanDisk Corp. Ultra
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0a5c:216c Broadcom Corp. BCM43142A0 Bluetooth Device
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 04f2:b45e Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Come potete vedere sembra non esserci traccia della scheda Wi-fi, che su Windows funzionava, quindi ho iniziato a cercare in rete, facendo quindi la scoperta sconvolgente: esistono schede ibride Wi-fi/Bluetooth e ovviamente una è montata sulla macchina

PASSO 1b Cosa manca?

In rete scopro che è supportata quindi vedo di capire cosa manca. Usiamo il comando dmesg che non fa altro che mostrare tutti i messaggi di kernel e non da quando la macchina è stata accesa ad ora. L’ouput è chilometrico vediamo solo la porzione che ci serve:

[   12.373406] Bluetooth: hci0: BCM: chip id 70
[   12.389429] Bluetooth: hci0: BCM43142A
[   12.389435] Bluetooth: hci0: BCM (001.001.011) build 0000
[   12.409715] bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
[   12.409722] Bluetooth: hci0: BCM: Patch brcm/BCM.hcd not found

Qui scopriamo che manca il firmware proprietario della scheda bluetooth che, come scopriamo dal sito corrispondente, blocca il funzionamento del wi-fi.

Passo 2 Il firmware

Non avendo nessuna traccia di connessione dobbiamo affidarci a un secondo PC che ci aiuti a scaricare o collegare il nostro Smart  Phone in modalità Tethering USB.
Andiamo al sito https://github.com/winterheart/broadcom-bt-firmware e cloniamo il repository su file zip come da figura

Scheda ibrida Wi-fi/Bluetooth

Scompattiamo l’archivio su una chiavetta e copiamo la cartella brcm in /lib/firmware.
Nei casi normali dovrebbe essere finita qui ma, differentemente dai tutorial che ho letto in rete, a noi viene richiesto un generico file BCM.hcd. Il nostro device ID è 0a5c:216c quindi scorrendo la pagina dei device supportati vediamo che il nostro firmware abita nel file BCM43142A0-0a5c-216c.hcd quindi facciamo un ottimo link simbolico:

sudo ln -s /lib/firmware/brcm/BCM43142A0-0a5c-216c.hcd /lib/firmware/brcm/BCM.hcd

Possiamo ora far ripartire il modulo btusb:

sudo modprobe -r btusb
sudo modprobe btusb

Il firmware adesso è a posto infatti rilanciando dmesg vediamo nelle ultime righe:

[   12.926160] Bluetooth: hci0: BCM: chip id 70
[   12.942182] Bluetooth: hci0: BCM43142A
[   12.942187] Bluetooth: hci0: BCM (001.001.011) build 0000
[   13.885568] Bluetooth: hci0: BCM (001.001.011) build 0328
[   13.901584] Bluetooth: hci0: BCM43142A0 Generic USB Class 2 NonUHE @ 20 MHz

Passo 3 Drivers della scheda Wi-Fi

Questa parte è più facile e non richiede un altro PC.
Inseriamo il supporto di installazione (DVD o USB che sia) navigando nelle cartelle del dispositivo troviamo /pool/main/d/dkms e pool/restricted/b/bcmwl. In entrambe le cartelle (prima dkms) lanciamo:

sudo dpkg -i *.deb

Abbiamo appena installato il modulo wl, driver della nostra scheda. Quindi carichiamolo:

sudo modprobe wl

E luce fu, anzi e Wi-Fi fu.

[wp_ad_camp_1]

5 commenti

comments user
Tiziano

Dopo ore di ricerca questa guida mi ha salvato, sei un* eroe

comments user
Marco

Grazie!!!! Non puoi capire, tutte le guide in giro avevano dei pezzi mancanti.

Ti segnalo solo che hai invertito la c con la r due volte qui:
sudo ln -s /lib/firmware/bcrm/BCM43142A0-0a5c-216c.hcd /lib/firmware/bcrm/BCM.hcd

Grazie davvero, non sai quante ore ho perso!!

comments user
fabrizio

corretto grazie della segnalazione e dei complimenti

comments user
Leonardo

Ma cosa intendi con “il supporto di installazione (DVD o USB che sia)”? Supporto di installazione di cosa? Del wifi? Dell’OS?

    comments user
    fabrizio

    Ciao Leonardo, intendo il supporto di installazione di Ubuntu

I commenti sono chiusi

You May Have Missed