Nuova vita ai driver wireless open! Procedimento per schede broadcom

La novità non è recentissima ma io ne sono venuto a conoscienza solo oggi grazie al forum di ubuntu.

Esiste un pacchetto chiamato Linux Wireless Compatibility Package o più brevemente compact-wireless che racchiude tutti i principali driver wireless open con le loro ultime release e comprensivi del nuovo stack chiamato mac80211. Per me e per il mio portatile con scheda wireles broadcom sono stati una manna, prima era una mezza tragedia ora non rimpiango i driver per windows!!

Tutti i nomi dei driver sono qua:

Come si può vedere il supporto è garantito per il kernel 2.6.22 (quello di Gutsy) per i successivi non si sa.

Esistono già due buoni articoli, uno di divilinux, qui e qui, loro spiegano il procedimento base ma parlano suprattutto delle loro schede io qua parlerò della mia cioè una scheda con chipset broadcom.

Inizialmente il procedimento è ovviamente quello degli altri articoli cioè:

Procedimento generale

Scarichiamo i sorgenti

$ wget http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

$ tar xjvf compat-wireless-2.6.tar.bz2

$ cd compat-wireless-2.6

Compiliamo i driver e installiamoli, non ho trovato il modo per selezionare un solo driver da installare, lui li compilerà e installerà tutti

$ make

# sudo make install

e infine carichiamo i driver

# sudo make load

Firmware per driver boradcom

Ora solo per i driver broadcom (i nuovi driver si chiamano b43 e b43legacy) bisogna scaricare il nuovo fwcutter e il nuovo firmware versione 4 (i vecchi driver bcm43xx vanno solo col firmware versione 3).

Firmware:

$ wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

Fwcutter:

$ wget http://prdownload.berlios.de/bcm43xx/b43-fwcutter-008.tar.bz21

Estraiamo gli archivi:

$ tar xjvf broadcom-wl-4.80.53.0.tar.bz2

$ tar xjvf b43-fwcutter-008.tar.bz2

Installiamo la nuova versione del fwcutter

$ cd b43-fwcutter-008

$ make

# sudo make install

Ora installiamo il nuovo firmware!

# sudo b43-fwcutter -w /lib/firmware broadcom-wl-4.80.53.0/kmod/wl_apsta.o

Qua sono spiegate in dettaglio le differenze fra i driver bcm43xx b43 e b43legacy, io non mi sono soffermato più di tanto dato che i b43 mi funzionano benissimo, se qualcuno ha voglia di dare qualche spiegazioni ben venga!

Ora dovrebbe essere tutto a posto e dando:

# sudo b43load b43

lo script caricherà i nuovi moduli togliendo quelli vecchi, si può verificare subito se tutto è andato per il verso giusto semplicemente cercando di tirare su l’interfaccia wireless

# sudo ifconfig eth1 up

Se è tutto ok si può iniziare a gioire e a sbeffeggiare la broadcom che non ci ha mai rilasciato driver per linux!

Caricare i moduli all’avvio

Per caricare il modulo all’avvio come al solito basta editare /etc/modules

# sudo nano /etc/modules

e alla fine ci piazziamo “b43” e “b43legacy”

poi mettiamo in blacklist bcm43xx

# sudo nano /etc/modprobe.d/blacklist

e scriviamo alla fine “blacklist bcm43xx”.

È tutto!

  1. Al momento in cui scrivo il server è down, fino a 30min fa era up. Se rimane down per molto contattatemi che ho ancora il file!

