| Schede WiFi, chipset Broadcom e Ubuntu... |
|
|
|
| Scritto da minopausa |
![]() Questa guida è rivolta agli infelici possessori di schede WiFi Broadcom AirForce One 43xx. Tali schede WiFi hanno una caratteristica buona e una cattiva. Quella buona: il nome. Quella cattiva: la gestione sotto GNU/Linux. Coloro i quali dicono «Ma che dici? Io ho una Broadcom e non ho avuto mai nessun problema!»non sanno assolutamente che cosa stanno dicendo e quasi sicuramente non hanno mai fatto funzionare come si deve la suddetta scheda. Ultimamente sotto Ubuntu Jaunty 9.04 32 bit la gestione della scheda è notevolmente migliorata, nel senso che si blocca più di rado. Di seguito vi facciamo vedere come configurare al meglio la vostra scheda e come metterla in monitor mode (che purtroppo per voi sono cose che non vanno a braccetto).
Dati storici.
Le Broadcom AirForce One 43xx sono state montate sugli iBook e hanno dimostrato ampiamente quanto fanno cagare. Oggigiorno i produttori di portatili hanno avuto la bella pensata di montarle un po' ovunque estendendo a macchia d'olio questa piaga e rendendo frustrante l'esperienza wifi su Linux. Quelli della Broadcom, dal canto loro, non rilasciano driver per Linux e quando è stato chiesto loro il motivo di questa decisione, hanno risposto qualcosa del tipo «Linux? No, grazie: non ci interessano le sciarpe. Qui produciamo schede WiFi.» Questo è quanto. Test. La distribuzione su cui sono state testate le seguenti operazioni, senza offendere nessuno, è Ubuntu 9.04 Jaunty a 32 bit ma tutto ciò è valido per tutte le distribuzioni precedenti di Ubuntu, nonchè per tutte le Debian-like (voglio sperare). Tutti i tentativi effettuati sulle distribuzioni a 64bit sono stati infruttuosi e disperati, con blocchi di sistema random, in cui si sono visti Santi diventare serial killer dalla disperazione. Vi sconsigliamo quindi di tentare una qualsiasi configurazione delle suddette schede su distro a 64bit. Driver. Le Broadcom AirForce One 43xx funzionano benissimo su Windows perchè sono corredate di driver specifici e funzionanti mentre su GNU/Linux ce la dobbiamo prendere lievemente in saccoccia perchè non esistono driver "ottimi" ma driver approssimativi (molto vicini all'ottimo, a dire il vero). A dimostrazione che non mi stò inventando niente, identificate la vostra scheda con: lspci | grep Broadcom l'output sarà molto simile a: Bus 007 Device 003: ID 03f2:2a08 Broadcom Blablabla da qui sarà possibile risalire al tipo di chipset utilizzato (es. 4318) e diamo un'occhiata a questo link per vedere in quali problemi può incorrere una scheda Broadcom nel momento in cui installiamo i driver nativi. Es. per i chip 4318 ci possono essere problemi su un'alimentazione non corretta. In giro per internet corre la voce che i driver nativi 43xx siano supportati già dal kernel 2.6.17rc2. Se abbiamo questa versione del kernel, o una più nuova, non dovremmo far altro che attivare questi benedetti driver avendo una connessione ad internet, un terminale e un file che dipenderà dalla procedura che si sceglie. Esistono infatti due metodi per far funzionare queste schede: usando b43-fwcutter oppure usando ndiswrapper. Sappiate fin da subito che non sarà possibile fare cose come il cambio di mac o mettere la vostra scheda in monitor mode se userete ndiswrapper, o meglio: personalmente non ho trovato un modo per cambiarlo. Con i bcm43xx invece il cambio del mac e il monitor mode sono praticabili. Prima di proseguire lanciamo i soliti comandi: sudo apt-get update sudo apt-get upgrade per aggiornare le liste software nei repository e per controllare se ci sono aggiornamenti vari. B43 Nativi. NOTA : per chi fosse interessato a provare questa cosa (nel presente o nel futuro) su altre distribuzioni si può consultare questa pagina. Su Ubuntu l'installazione del firmware consiste nel lanciare il solo comando: sudo apt-get install b43-fwcutter Una volta installato, b43-fwcutter andrà a prelevare automaticamente online il solito driver wl_apsta.o da cui estrarre i dati sensibili che compongono il nostro firmware. A questo punto sul nostro terminale apparirà un messaggio in dialog che ci chiederà se estrarre il firmware e installarlo (Yes/No). Chiaramente sceglieremo Yes e tutto filerà liscio. In sostanza l'installazione dura pochi secondi. A questo punto è necessario attendere qualche secondo e la nostra scheda wireless prenderà a funzionare. Nel nostro esperimento: al primo riavvio parte un blocco dell'hardware generale: il PC si blocca (qui sono ammesse varianti come lo schermo fisso su un'immagine oppure nero...) e il CAPS LOCK emette bagliori sinistri. Successivamente, dopo il riavvio forzato, va tutto bene, senza alcun blocco. Per il momento non abbiamo testato il tutto in situazioni "pesanti" (tipo 4 o 5 torrent in download pieni di seeder... solitamente qui il vecchio firmware dava il meglio di se). Ndiswrapper. Se la prima procedura non funziona correttamente (es. la scheda dopo 2 o 3 tentativi di connessione si spegne definitivamente; la scheda non si alimenta correttamente, etc.) oppure avete una versione di Ubuntu precedente alla 9.04 occorre tentare con ndiswrapper. Ndiswrapper è un software gratuito che serve ad intermediare fra sistema operativo e driver della periferica considerato. Viene solitamente adoperato per far funzionare le schede wifi ed in particolar modo queste schede. ********************************************************************************************************************** ATTENZIONE: questo sistema non è valido se abbiamo una versione del kernel inferiore o uguale alla 2.6.17-10-generic. Per assicurarcene: uname -r ********************************************************************************************************************** OK: si parte. Eliminiamo il vecchio modulo ndiswrapper (se lo avete installato e anche se non li'avete installato) ed eventualmente vecchi driver: sudo apt-get remove --purge b43-fwcutter sudo rmmod b43 sudo rmmod bcm43xx
sudo rmmod ndiswrapper Identifichiamo la scheda con: lspci | grep Broadcom l'output sarà molto simile a: Bus 007 Device 003: ID 03f2:2a08 Broadcom Blablabla A questo punto siamo pronti ad installare ndiswrapper e compagnia bella: sudo apt-get install linux-headers-$(uname -r) build-essential ndiswrapper-common ndiswrapper-utils-1.9 copiamo i driver sul Desktop (che abbiamo prontamente recuperato dal cd dei driver di Windows o da internet) e lanciamo: sudo ndiswrapper -i ~/Desktop/bcmwl5.inf verifichiamo che i driver sono stati installati correttamente: ndiswrapper -l l'output dovrebbe essere molto simile a: Installed ndis drivers: {nome_del_driver} driver present, hardware present e assicuriamoci che sia coerente con le info che abbiamo ottenuto prima (Bus 007 Device 003: ID 03f2:2a08 Broadcom BCM43xx Blablabla). Installiamo ndiswrapper come modulo in modprobe: sudo ndiswrapper -m sudo ndiswrapper -ma sudo ndiswrapper -mi e carichiamo il modulo ndiswrapper nel sistema: sudo modprobe ndiswrapper sudo depmod -a Carichiamo il modulo all'avvio editando il file dei moduli: sudo gedit /etc/modules e aggiungendo la stringa: ndiswrapper Riavviamo il gestore del networking: sudo /etc/init.d/networking restart eliminiamo il file bcmwl5.inf sul Desktop: sudo rm ~/Desktop/bcmwl5.inf e lanciamo il comando: iwconfig Dovremmo vedere i dettagli sulla nostra scheda. ********************************************************************************************************************** ATTENZIONE: Se la procedura non dovesse funzionare (ossia se non vi installa i driver) proviamo con la procedura per Edgy/Dapper: sudo ndiswrapper -a 03f2:2a08 ~/Desktop/bcmwl5.inf dove il codice 03f2:2a08 lo prendiamo dall'output del comando: lspci | grep Broadcom Successivamente diamo: sudo rmmod ndiswrapper sudo modprobe ndiswrapper ********************************************************************************************************************** Fine della storia. Network Manager. (Sento di consigliare questa procedura ai possessori di Ubuntu 8.10 e versioni inferiori) E' ora di eliminare quella ciofeca di Network manager che avete e di installare un Network Manager come si deve. Occorre disinstallare il vecchio manager con: sudo apt-get remove --purge gnome-network-manager e installare la versione 1.3.1 di Wicd. La dovete scaricare a manina da qui. Scegliamo quindi il file wicd_1.3.1-all.deb, scarichiamolo e posizioniamolo sul Desktop. Installiamolo con: sudo dpkg -i ~/Desktop/wicd_1.3.1-all.deb apriamo Sistema -> Preferenze -> Sessioni e inseriamo una nuova voce da caricare all'avvio del pc con titolo Wicd e come percorso /opt/wicd/tray.py. Da terminale digitiamo: /opt/wicd/tray.py facendo attenzione a non aggiungere il comando sudo e dovremmo vedere sul pannello dell'orologio l'iconcina di wicd. Cliccandoci sopra una sola volta si aprirà il pannello e vedremo tutte le reti WiFi rilevabili. WPA 1/2. Per accedere a reti wifi crittografate con WPA 1/2 è sufficiente andare nelle opzioni di Wicd e scegliere la voce WEXT nell'elenco dei driver da usare. In pratica wext è il driver usato da WPA_supplicant per accedere a reti protette da WPA1/2, visto che i bcm43xx e ndiswrapper, siccome sono dei pezzenti, non forniscono supporto per tale protezione. E' sufficiente scegliere la voce WEXT e basta! Non dovete editare nessun file di testo, niente di niente. Giacchè che ci siete abilitate anche la voce che mostra le interfacce di rete cablata. Se questa guida vi è piaciuta o vi ha fatto schifo non venitemelo a dire perchè la vostra opinione non interessa ad anima viva. |
| Ultimo aggiornamento Venerdì 25 Settembre 2009 16:42 |

















