Driver oficiales de Broadcom para BCM4311, BCM4312, BCM4321, y BCM4322

1º -Método-
Para instalar los drivers oficiales de Broadcom para las tarjetas wifi con chipsets BCM4311, BCM4312, BCM4321, y BCM4322, tanto para sistemas de 32 como de 64 bits, lo primero que tenemos que hacer es entrar aquí y descargarnos el archivo que corresponda. Recordad que tienen que estar instaladas las cabeceras del kernel.

Empezamos creando un directorio temporal

$ mkdir hybrid_wl

Y ponemos el archivo descargado dentro

$ cd hybrid_wl
$ tar -xzf hybrid-portsrc-x86_32_5_10_27_6.tar.gz

Ahora tememos que crear el archivo .ko; por lo tanto:

# make -C /lib/modules/$(uname -r)/build M=`pwd` clean
# make -C /lib/modules/$(uname -r)/build M=`pwd`

Se acaba de crear un archivo wl.ko dentro del directorio que antes mkdireaste.

Asegúrate de no utilizar los drivers comunitarios, para ello

# rmmod bcm43xx
# rmmod b43
# rmmod b43legacy

También puedes desinstalar ndiswrapper

# rmmod ndiswrapper
# aptitude remove ndiswrapper-common

Ahora habilita el nuevo driver

# modprobe ieee80211_crypt_tkip
# insmod wl.ko

Si funciona (debería) cambia el blacklist...

# nano /etc/modprobe.d/blacklist

...añadiendo éstas líneas al final

blacklist b43
blacklist b43legacy
blacklist bcm43xx

Haz esto:

# mkdir /lib/modules/<2.6.xx.xx>/wlan
# mv wl.ko /lib/modules/<2.6.xx.xx>/wlan

Ahora hay que hacer que se carguen al inicio

nano /etc/modules

Y añade al final

ieee80211_crypt_tkip

Ahora:

# nano /etc/rc.local

Y añade al final antes de la linea exit(0).

insmod /lib/modules/$(uname -r)/wlan/wl.ko

Y ya sí debería funcionar todo.

Broadcom ha publicado un parche para solucionar el problema que existía al intentar conectar a ciertas redes wpa2.

2º -Método-
Bueno el 2º método es bastante más fácil que el primero, dado que simplemente tendremos que instalar dos paquetes que ya tenemos en los repositorios contrib.
Así que seguiremos los siguientes pasos:
Abriremos el terminal y nos loguearemos como root, luego modificamos nuestro /etc/apt/sources.list

# nano /etc/apt/sources.list

En la linea deb http://ftp.us.debian.org/debian squeeze main agregamos contrib qudando así:

deb http://ftp.us.debian.org/debian squeeze main contrib

Y actualizamos los repositorios:

# aptitude update

Una vez hecho, instalamos el paquete b43-fwcutter

aptitude install b43-fwcutter

Se realizará la descarga y nos saldrá una pantalla donde nos dirá si queremos descargar las fuentes le diremos que sí, terminada la instalación, instalaremos nuestro firmware según el modelo de nuestra tarjeta.
Para tarjetas BCM4306, BCM4311 o BCM4318 instalamos el paquete firmware-b43-installer.

# aptitude install firmware-b43-installer

Para las tarjetas BCM4312 o BCM4312 LP-PHY instalamos el paquete firmware-b43-lpphy-installer

# aptitude install firmware-b43-lpphy-installer

Para las tarjetas BCM4301, BCM4303 y BCM4306 instalamos el paquete firmware-b43legacy-installer

# aptitude install firmware-b43legacy-installer

Montamos el módulo b43 y b43legacy según cual sea el caso

# modprobe b43
# modprobe b43legacy

Y ya tendríamos que poder conectarnos.
En el caso de tener una tarjeta BCM4312 que existe un bug en la memoria, podemos tener problemas con la conexión, entonces como root escribimos:

# echo options b43 pio=1 qos=0 >> /etc/modprobe.d/local.conf

Para que se borre este error de la memoria tenemos apagar la máquina y volverla a encender.