Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Hardware/DispositiviSenzaFili/Broadcom"
Differenze tra le versioni 10 e 89 (in 79 versioni)
Versione 10 del 21/04/2008 11.37.47
Dimensione: 7815
Commento: Aggiunto avviso di incompatibiltà con Hardy, in attesa di update della guida
Versione 89 del 03/03/2019 16.43.56
Dimensione: 12887
Autore: jeremie2
Commento: nuove note
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Broadcom Wireless
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents]]||

[[Include(StrumentiWiki/Versioni)]]
[[Include(StrumentiWiki/Gutsy)]]
[[Include(StrumentiWiki/Versioni2)]]

Questa pagina spiega come far funzionare le schede wireless Broadcom.

Dal kernel 2.6.17 c'è il supporto nativo per alcuni chipset Broadcom.
Se avete un chipset di questo tipo molto probabilmente viene già riconosciuto dal sistema, ma sono necessari alcuni passaggi per renderlo funzionante.

Al momento ci sono due modi per usare il chipset broadcom sotto linux, utilizzando il driver opensource oppure '''Ndiswrapper'''.
Tendenzialmente, sarebbe preferibile utilizzare il driver opensource e ricorrere a Ndiswrapper solo in caso di gravi malfunzionamenti.

||<tablestyle="text-align: justify; width:60%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''ATTENZIONE: la seguente guida non è ancora compatibile con Ubuntu 8.04 «Hardy Heron», nella quale sono presenti dei nuovi driver Broadcom (b43) ''' ||

= Identificare il chipset =

Per conoscere il modello del chipset digitare
#format wiki
#language it
<<BR>>
<<Indice(depth=3)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=467849; rilasci="18.04 16.04 14.04";)>>

= 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:
Linea 23: Linea 21:
lspci | grep Broadcom}}}

che dovrebbe restituire una cosa del tipo:
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:
Linea 28: Linea 26:
06:05.0 Network controller: Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
}}}

