Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "EmanueleCisotti/Prove0"
Differenze tra le versioni 10 e 21 (in 11 versioni)
Versione 10 del 08/11/2008 14.45.46
Dimensione: 13062
Autore: Alberto
Commento: CategoryHomepage
Versione 21 del 31/01/2021 21.04.23
Dimensione: 0
Autore: wilecoyote
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#format wiki
#language it
[[BR]]
[[Indice(depth=1 align=right)]]
[[VersioniSupportate(intrepid hardy gutsy)]]

= Introduzione =

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.

Dal kernel 2.6.24, presente in '''Ubuntu 8.04''' «'''Hardy Heron'''», sono invece presenti dei nuovi driver opensource che sostituiscono i precedenti, con il nome di '''b43''' e '''b43legacy'''.

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

Per le schede con chip BCM4322 bisogna seguire un'apposita procedura descritta di seguito

= Installazione su Ubuntu 8.10 «Intrepid Ibex» =

Per tutte le schede della famiglia BCM4322, il firmware è disponibile attraverso il gestore [:Hardware/AbilitareDriverProprietari:Driver Hardware].

Per le altre schede consultare la guida per la versione Ubuntu 8.04 «Hardy Hearon».

= Installazione su Ubuntu 8.04 «Hardy Hearon» =

== b43 e b43legacy ==

[[Anchor(b43)]]
A partire dalla release di '''Ubuntu 8.04''' «'''Hardy Heron'''» sono presenti nel kernel i nuovi driver per schede wireless Broadcom, denominati '''b43''' e '''b43legacy'''. Tali driver sostituiscono completamente i '''bcm43xx''', che diventano quindi obsoleti e sconsigliati.

=== Rimozione moduli incompatibili ===
I nuovi driver sono già attivi di default. Affinchè funzionino correttamente, è necessario verificare che non siano caricati nel sistema eventuali vecchie versioni dei '''bcm43xx''', né '''Ndsiwrapper'''.
Per controllare, aprire un terminale e digitare:
{{{
lsmod | grep bcm
}}}
Se nel risultato del comando precedente sono presenti righe contenenti nomi di moduli come ''bcm4318'', ''bcm4311'' o simili o necessario rimuoverli dal sistema.
Per far ciò, aprire il file `/etc/modules` e controllare che non sia presente all'interno il nome "bcm43xx" . In caso affermativo, rimuoverlo e salvare il file.