23 risposte a “Nuova vita ai driver wireless open! Procedimento per schede broadcom”

  1. Occhio che dalla versione 2.6.24 lo stesso kernel integrerà i drivers per le più comuni interfacce wireless.

  2. Questi driver?
    se si buono a sapersi!!
    quindi solo il 2.6.23 è all’asciutto ora

  3. Ho una “Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)”, ho qualche motivo per installare questi driver?

    Grazie, ciao!

  4. Usi cioè il modulo ipw2200?
    Nei sorgenti c’è anche quel modulo ma non saprei

  5. need of help!!

    quando copilo mi restituisce questo codice!!!

    make -C /lib/modules/2.6.22.12-laptop-1mdv/build M=/home/blm/Scrivania/compat-wireless-2.6 modules
    make[1]: Entering directory `/usr/src/linux-2.6.22.12-laptop-1mdv’
    CC [M] /home/blm/Scrivania/compat-wireless-2.6/drivers/misc/eeprom_93cx6.o
    In file included from :0:
    /home/blm/Scrivania/compat-wireless-2.6/include/net/compat.h:19: error: redefinition of ‘struct ssb_device_id’
    make[3]: *** [/home/blm/Scrivania/compat-wireless-2.6/drivers/misc/eeprom_93cx6.o] Error 1
    make[2]: *** [/home/blm/Scrivania/compat-wireless-2.6/drivers/misc] Error 2
    make[1]: *** [_module_/home/blm/Scrivania/compat-wireless-2.6] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.22.12-laptop-1mdv’
    make: *** [modules] Error 2

  6. @ monossido

    sì, uso quello (installato di default).
    Volevo sapere che differenze c’erano, per es. avevo letto in giro che con i nuovi driver (non so se questi) ci sarebbe stata la possibilità di fare sniffing anche con la mia scheda…

    Hai qualche link da darmi in modo da capirci qualcosa?

    😉

  7. @blm l’unico riscontro del tuo errore trovato su google è qua http://tinyshell.be/aircrackng/forum/index.php?PHPSESSID=90e90e2a02c8d1117ee1e7a479253723&topic=2898.msg16174#msg16174
    il tipo dice che ha commentato la riga che dava l’errore ed è andato avanti

    @macro qua http://linuxwireless.org/en/users/Drivers c’è anche il driver ipw2200 però ha 2 note:
    una dice che “uses legacy ieee80211 stack”…quindi non il mac80211?…l’altra che la modalità monitor non è supportata del tutto
    insomma io farei una prova tanto un make uninstall non te lo leva nessuno

  8. Ottima guida monossido 😉

  9. Dopo un po’ di pasticci che mi hanno costretto a reinstallare Gutsy (ma a onor del vero io sono un niubbo fresco come un uovo di giornata) questa sera finalmente sono riuscito a far funzionare la Broadcom 4318 del mio acer aspire 5024, con grande soddisfazione!
    Ora la qualità del segnale di rete è decisamente migliorata, arrivando anche oltre il 70%, mentre prima con i bcm43xx restricted non si andava normalmente a più del 53%.
    Mi restano però aperte due domande:
    1) ora la scheda, che prima era individuata come eth1, si chiama wlan0_rename ! Che devo fare? Lascio tutto così o mi consigli effettivamentre di rinominarla? e come?
    2) per un problema comune agli acer, il pulsante on/off sul fronte della macchina prima funzionava solo caricando il modulo acer_acpi. Ora il led del pulsante non si accende più. Che faccio? Devo ricaricare il modulo?
    Grazie in ogni caso per il tuo post.
    ciao

    Prinzeugen

  10. Ciao! Felice che ti possa essere stato utile!
    1) si è un problema conosciuto di questi driver…negli articoli di divilinux e alexit si legge che stanno risolvendo…mi sono dimenticato di dire che il pacchetto compact-wireless a quel link È AGGIORNATO GIORNALMENTE quindi prova fra un pò a vedere se magari hanno risolto questa cosa (che poi non è così grave)
    2)mi spiace ma non saprei…controlla che sia ancora caricato il modulo con “lsmod | grep acer_acpi”.

  11. Ciao ho seguito passo passo la guida ma quando arrivo al make nella cartella b43-fwcutter-008 ho questo errore:
    make: *** [fwcutter.o] Error 1
    e non posso quindi installare il firmware. La scheda che ho è questa:
    Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03).
    Ho installato questi nuovi driver perchè con i vecchi non riuscivo a trovare un modo per spegnere la wireless….ma ora neanche funziona!!! Qualcuno può aiutarmi?? Grazie

  12. Ciao…non prendertela a male ma:
    1)installare questi driver per un problema del genere direi che è un pò una cavolata perchè questi driver sono nuovissimi non completamente stabili quindi di certo non ha una “chicca” come quella dello spegnimento dal bottone se già quelli vecchi non ce l’aveva
    2)dovresti riportare l’output completo dell’errore così non si capisce il motivo per cui fa l’errore in compilazione(cmq immagino tu non abbia lo stretto indispensabile per compilare …tipo gcc build-essential kernel headers ecc..)
    3)per supporto tecnico è sempre meglio un forum come quello di ubuntu-it.org si…se io so la soluzione posso aiutarti ma in un forum passa molta più gente…è anche vero che non ho messo il topic dedicato sul forum di ubuntu cmq è questo qua
    http://forum.ubuntu-it.org/index.php?topic=139222.0
    ciao 😉

  13. Grazie monossido!! In realtà non voglio che la scheda si spenga magari utilizzando fn-f2 ma semplicemente con lo script già presente asus-wireless.sh (che a me non funzionava)!! Era solo un tentativo…cmq credo tu abbia ragione perchè gli errori me li da tutti su fwcutter_list.h e fwcutter.c …. non mi arrendo riproverò e ti farò sapere!!! Ciao.

  14. Avevi ragione ho installato i build-essential ed ora funziona tutto….anche lo script :

    #!/bin/bash
    # Find and enable/disable wireless devices

    echo $DEVICE/device/power/state;

    for DEVICE in /sys/class/net/*; do
    if [ -d $DEVICE/wireless ]; then
    # $DEVICE is a wireless device. Check if it’s powered on:
    if [ `cat $DEVICE/device/power/state` == 0 ]; then
    # It’s powered on. Switch it off.
    echo -n 2 > $DEVICE/device/power/state;
    echo 0
    echo -n 0 > /proc/acpi/asus/wled
    else
    # It’s powered off. Switch it on.
    echo -n 0 > $DEVICE/device/power/state;
    echo 1
    echo -n 1 > /proc/acpi/asus/wled
    fi
    fi
    done

    per spegnere la wireless…evvai!!!! La giornata inizia alla grande 🙂

  15. ahah perfetto allora avevi ragione te a provare 😉
    magari lo provo anche io quello script anche io ho un asus 😉

  16. ho seguito la procedura, ma al momento del

    sudo make install

    ottengo questo errore

    make: /usr/sbin/athenable: Command not found
    make: *** [uninstall] Error 127

    infatti se cotrollo in quella directory, athenable non esiste.

    che si fa??

  17. sai che proprio non lo so…anche google non aiuta molto
    hai 64bit?

  18. si, il mio portatile è un asus a6t-ap002h, però ho installato la 386, non la amd64.

    ho letto che però questi drievr dovrebbero venire abilitati nel kernel dalle prossime versioni?

  19. si nel kernel 2.6.24 ci sono già 😉

  20. io ho esattamente quel kernel, quindi posso passare direttamente alla fase con fwcutter o debbo seguire comunque tutta la procedura?

  21. ah ok…bastava leggere il primo commento cmq…
    quindi si…credo tu debba seguire solo la parte del firmware perchè quello non è software open e non può essere incluso nel kernel

  22. ooops… non l’avevo letto :S

    stasera provo, grazie mille comunque per i chierimenti.

    ciao

  23. Compact-wireless anche con Hardy…

    Me ne sono accordo quasi subito dopo aver installato Hardy sul portatile, sembra proprio che i driver wireless inclusi nel kernel 2.6.24.3 (quello di hardy) siano molto meno aggiornati (ovviamente) ma soprattutto meno performanti di quelli del pacch…

Lascia un commento