viernes, 11 de diciembre de 2009

Configurar wifi Broadcom bcm43xx en Ubuntu

Llevo casi como desde Ubuntu 6.06 LTS que tengo problemas de configuración con mi Tarjeta Wifi de mi laptop HP DV5020 us. La solución es algo sencilla, no me acredito la info que ponga en este post, solo lo hago para que ayude a mas gente como lo hizo conmigo. Sin esto, me hubiera regresado a windows definitivamente... Bueno aqui esta la solución.

Para seguir este tutorial necesitaras tener conexión a internet, tendremos que bajar algunos paquetes e instalar el driver.

primer paso: lo primero que haremos será deshabilitar el driver nativo e instalar NDISWrapper, para esto tenemos que abrir la consola y escribir esto:
echo '#Driver nativo para bcm43xx\nblacklist b43\nblacklist b43legacy' | sudo tee -a /etc/modprobe.d/blacklist
sudo apt-get install ndiswrapper-utils-1.9; mkdir ~/bcm43xx; cd ~/bcm43xx

segundo paso: ahora nos toca identificar el chipset, esto lo hacemos con el siguiente comando:
lspci -n | grep '14e4:43'

En mi caso salio esto:

04:00.0 0280: 14e4:4311 (rev 02)

lo importante es lo que esta en negrita. Con esa información nos vamos a esta página y buscamos el identificador en la columna ‘Chipset PCI ID‘ de la tabla.

La columna a la derecha (Step 2 Version) nos dirá que comandos debemos ejecutar para obtener el driver correcto.

A mi me toca seguir los pasos de Step 2a por lo tanto tengo que ejecutar estos comandos (aca deberás seguir los pasos según tu chipset):

sudo apt-get install cabextract
wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe
cabextract sp34152.exe

tercer paso: este es el ultimo paso donde configuraremos NDISWrapper, para conseguirlo solo escribiremos los siguientes comandos:

sudo ndiswrapper -i bcmwl5.inf
ndiswrapper -l
sudo depmod -a
sudo modprobe ndiswrapper
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
echo -e 'auto lo\niface lo inet loopback\n' | sudo tee /etc/network/interfaces
sudo ndiswrapper -m
echo 'ndiswrapper' | sudo tee -a /etc/modules
echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant
lshw -C network | grep module

En Ubuntu Hardy Heron existe un pequeño bug, si tras el último comando ves ‘module=ssb‘ en vez de ‘module=ndiswrapper‘ es porque el bug te afecta, de lo contrario ya podrás navegar y buscar redes por el aire.

Vamos a corregir el bug, son solo un par de comandos mas:
sudo rmmod b43
sudo rmmod b44
sudo rmmod b43legacy
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo modprobe ssb
sudo modprobe b44
lshw -C network | grep module

ahora dejaremos los cambios permanentes con esta linea (solo una):

echo -e '# Fix para el bug en ssb/ndiswrapper de Hardy\ninstall ndiswrapper modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ssb; modprobe b44;' | sudo tee -a /etc/modprobe.d/ndiswrapper

Listo! ya podemos borrar la carpeta temporal:

rm -Rf ~/bcm43xx

como dato positivo, en Ubuntu Intrepid Ibex vendrá un instalador automático igual al de los drivers nVidia para instalar este driver, así que esta guia no hará falta (en la versión alpha ya esta implementado).

No hay comentarios:

Publicar un comentario