La stessa procedura va fatta per controllare l'eventuale presenza di '''Ndiswrapper''' che andrà rimosso dal sistema attraverso il [:AmministrazioneSistema/Synaptic:Gestore di pacchetti] o con [:AmministrazioneSistema/Apt:Apt]:
{{{
sudo apt-get remove ndiswrapper
}}}
Riavviare il sistema per rendere effettive le modifiche.

=== Installazione firmware ===
Per abilitare il firmware è normalmente sufficiente abilitarlo dal gestore dei '''Driver hardware''':
Cliccare sul menu '''Sistema -> Amministrazione -> Driver Hardware'''. Nella lista dovrebbe essere presente una voce "'''Broadcom B43 Wireless'''". Spuntare la casella per iniziare lo scaricamento e l'installazione dei pacchetti necessari.
Dopo un riavvio di sistema, la periferica dovrebbe essere correttamente funzionante.

Nel caso in cui la procedura sopra riportata non funzioni correttamente, o nel gestore dei Driver Hardware non sia presente la voce relativa, è possibile utilizzare una procedura manuale per installare il firmware corretto.

Per installare il firmware manualmente è necessario scaricare ed installare il pacchetto '''b43-fwcutter''' presente nei [:Repository:repository].
Successivamente digitare in un terminale i seguenti comandi:
{{{
wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
tar xjf broadcom-wl-4.80.53.0.tar.bz2
cd broadcom-wl-4.80.53.0/kmod
sudo b43-fwcutter -w /lib/firmware wl_apsta.o
}}}
Alcune schede più vecchie (4301, 4303, 4306, 4309) necessitano del driver '''b43legacy''' al posto del b43.
In questo caso è necessario scaricare un altro firmware:
{{{
wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
sudo b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Se non si è sicuri di quale firmware installare, è possibile installare entrambi. Il sistema provvederà automaticamente a caricare il modulo necessario al funzionamento della scheda wireless.'' ||


Riavviare il sistema per rendere effettive le modifiche.

== Broadcom BCM4322 ==

=== Introduzione ===

Questa guida è obbligatoria per chi ha una scheda ''Broadcom BCM4322'', ed è compatibile anche con i modelli ''BCM4311'', ''BCM4312'', ''BCM4321'' e ''BCM4328''

=== Download ===

Per scaricare i driver relativi alla vostra distribuzione (32 o 64 bit), recarsi a [http://www.broadcom.com/support/802.11/linux_sta.php questo indirizzo].

=== Rimozione moduli incompatibili ===

E' necessario verificare che non siano caricati nel sistema eventuali vecchie versioni dei `bcm43xx`, `b43`, né '''Ndsiwrapper'''.
Rimuovere i vari driver:
{{{
sudo rmmod bcm43xx
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod ndiswrapper
}}}

=== Installazione firmware ===

Creare una cartella nella propria home. Dare un nome comodo alla cartella, per esempio `wireless` e copiare al suo interno i driver scaricati.
Entrare nella cartella
{{{
cd ~/wireless
}}}
e scompattare:
{{{
tar -xzf hybrid-portsrc-x86_32_5_10_27_6.tar.gz
}}}
Bisogna compilare il file `wl.ko`, e per questo digitare (sostituendo il numero del kernel con il nostro):
{{{
make -C /lib/modules/2.6.24-19-generic/build M=`pwd` clean
make -C /lib/modules/2.6.24-19-generic/build M=`pwd`
}}}

=== Test dei driver ===

A questo punto si debbono testare i driver.
Caricare i moduli necessari:
{{{
sudo modprobe ieee80211_crypt_tkip
sudo insmod wl.ko
}}}
Attendere qualche secondo e controllare dal network manager che sia apparso segnale wireless.

=== Rendere le modifiche permanenti ===

Se tutto questo è andato a buon fine dobbiamo rendere le modifiche definitive,
prima impedendo ad altri driver di caricarsi:
{{{
sudo gedit /etc/modprobe.d/blacklist}}}

e incollare:

{{{
blacklist b43
blacklist b43legacy
blacklist bcm43xx
blacklist ndiswrapper
}}}

Poi copiare il proprio file `wl.ko`, sempre sostituendo con la giusta versione del kernel:

{{{
sudo mkdir /lib/modules/2.6.24-19-generic/wlan
sudo mv wl.ko /lib/modules/2.6.24-19-generic/wlan
}}}

Per far sì che venga caricato all'avvio:

{{{
sudo gedit /etc/modules
}}}

e aggiungere:

{{{
ieee80211_crypt_tkip
}}}

Poi modificare:

{{{
sudo gedit /etc/rc.local
}}}

e aggiungere:

{{{
sudo insmod /lib/modules/<2.6.xx.xx>/wlan/wl.ko
}}}

prima della riga ''exit 0''.

= Installazione su Ubuntu 7.10 «Gutsy Gibbon» ed inferiori =

== Identificare il chipset ==

Per conoscere il modello del chipset digitare
{{{
lspci | grep Broadcom}}}

che dovrebbe restituire una cosa del tipo:

{{{
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'''.

-- Installazione del driver opensource bcm43xx --
[[Anchor(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:

{{{
sudo apt-get install bcm43xx-fwcutter
}}}

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 =
[[Anchor(ndiswrapper)]]

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

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

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:

{{{
sudo gedit /etc/modules
}}}

e alla fine del file aggiungere:

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

= Configurazione =
[[Anchor(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 dei problemi =

[[Anchor(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.

= Ulteriori risorse =

 * [http://www.de-side.com/blogs/index.php/2008/09/14/guida-per-i-driver-nativi-broadcom-bcm43?blog=2 Post originale in Italiano]

 * [http://ubuntuforums.org/showthread.php?t=896713 Discussione originale sul forum internazionale]
----
CategoryHomepage