#format wiki
#language it
<
>
<>
<>
= 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 [[Hardware/AbilitareDriverProprietari|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 [[AmministrazioneSistema/Terminale|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 [[http://linuxwireless.sipsolutions.net/en/users/Drivers/b43/|questa pagina]].
{{{#!wiki important
Le scheda non supportate dai driver dovranno necessariamente far affidamento su [[Hardware/DispositiviSenzaFili/Ndiswrapper|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 [[AmministrazioneSistema/Terminale|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 =
0. [[#supportate|Verificare]] che la propria scheda sia supportata dai driver STA.
0. 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''
0. Riempire i campi di ricerca nel seguente modo:
* '''Keyword''': nome del pacchetto.
* '''Distribution''': nel menù a tendina selezionare la propria versione di Ubuntu.
0. Fare quindi clic sul tasto '''Search'''.
0. Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture '''i386''' o '''amd64'''.
0. Una volta effettuato il download [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|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 ==
0. Aprire un [[AmministrazioneSistema/Terminale|terminale]] ed aggiornare la lista dei pacchetti digitando il comando:{{{
sudo apt-get update
}}}
0. Installare il pacchetto appropriato in base alla versione dei driver.
* Per '''b43''' installare il pacchetto [[apt://firmware-b43-installer|firmware-b43-installer]]
* Per '''b43legacy''' installare il pacchetto [[apt://firmware-b43legacy-installer | firmware-b43legacy-installer]]
0. In '''Ubuntu 14.04''' assicurarsi di aver rimosso il pacchetto ''bcmwl-kernel-source'' digitando:{{{
sudo apt-get purge bcmwl-kernel-source
}}}
0. Riavviare il computer.
= Installare i driver open source b43/b43legacy senza connessione Internet =
[[#supportate|Verificare]] che la propria scheda sia supportata dal driver b43.
In mancanza di una connessione ad Internet
0. 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 [[apt://b43-fwcutter|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 [[https://packages.ubuntu.com/search?keywords=b43-fwcutter&searchon=names | seguente pagina]], copiare il pacchetto ''b43-fwcutter'' nella cartella '''Home''' del proprio sistema ed installarlo digitando il seguente comando: {{{
sudo dpkg -i b43-fwcutter*}}}
0. Da un computer con accesso ad Internet scaricare il file del firmware richiesto:
* [[http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o | b43legacy]]
* [[http://www.lwfinger.com/b43-firmware/broadcom-wl-6.30.163.46.tar.bz2| b43 per Ubuntu 18.04]]
* [[http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2| b43 per Ubuntu 14.04]]
* [[https://wireless.wiki.kernel.org/en/users/Drivers/b43/developers | Varie versioni]] dei diversi firmware, fonte adatta solo per utenti esperti
0. 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}}}
0. Assicurarsi di aver rimosso il pacchetto ''bcmwl-kernel-source'' digitando:{{{
sudo apt-get purge bcmwl-kernel-source
}}}
0. 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 =
{{{#!wiki note
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 [[AmministrazioneSistema/Terminale|terminale]]:{{{
sudo apt-get update}}} {{{
sudo apt-get install bcmwl-kernel-source
}}}
== Installazione senza connessione Internet ==
0. 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''
0. 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.
0. Fare quindi clic sul tasto '''Search'''.
0. Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture '''i386''' o '''amd64'''.
0. [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|Installare]] i pacchetti appena scaricati nell'ordine precedentemente elencato.
0. Caricare il modulo '''wl''', digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo modprobe wl
}}}
0. Aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/modules`:{{{
sudo gedit /etc/modules
}}} ed incollare in fondo al file (dopo un invio) il seguente testo:{{{
wl
}}}
0. 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 ([[https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1010931 | 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'''
0. Usare il driver '''brcmsmac''': {{{
sudo apt-get purge bcmwl-kernel-source
sudo apt-get install linux-firmware-nonfree }}}
0. 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}}}
0. 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}}}
0. Riavviare il computer.
== Secure boot ==
Sui sistemi con [[https://msdn.microsoft.com/it-it/library/hh824987.aspx|secure boot]] attivo i driver proprietari non funzionano. Per risolvere il problema seguire i seguenti passaggi:
0. [[AmministrazioneSistema/Uefi#Disattivazione_Secure_Boot|Disabilitare]] il secure boot.
0. [[AmministrazioneSistema/InstallareProgrammi|Rimuovere]], se presente, il pacchetto [[apt://bcmwl-kernel-source|bcmwl-kernel-source]].
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://bcmwl-kernel-source|bcmwl-kernel-source]].
= Ulteriori informazioni =
* [[https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx|Documento originale]]
* [[http://www.broadcom.com/support/802.11/linux_sta.php|Pagina dei driver STA per linux]]
* [[http://wireless.kernel.org/en/users/Drivers/b43|I driver kernel b43 di wireless.kernel.org]]
----
CategoryHardware