Tarjeta inalámbrica Broadcom BCM43xx en Debian Squeeze | Algo de Linux

martes, 23 de febrero de 2010

Tarjeta inalámbrica Broadcom BCM43xx en Debian Squeeze

Instalé Debian Squeeze en un portátil con una tarjeta inalámbrica Broadcom BCM4312, que, por cierto, llevan muchos portátiles y no me funcionaba.

Por lo que pude ver, se cargaba el módulo b43legacy, pero ni levantaba el interfaz de red automáticamente ni me dejaba levantarlo manualmente.

Buscando un poco de información encontré que la versión 2.6.32 del kernel de linux tenía soporte para estas tarjetas y además permitía ponerlas en modo monitor, cosa que anteriormente no se podía hacer.

Así que miré si en los repositorios de squeeze estaba este kernel para no tener que instalarlo desde el código fuente, y ví que sí lo había.

Como la máquina en la que que quería instalarlo tiene un sistema de 32 bits instalé: linux-image-2.6.32-trunk-686

# aptitude install linux-image-2.6.32-trunk-686

Pero si vuestra máquina tiene un sistema de 64 bits, podéis instalar el siguiente, por ejemplo:linux-image-2.6.32-trunk-amd64
Hay más versiones del kernel en los repositorios, para el que necesite otra cosa.

Una vez instalado el kernel, necesitamos instalar el firmware de este chipset.
Así que instalamos el paquete b43-fwcutter, que se encargará de extraerlo y colocarlo en el directorio /lib/firmware:

# aptitude install b43-fwcutter

Eso es todo. Una vez instalado, reiniciamos la máquina.

Una vez iniciado el sistema, abrimos un terminal y comprobamos si el interfaz está levantado:

# iwconfig

Debemos ver que wlan0 está funcionando.

Si no estuviera levantado, lo levantamos:

# ifconfig wlan0 up

Y vemos si funciona:

# iwlist wlan0 scan

Para comprobar que podemos poner la tarjeta en modo monitor, instalamos aircrack-ng, si no lo tenemos instalado:

# aptitude install aircrack-ng

Y ejecutamos airmon-ng para iniciar el modo monitor:

# airmon-ng start wlan0

Si ejecutamos ahora iwconfig, además del interfaz wlan0 veremos un nuevo interfaz: m0n.

Como ya he comentado, ésto lo he probado en Squeeze. Si por alguna razón no funcionara, podemos probar a instalar b43-fwcutter desde el código fuente:

Para ello, instalamos git, si no lo tenemos instalado:

# aptitude install git

Es una buena costumbre colocar en /usr/src todo lo que instalamos desde código fuente:

# cd /usr/src

Y nos descargamos la versión en desarrollo de b43-fwcutter:

# git clone http://git.bu3sch.de/git/b43-tools.git

Una vez descargado, entramos en el directorio:

# cd b43-tools/fwcutter

y compilamos:

# make

Una vez compilado, descargamos el  firmware:

# cd /usr/src 
# wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2

Lo descomprimimos:

# tar xfvj broadcom-wl-4.178.10.4.tar.bz2

E instalamos:

# cd broadcom-wl-4.178.10.4/linux
# /usr/src/b43-tools/fwcutter/b43-fwcutter -w /lib/firmware wl_apsta.o

Por último reiniciamos y comprobamos si todo ha ido bien.

1 comentario:

Anónimo dijo...

Pero ¿esto funciona con un kernel realtime?, yo necesito que me funcinoe con ese kernel, por que me voy a instalar musix (debian lenny) la 2.0 y la 3.0 sera squeeze (o como se escriba) y necesito que funcione. Saludos