Wifi amb targetes Broadcom sense Ndiswrapper!

Tal i com vaig prometre a en Castarco, vaig dir-li que traduïria el post que va fer sobre la wifi i amb el nom d’aquest post al català, i aquí està:

Bones, aquest matí he estat barallant-me amb el meu portàtil per poder aconseguir que funcionés la seva targeta wi-fi (Broadcom BCM94311MCG wlan mini-PCI (rev 01) ). Aix del (rev 01) és important perquè indica el número de la revisió de la targeta, el cas és que el procediment és una mica més llarg si ens trobem amb (rev 02) .

La informació que m’ha sigut més útil per resoldre el meu problema la he trobat en aquests dos blogs:

Blog 1

Blog 2

En el primer hi ha una explicació detallada sobre com podem veure els paràmetres del nostre hardware, explicat molt més del necessari, però no per això menys interessant.

En el segon tenim una explicació molt clara i senzilla.

Pas 1:
Editar l’arxiu /etc/apt/sources.list (en mode root), tenim que afegir la paraula contrib si no està posada ija a les línies que comencen per deb. Això es deu a que el paquet que necessitem instal·lar no el mantenen els desenvolupadors de Debian. (Després de realitzar tot el procés podem deixar l’arxiu com estava).

Pas 2:
Executar la ordre:
# lspci | grep Network

Amb ell aconseguirem saber quins dispositius de xarxa tenim (i veurem si efectivament estem treballant amb el què aquest tutoral presuposo). Hem de mirar la primera línia, que serà alguna cosa semblant a això:
01:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI [14e4:4311] (rev 01)

Ens fixem en els segons “corxets” [14e4:4311] , el segon valor és el què ens interessa, perquè ens permetrà saber si el nostre dispositiu de xarxa wireless està suportat o no pel controlador que instal·larem (m’olvidava de mencionar-ho, es diu b43 ;) ). Els dispositius suportats són:

* bcm4303 (chips 802.11b)
* bcm4306
* bcm4311 rev 1 / bcm4312
* bcm4311 rev 2 / bcm4312 (needs patches for 2.6.24)
* bcm4318

Si ens fixem que allò de rev1 o rev2 també apareix a la primera línia, immediatament dels “corxets”. Bé, tot aquell que no tingui el seu dispositiu a la llista… ho tindrà pelut, encara que mai se sap.

Pas 3:
Aquest pas te’l pots saltar si no tens una d’aquelles targetes rev 2 (suposo que és el número de revisió). Hem de descarreger i aplicar un parxe :p.
# wget http://linuxwireless.org/download/b43/patch_2.6.24_for_4311_2

Ara hora toca moure el parxe al directori de linux i aplicar el parxe (en aquest punt haig d’admetre que mai l’he fet, doncs no m’ha fet falta, així que si hi ha dubtes sobre això…buf, espero que siguin fàcils per a qui no pugui respondre).
# cp /donde/sea/patch_2.6.24_for_4311_2/ /usr/src/linux
Ens movem al directori a on hem copiat els arxius:
# cd /usr/src/linux [1]
Apliquem el parxe:
patch -p1 < patch_2.6.24_for_4311_2

Ara hem de compilar, seguiu aquest tutorial:
Compilar Kernel a la Debian

Pas 4:
Ara ens toca instal·lar el paquet que ens remtarà la feina:
apt-get install b43-fwcutter

Pas 5:
Ens queda indicar al sistema quins mòduls volem que es carreguin al iniciar-se i quins NO VOLEM que es carreguin. Per a fer-ho modificarem primer el fitxer en el què s’indiquen els mòduls que no es carregaran /etc/modprobe.d/blacklist (en mode root). Afegirem les següents línies:
blacklist ndiswrapper (Sí, desterrem ndiswrapper, :D )
blacklist bcm43xx
blacklist ssb

La línia amb ssb la poso encara que no estigui als tutorials perque jo mateix he comprovat que és necessària. Ah! ja no és necessari afegir res a /etc/modules com abans amb ndiswrapper :) . No estaria malament que l’obríssiu també per eliminar l’entrada d’ndiswrapper an cas de que estigui allà. (Per a fer un xic de neteja).

Més coses (encara que són xorradetes): heu de reiniciar el sistema. Una eina com Knetworkmanager va de meravella. Podeu executar l’ordre iwconfig per veure quins dispositius de xarxa inalàmbrica teniu activats. Les ordres ifup i ifdown serveixen per aixecar una interfície de xarxa fàcilment. Si executeu ‘iwlist scan’ us apareixerà una llista de les xarxes inalàmbriques disponibles. Si no us va res… proveu d’editar l’arxiu /etc/network/interfaces, afegiu les línies següents:
allow-hotplug wlan0_rename
iface wlan0_rename inet dhcp

Normalment es posa wlan0 i no wlan0_rename, però no sé perquè se’m va configurar de forma que necessitava aquest nom en concret… :( , en principi proveu amb wlan0. (després d’editar aquest he utilitzat les ordres):
ifdown wlan0
ifup wlan0

Bé, tinc molta son i no recordo si hi ha alguna pijada més que s’ha de tenir en compte. Fins una altra :) .

——
[1] Aquí he tronat un petit error i he modificat lleugerament els passos respecte a la font original.

PD: Moltes gràcies a en Castarco per aquest explèndit material!!!

2 Respostes

  1. Ei noi, canvia ixconfig per iwconfig ;)

  2. Per cert, estaria bé que canviessis l’enllaç al meu nou blog, plis!!

Deixa un comentari