Broadcom BCM4312 (rev 02): Finalmente!

Finalmente nel ramo stabile di Portage è comparso il kernel 2.6.24, era ormai da un paio di mesi che lo aspettavo… e solo per un motivo: i moduli per le schede wireless!!!

Tux WIFI

Il mio portatile monta una Broadcom BCM4312, i driver per la famiglia BCM43xx sono presenti già da tempo nel kernel, tuttavia con il mio modello non funzionano (la periferica viene riconosciuta, il driver viene caricato ma non si riesce a connettersi ad alcuna rete), quindi fino ad una settimana fa ero costretto a passare per ndiswrapper (ed è già un miracolo che funzionasse su un sistema a 64 bit!).
Nel kernel 2.6.24 invece sono stati inclusi molti nuovi driver per schede wireless, tra cui la nuova versione per le schede Broadcom, tuttavia gentoo non si decideva a inserire il kernel in portage… ma da lunedì finalmente la mia attesa per il nuovo e rivoluzionario kernel 2.6.24 è finita!

Vediamo un po’ come far funzionare la scheda:

  • Per prima cosa abilitiamo la voce nel kernel:

Networking -> Wireless -> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers -> Network Device Support -> Wireless LAN -> Broadcom 43xx wireless support (mac80211 stack)

  • Ora scaricate questa patch
  • Quindi spostatevi nella directory con i sorgenti del kernel, eseguite la patch e ricompilate il kernel:

    cd /usr/src/linux
    patch -p1 <patch_2.6.24_for_4311_2
    make clean
    make all modules_install

  • Ora bisogna installare il firmware della scheda wifi:

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..

export FIRMWARE_INSTALL_DIR=”/lib/firmware”
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
../../b43-fwcutter-011/b43-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta.o

  • Aggiornate il bootloader e riavviate, ora potete caricare il modulo b43 e installare la vostra rete!

EOF

14 pensieri su “Broadcom BCM4312 (rev 02): Finalmente!”

  1. Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii non ci credo!!!!!!!! avevo lo stesso problema,… e la spacciavano per driver funzionanti, quando non era così, e dovevo ridurmi ad usare ndiswrapper!!!!

    GRAZIE PER LA MITICA NOTIZIA!!!!!!!!

  2. Innanzitutto grazie per la guida, ma ho un problema:
    ho seguito i passi che hai descritto alla lettera senza incontrare errori, facendo iwconfig mi vede la scheda ma non mi fa fare lo scan come succedeva con i drive precedenti.
    In effetti però la mia scheda wireless non è una bcm4312 ma una bcm4311 anche se il sistema me l’ha semre vista come bcm4312 (con lspci).
    Ho montato gentoo 2008.0 beta1 per amd64.
    grazie in anticipo

  3. @fedfol:
    lspci ti segna rev 02 o rev 01? a me segna rev 02, non vorrei che con la 01 ci voglia un firmware diverso (oppure la patch non serve). Altrimenti non so proprio cosa pensare…

  4. Ho gentoo in versione 2.6.24-r4 eppure non vedo quelle opzioni nella configurazione del kernel. Devo abilitare qualcosa? (ho scaricato proprio ierl’altro il kernel e sto impazzendo nel configurarlo essendo la mia prima volta. Oggi non so come sono riuscito a non avere più il kernel panic quando lo avviavo..per me è un miracolo).
    Uso la versione per x86..c’entra qualcosa?

  5. @Yasane:
    sicuramente le opzioni per abilitare il wireless dipendono da altre voci del kernel, però non saprei dirti quali, se parti a configurare il kernel dall’inizio (dalle voci più in alto) immagino che ti compariranno anche le voci mancanti, io le ho sempre trovate presenti, per cui configurando il kernel in ordine non dovresti avere problemi…
    Però se è la prima volta che metti mano ad un kernel forse gentoo non è la distro più adatta a te.

  6. scusate l’ignoranza.. ma cosa si deve fare per “Aggiornate il bootloader e riavviate, ora potete caricare il modulo b43 e installare la vostra rete!”
    capisco solo riavviate….
    sono passato a ubuntu da neanche 4 giorni…
    grazie per la pazienza

  7. @mat:
    cavolo se sei appena passato a linux (nel tuo caso ubuntu) ti consiglio di cercare qualche guida introduttiva, spiegarti tutto in un commento è un po’ difficile, cmq:
    _aggiornare il bootloader significa che dopo aver compilato il kernel devi dire al bootloader (è il software che carica il sistema operativo quando accendi il pc) di utilizzare la nuova immagine del kernel. Per questo punto cercati una buona guida è davvero troppo esteso per spiegartelo tutto qui.
    _caricare il modulo b43: significa che devi dare questo comando (da utente root, con ubuntu usi sudo):
    modprobe b43
    _installare la rete è un discorso ancora più ampio del bootloader, quindi ti consiglio di cercare qualche buona guida anche per questo

  8. Ciao.
    Anche io ho una bcm4312 e sto usando ndiswrapper perchè con il module b43 ho notato un raggio d’azione molto più ridotto.
    Avrei un paio di domande:
    1) a cosa serve la patch che proponi dal momento che il modulo b43 esiste già nel kernel vanilla? Quali benefici comporta l’applicazione della patch? (probabilmente l’hai anche spiegato ma non l’ho capito)

    2)All’università utilizzano PEAP come cifratura; io le ho provate tutte (sia con ndiswrapper che con b43 nativo del vanilla 2.6.24) ma non sono riuscito in alcun modo nemmeno ad ottenere l’ip. Conosci un metodo per far funzionare questo protocollo?

    Ciao e grazie anticipatamente

  9. Ciao Paco,
    1) la patch serve perché altrimenti il modulo nativo del 2.6.24 non funziona con le schede BCM4311 rev.2 (http://linuxwireless.org/en/users/Drivers/b43), nel senso che non si riesce a settare nessuna opzione di rete, se a te funzionava senza patch vuol dire che hai una rev1.

    2) non saprei, di sicuro la rev.2 ha problemi a connettersi ad un AP con SSID nascosto, per quanto riguarda il PEAP non ho mai avuto modo di provare…

  10. Infatti lspci mi informa che è una rev 01😀

    Comunque da qualche minuto ho aggiornato il kernel alla 2.6.25 (precompilato dai repoository debian….forse un giorno mi deciderò a migrare a gentoo), sai per caso se la patch è necessaria anche per il 2.6.25….stranamente con questo kernel il b43 non funziona (non so se a causa della wpa)

  11. credo che con il 2.6.25 la patch sia stata assorbita nel kernel, linuxwireless.org dice espressamente che la patch serve per il 2.6.24.
    Boh! prova… e se hai successo fammi sapere

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...