Controlliamo che la nostra scheda sia supportata dal driver opensource a [http://bcm43xx.berlios.de/?go=devices questa pagina].
In caso affermativo procediamo con la sezione successiva, altrimenti sarà necessario l'utilizzo di '''Ndiswrapper'''.

= Utilizzare il driver opensource bcm43xx =

Bcm43xx è un driver opensource che dal kernel 2.6.17 permette di far funzionare le schede wireless broadcom (alcune di esse).

Dopo aver abilitato il [:Repository:repository] multiverse, installiamo il software necessario:
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:
Linea 41: Linea 36:
sudo apt-get install bcm43xx-fwcutter
}}}

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Nel caso si utilizzi'' '''Ubuntu 7.04''' «'''Feisty Fawn'''» ''durante l'installazione del pacchetto verrà chiesto se si desidera scaricare ed installare il firmware. È necessario rispondere «'''Sì'''» non sarà più necessario effettuare alcuna modifica.'' ||

Scarichiamo il firmware sul nostro Desktop da [http://svit.epfl.ch/stuff/wl_apsta.o qua]

Quindi diamo i seguenti comandi:

{{{
cd ~/Desktop
sudo bcm43xx-fwcutter -w /lib/firmware/`uname -r` wl_apsta.o
}}}

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''È necessario ripetere questi passaggi ogni volta che il Kernel viene aggiornato.''' ||

A questo punto, dopo un riavvio, l'interfaccia wireless dovrebbe essere operativa.

= Utilizzare Ndiswrapper =

Se la nostra scheda non è supportata o funziona male con il driver opensource, allora è possibile provare ad usare '''Ndiswrapper''', un programma che sfrutta i driver di Windows.

Installiamo '''Ndiswrapper''' come descritto [:Hardware/DispositiviSenzaFili/Ndiswrapper:qui].

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Con Ubuntu 7.04 «Feisty Fawn» è consigliato compilare i sorgenti dell'ultima versione di Ndiswrapper invece di utilizzare la versione del repository per evitare problemi con Network Manager''. ||

Quindi scarichiamo sul '''Desktop''' [attachment:bcm4318.all.tar.gz questo file] contenente i driver della scheda e estraiamo (sempre sul Desktop) i file `bcmwl.inf` e `bcmwl5.sys`.

Ora installiamo i driver:
{{{
cd ~/Desktop
sudo ndiswrapper -i bcmwl5.inf
}}}

Per controllare che tutto sia andato bene digitare

{{{
ndiswrapper -l
}}}

L'output dovrebbe essere simile a questo:

{{{
Installed drivers:
bcmwl5 driver installed, hardware present
}}}

A questo punto possiamo rimuovere i file `bcmwl.inf` e `bcmwl5.sys` dal Desktop.

Per evitare conflitti con bcm43xx dobbiamo mettere questo modulo in blacklist:
aprire con un [:Ufficio/EditorDiTesto:editor di testo] (per esempio '''Gedit'''), il file `/etc/modprobe.d/blacklist`
{{{
sudo gedit /etc/modprobe.d/blacklist
}}}
e alla fine del file aggiungere:
{{{
#Disabilito i driver della scheda Wireless Broadcom
blacklist bcm43xx
}}}

Infine facciamo in modo che '''Ndiswrapper''' venga caricato automaticamente ad ogni avvio:

{{{
lspci -vvnn | grep -A 9 Network
}}}
Che restituisce informazioni dettagliate della scheda di rete wifi e mostra i driver utilizzati dal sistema per gestirla.

<<Anchor(supportate)>>
= 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`:{{{
Linea 105: Linea 187:
}}}

e alla fine del file aggiungere:

{{{
ndiswrapper
}}}
A questo punto, dopo un riavvio, l'interfaccia wireless dovrebbe essere operativa.

= Configurazione =

Se avete completato correttamente una delle tue procedure precedenti, adesso dovreste avere attiva una nuova interfaccia wireless.
Verificatelo digitando sul terminale
{{{
iwconfig
}}}
Il risultato dovrebbe essere simile a questo:
{{{
lo no wireless extensions.

eth0 no wireless extensions.

eth1 IEEE 802.11b/g ESSID:"" Nickname:"Broadcom 4306"
          Mode:Managed Frequency=2.462 GHz Access Point:
          Bit Rate=11 Mb/s Tx-Power=19 dBm
          RTS thr:off Fragment thr:off
          Link Quality=101/100 Signal level=-34 dBm Noise level=-68 dBm
          Rx invalid nwid:0 Rx invalid crypt:9 Rx invalid frag:0
          Tx excessive retries:0 Invalid misc:0 Missed beacon:0

sit0 no wireless extensions.
}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Il nome dell'interfaccia potrebbe essere diverso da eth1, per esempio eth2 o wlan0.'' ||

Per la configurazione manuale seguire la pagina [:Hardware/DispositiviSenzaFili/WiFiHowTo:Wifi How-to].
Se desiderate impostare la codifica WPA alla vostra rete, seguite la guida per [:Hardware/DispositiviSenzaFili/WpaSupplicant:WpaSupplicant].

Un'alternativa alla configurazione manuale è [:Hardware/DispositiviSenzaFili/NetworkManager:Network Manager].

= Risoluzione Problemi =
== Portatili Acer ==
Se la scheda non dovesse funzionare dopo i passi precedenti e utilizzate un portatile '''Acer''', è possibile che abbiate bisogno del modulo '''acerhk''' o '''acer_acpi''' (per i sistemi a 64 bit) per attivare i led del wireless.

Seguite la procedura descritta in [:Hardware/DispositiviSenzaFili/AcerAcpiActiver:questa pagina].

== Scheda del portatile non rilevata ==
Se la scheda inclusa nel portatile non dovesse essere rilevata dal kernel, nemmeno dopo aver seguito tutti i passaggi di questa guida, è possibile provare ad inserire l'opzione `noapic` nella stringa di avvio del Kernel.
Aprite il file di configurazione di [:Amministrazione/Grub:GRUB:]:
{{{
sudo gedit /boot/grub/menu.lst
}}}
Cercate nel file la stringa di avvio del kernel, e aggiungete la parola `noapic` in questo modo:
{{{
title Debian GNU/Linux, kernel 2.6.20-16-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.20-16-generic root=/dev/hda2 ro quiet splash noapic
initrd /boot/initrd.img-2.6.20-16-generic
boot
}}}
Salvate il file e riavviate il sistema.

== Nessuna rete rilevata ==
Se avete seguito correttamente la guida ma il risultato del comando
{{{
sudo iwlist eth1 scan
}}}
è "`no networks found`" provate a digitare comunque le informazioni relative al vostro access point/router (essid, channel..) e dovrebbe funzionare lo stesso.
}}} 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]]
Linea 173: Linea 228:
CategoryHardware CategoryDaRevisionare CategoryHardware


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

  1. Verificare che la propria scheda sia supportata dai driver STA.

  2. 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

  3. Riempire i campi di ricerca nel seguente modo:
    • Keyword: nome del pacchetto.

    • Distribution: nel menù a tendina selezionare la propria versione di Ubuntu.

  4. Fare quindi clic sul tasto Search.

  5. Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture i386 o amd64.

  6. 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

  1. Aprire un terminale ed aggiornare la lista dei pacchetti digitando il comando:

    sudo apt-get update
  2. Installare il pacchetto appropriato in base alla versione dei driver.
  3. In Ubuntu 14.04 assicurarsi di aver rimosso il pacchetto bcmwl-kernel-source digitando:

    sudo apt-get purge bcmwl-kernel-source
  4. 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

  1. 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*
  2. Da un computer con accesso ad Internet scaricare il file del firmware richiesto:
  3. 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
  4. Assicurarsi di aver rimosso il pacchetto bcmwl-kernel-source digitando:

    sudo apt-get purge bcmwl-kernel-source
  5. 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

  1. 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

  2. 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.

  3. Fare quindi clic sul tasto Search.

  4. Durante la ricerca fare attenzione a selezionare il pacchetto appropriato per le architetture i386 o amd64.

  5. Installare i pacchetti appena scaricati nell'ordine precedentemente elencato.

  6. Caricare il modulo wl, digitando in un terminale il seguente comando:

    sudo modprobe wl
  7. 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
  8. 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

  1. Usare il driver brcmsmac:

    sudo apt-get purge bcmwl-kernel-source
    sudo apt-get install linux-firmware-nonfree 
  2. 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
  3. 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
  4. Riavviare il computer.

Secure boot

Sui sistemi con secure boot attivo i driver proprietari non funzionano. Per risolvere il problema seguire i seguenti passaggi:

  1. Disabilitare il secure boot.

  2. Rimuovere, se presente, il pacchetto bcmwl-kernel-source.

  3. Installare il pacchetto bcmwl-kernel-source.

Ulteriori informazioni


CategoryHardware