lunes, junio 18, 2007

ndiswrapper 64bits para bcm43xx

Motivación: Ya había puesto un post para hacer funcionar nuestra tarjeta Broadcom. Hasta el momento me ha funcionado a la perfección. "Pero" me cambiaron de lugar en la oficina y la señal no llega con la misma potencia. Con el driver nativo del kernel incluido en Feisty, no puedo conectarme. Parece que solo soporta el standard 802.11b y supongo que no tiene la misma potencia que con 802.11g.

Esto me lleva (por el momento) a prescindir del driver nativo y utilizar ndiswrapper para utilizar el driver de windows :( Si, lo sé no voy a poder monitorar redes en modo promiscuo, pero... de todos modos aún no he logrado inyectar "satisfactoriamente" paquetes por lo que no me perderé de mucho.


Bueno... a lo que vamos:

Deshabilitamos el driver nativo :( editando el siguiente archivo

sudo gedit /etc/modprobe.d/blacklist

Agregamos al final del archivo lo siguiente
#Deshabilitado para usar ndiswrapper
blacklist bcm43xx

Despues de guardar y cerrar, quitamos el módulo
sudo rmmod bcm43xx

Actualizar fuentes y headers

sudo apt-get install linux-source linux-headers-$(uname -r)


Descargar, desempaquetar, compilar e instalar ndiswrapper

La versión de ndiswrapper en los repositorios de ubuntu no suele ser la mas actualizada. Por eso utilizaremos la versión mas reciente de http://sourceforge.net/projects/ndiswrapper/

En la carpeta donde bajamos el paquete escribimos
tar xzfv ndiswrapper-1.*.tar.gz
cd ndiswrapper-1.*
make
sudo make install

Descargamos el driver para windows XP 64 y lo descomprimimos
wget http://www.fcknteam.org/qlugster/fcknstpidxpert/80211g_XP64.zip
unzip 80211g_XP64.zip
cd WL_T60H906\(8.0.10.0\,XP64_logo\)/
Instalamos los drivers en ndiswrapper
sudo ndiswrapper -i bcmwl5.inf

Probar si detecta el hardware
sudo ndiswrapper -l

Debería aparecer algo como:
bcmwl5 : driver installed
device (14E4:4318) present (alternate driver: bcm43xx)

Si lo detectó, solo resta agregarlo a la lista de módulos que cargan con el sistema,
Editamos el archivo
sudo gedit /etc/modules


Agregamos lo siguiente al final del archivo

#agregado para soportar nuestra tarjeta wireless
ndiswrapper

Cargamos el módulo
sudo modprobe ndiswrapper

y al ejecutar
dmesg |grep ndiswrapper

Deberá aparecernos algo cómo
[  175.915380] ndiswrapper version 1.47 loaded (smp=yes)
[ 175.923841] ndiswrapper (link_pe_images:576): fixing KI_USER_SHARED_DATA address in the driver
[ 175.924960] ndiswrapper: driver bcmwl5 (Broadcom,02/11/2005, 3.100.64.0) loaded
[ 175.928835] ndiswrapper: using IRQ 21
[ 176.076629] usbcore: registered new interface driver ndiswrapper
[ 176.081098] ndiswrapper: changing interface name from 'wlan0' to 'eth1'


FIN!
Feliz navegación.

Gracias a la gente de www.fcknteam.org por hospedar el driver. Lo mas dificil de todo el proceso fue dar con el P*to driver para XP 64.

2 comentarios:

Anónimo dijo...

Oi, achei teu blog pelo google tá bem interessante gostei desse post. Quando der dá uma passada pelo meu blog, é sobre camisetas personalizadas, mostra passo a passo como criar uma camiseta personalizada bem maneira. Até mais.

Neele dijo...

gracias por tu blog.

tengo la misma bestia que tu pero ...

cuando pongo ndiswrapper -l

eso es la respuesta que recibo
bcmw5 : invalid driver!
bcmwl5 : invalid driver!

me pone loco !!!

Tienes una idea ?

Gracias.