Indice
- Introduzione
- Installazione tramite gestore driver
- Identificazione della scheda
- Schede supportate
- Installazione driver proprietari STA con connessione Internet
- Installazione driver proprietari STA senza connessione Internet
- Installare i driver open source b43/b43legacy con connessione Internet
- Installare i driver open source b43/b43legacy senza connessione Internet
- Schede non supportate (utilizzare driver Windows)
- MacBook
- Problemi noti
- Ulteriori informazioni
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
La seguente guida ha lo scopo di rendere funzionante la scheda wireless PCI Broadcom BCM 43xx, sia attraverso il gestore driver e, in caso di problemi, attraverso metodi alternativi.
Installazione tramite gestore driver
I driver proprietari possono essere attivati dal gestore driver. È necessario avere già a disposizione una connessione Internet già funzionante.
Se l'attivazione dei driver attraverso gestore automatico dovesse risultare problematica, nei seguenti paragrafi viene mostrato come installare manualmente i driver proprietari (STA) e i driver Open-source (b43, ecc).
Identificazione della scheda
Le schede prodotte da Broadcom sono supportate da driver che variano a secondo del modello, è quindi necessario identificare correttamente la scheda presente nel proprio computer digitando in un terminale il seguente comando:
lspci -vvnn | grep 14e4
Avendo applicato il filtro 14e4 al comando lspci la ricerca verrà limitata alle sole schede PCI Broadcom. Un tipico output del terminale potrebbe essere ad esempio questo:
03:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
I dati che interessano sono:
Card/Model - BCM4322
PCI-ID - [14e4:432b]
Per verificare quali driver sono in uso e verificare il buon esito delle varie procedure d'installazione si può fare ricorso a questo comando:
lspci -vvnn | grep -A 9 Network
Che restituisce informazioni dettagliate della scheda di rete wifi e mostra i driver utilizzati dal sistema per gestirla.
Schede supportate
I driver sono in costante sviluppo e un dato id di chip può essere supportato da più driver:
wl (proprietari) per chip con id: BCM4311, BCM4312, BCM4313, BCM43142, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 e BCM43228.
Installare il driver come spiegato al paragrafo Installazione driver STA.
b43 (open-source) per chip con id: BCM4306 (rev 03), BCM4309, BCM4311, BCM4312, BCM4318, BCM4322, BCM4331, BCM43224 e BCM43225.
b43legacy (open-source) per chip con id :BCM4301, BCM4306 (rev 02), e BCM4309.
Installare il driver come spiegato al paragrafo Installazione driver b43.
brcm80211 (open-source) introdotto nel kernel Linux 2.6.37 questo driver, composto da "brcmsmac" (gestione software della scheda) e "brcmfmac" (gestione hardware della scheda).
brcmsmac (open-source) per chip con id : BCM4313, BCM43224 e BCM43225.
brcmfmac (open-source) per chip con id : BCM4329, BCM4330, BCM4334, BCM43235, BCM43236 e BCM43238.
rndis_wlan (open-source) per chip con id : BCM4320, driver introdotto in Linux 2.6.25.
Per conoscere quale scheda e versione della stessa è supportata dai relativi driver, consultare questa pagina.
Le scheda non supportate dai driver dovranno necessariamente far affidamento su Ndiswrapper per usare i driver closed source di Windows.
Installazione driver proprietari STA con connessione Internet
Ubuntu 18.04, Ubuntu 16.04 e Ubuntu 14.04
Aprire un terminale ed installare il pacchetto bcmwl-kernel-source:
sudo apt-get update sudo apt-get --reinstall install bcmwl-kernel-source
Se viene visualizzato il messaggio: La compilazione del modulo per il kernel attualmente in esecuzione è stato ignorata poiché il sorgente del kernel per il kernel non sembra essere installato questo significa che manca l'appropriato pacchetto del linux-header.
Per testare il driver ed evitare un riavvio del computer, digitare il comando:
sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma sudo modprobe wl
Aspettare alcuni secondi affinché Networkmanager scansioni le reti wifi disponibili prima di tentare una connessione. Il pacchetto bcmwl-kernel-source dovrebbe mettere in blacklist automaticamente i driver open source in modo che il driver STA sia l'unico in uso.
Installazione driver proprietari STA senza connessione Internet
Verificare che la propria scheda sia supportata dai driver STA.
Da un computer con accesso a Internet recarsi alla pagina http://packages.ubuntu.com dove potranno essere scaricati i pacchetti:
dkms
patch
fakeroot
libfakeroot (presente dalla 14.04 in poi)
bcmwl-kernel-source
- Riempire i campi di ricerca nel seguente modo:
Keyword: nome del pacchetto.
Distribution: nel menù a tendina selezionare la propria versione di Ubuntu.
Fare quindi clic sul tasto Search.
Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture i386 o amd64.
Una volta effettuato il download installare i singoli pacchetti.
Installare i driver open source b43/b43legacy con connessione Internet
I kernel per Ubuntu 8.04.x (Hardy Heron) e versioni successive forniscono i driver B43, tuttavia a causa delle restrizioni di diritto d'autore, non è presente il firmware proprietario, che è necessario per far funzionare la scheda. Le seguenti istruzioni spiegano come estrarre il firmware desiderato.
Ubuntu 18.04 e Ubuntu 14.04
Aprire un terminale ed aggiornare la lista dei pacchetti digitando il comando:
sudo apt-get update
- Installare il pacchetto appropriato in base alla versione dei driver.
Per b43 installare il pacchetto firmware-b43-installer
Per b43legacy installare il pacchetto firmware-b43legacy-installer
In Ubuntu 14.04 assicurarsi di aver rimosso il pacchetto bcmwl-kernel-source digitando:
sudo apt-get purge bcmwl-kernel-source
- Riavviare il computer.
Installare i driver open source b43/b43legacy senza connessione Internet
Verificare che la propria scheda sia supportata dal driver b43.
In mancanza di una connessione ad Internet
Reperire il supporto di installazione di Ubuntu, per fare ciò è possibile intraprendere più strade:
Direttamente dal proprio sistema operativo Ubuntu, andando alla cartella pool/main/b/b43-fwcutter, copiare il pacchetto b43-fwcutter nella cartella Home del proprio sistema ed installarlo digitando il seguente comando:
sudo dpkg -i b43-fwcutter*
Sfruttare la connessione tramite altro sistema e scaricare b43-fwcutter che si installerà automaticamente
Da un altro computer con connessione Internet e scaricare il pacchetto per la propria distribuzione e architettura hardware o tramite la seguente pagina, copiare il pacchetto b43-fwcutter nella cartella Home del proprio sistema ed installarlo digitando il seguente comando:
sudo dpkg -i b43-fwcutter*
- Da un computer con accesso ad Internet scaricare il file del firmware richiesto:
Varie versioni dei diversi firmware, fonte adatta solo per utenti esperti
Copiare i file scaricati nella propria Home e aprire un terminale e digitare i seguenti comandi per estrarre ed installare il firmware:
Per i b43legacy
sudo b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
Ubuntu 18.04 con driver b43 e Ubuntu 14.04 con driver b43 6.30.163.46
tar xfvj broadcom-wl-6.30.163.46.tar.bz2 sudo b43-fwcutter -w /lib/firmware broadcom-wl-6.30.163.46.wl_apsta.o
Ubuntu 14.04 con driver b43
tar xfvj broadcom-wl-5.100.138.tar.bz2 sudo b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o
Assicurarsi di aver rimosso il pacchetto bcmwl-kernel-source digitando:
sudo apt-get purge bcmwl-kernel-source
- Riavviare il computer.
Schede non supportate (utilizzare driver Windows)
Se la propria scheda non è supportata dai driver STA o dai driver open source del kernel, è necessario l'utilizzo di Ndiswrapper che consente di utilizzare i driver closed source di Windows per attivare la scheda.
MacBook
Questo procedimento è stato testato su MacBook Pro early 2014 con scheda Broadcom BCM4360.
Installazione con connessione Internet
Se si ha una connessione ad Internet (ethernet), digitare i seguenti comandi in un terminale:
sudo apt-get update
sudo apt-get install bcmwl-kernel-source
Installazione senza connessione Internet
Da un computer con accesso a Internet recarsi alla pagina http://packages.ubuntu.com dove potranno essere scaricati i seguenti pacchetti:
libfakeroot
fakeroot
dkms
bcmwl-kernel-source
Alla voce Search package directories, riempire i campi di ricerca nel seguente modo per scaricare uno alla volta i pacchetti precedentemente indicati:
Keyword: nome del pacchetto.
Distribution: nel menù a tendina selezionare la propria versione di Ubuntu.
Section: any.
Fare quindi clic sul tasto Search.
Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture i386 o amd64.
Installare i pacchetti appena scaricati nell'ordine precedentemente elencato.
Caricare il modulo wl, digitando in un terminale il seguente comando:
sudo modprobe wl
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/modules:
sudo gedit /etc/modules
ed incollare in fondo al file (dopo un invio) il seguente testo:
wl
- Salvare e chiudere.
Adesso il dispositivo wifi dovrebbe funzionare correttamente.
Problemi noti
Broadcom BCM4313 non funziona a 5GHz
Le schede con id 14e4:4727 (Dell Vostro 3555) con chip Broadcom BCM4313 non funzionano alla frequenza di 5 GHz ma a 2,4 GHz non presentano problemi (bug 1010931).
La causa principale è che la scheda è a banda singola, quindi non potrebbe mai trasmettere a 5GHz.
Per risolvere il problema su Ubuntu 14.04
Usare il driver brcmsmac:
sudo apt-get purge bcmwl-kernel-source sudo apt-get install linux-firmware-nonfree
Inserire nella blacklist i driver b43 e wl:
echo "blacklist b43" | sudo tee -a /etc/modprobe.d/blacklist.conf echo "blacklist wl" | sudo tee -a /etc/modprobe.d/blacklist.conf
Rimuovere i moduli dei driver sopra citati ed inserire quello di brcmsmac:
sudo modprobe -r b43 wl brcmsmac sudo modprobe brcmsmac echo "brcmsmac" | sudo tee -a /etc/modules
- Riavviare il computer.
Secure boot
Sui sistemi con secure boot attivo i driver proprietari non funzionano. Per risolvere il problema seguire i seguenti passaggi:
Disabilitare il secure boot.
Rimuovere, se presente, il pacchetto bcmwl-kernel-source.
Installare il pacchetto bcmwl-kernel-source.