Como instalar dispositivo WIFI usb en Linux con driver de Win2 usando Ndiswrapper

He decidido tratar este tema ya que las redes wifi se estan haciendo bastante populares en los centros de estudio y en muchos centros de trabajo, pero ¿qué hacer cuando el dispositivo wifi de nuestro PC solo tiene controladores para Windows?.

Cuando nos ocurre esta situacion los usuarios de Linux no debemos temer, existe una aplicación llamada ndiswrapper que nos permite que funcione el dispositivo con el controlador para Windows.

La manera de hacerlo usando Debian 6 y sus derivados es:

1: Instalar ndiswrapper

sudo apt-get install ndiswrapper-{common,utils-1.9} wireless-tools

2: Copiar los ficheros .INF y .SYS que vienen en el CD en una carpeta de su PC por ejemplo /home/tu_user

3: Instalar el controlador

sudo ndiswrapper -i nombre-driver.inf

Luego verificar que el controlador ha sido instalado correctamente

ndiswrapper -l

Por ultimo instalar el módulo ndiswrapper

sudo modprobe ndiswrapper

Si al ejecutar este comando da un error diciendo que no tiene el módulo ndiswrapper (generalmente pasa cuando tenemos instalado el kernel bigmem, a mi me paso hace poco), hacer esto:

sudo apt-get install module-assistant
sudo m-a a-i ndiswrapper

Con esta opción recompilaremos el módulo (o driver para el kernel que estemos usando). Luego:

sudo modprobe ndiswrapper

Para verificar que el dispositivo esta funcionando correctamente:

sudo iwconfig

Debería salir en la pantalla algo parecido a esto:

lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
pan0 no wireless extensions.

Ahora que todo esta bien, hacemos que el controlador ndiswrapper cargue al iniciar el sistema:

sudo ndiswrapper -m

Para activar la interfaz inalábrica:

sudo ifconfig wlan0 up

Esto ultimo hay que hacerlo cada vez que si inicie el sistema, a menos que lo pongamos automático.

OJO: si tienes Linux x86_64 los controladores también tienen que ser para la arquitectura x86_64

El programa ndiswrapper esta pensado para controladores de dispositivos inalámbricos WIFI que pueden ser USB o PCI, pero en alguna que otra documentación dice que también puede hacerse lo mismo para winmodems y otro hardware, eso no lo he probado y les dejo ese campo abierto a los lectores.

Y ahora a disfrutar de la red inalámbrica, pero hay que instalar los programas para detectar redes, por ejemplo el Wifi Radar, pero eso ya es otro tuto ;-).