martes, julio 08, 2008

Instalando el driver de una tarjeta inalámbrica con ndiswrapper Si después de haber instalado Fedora 9 o, más aún, si ya te


Instalando el driver de una tarjeta inalámbrica con ndiswrapper


Si después de haber instalado Fedora 9 o, más aún, si ya tenías antes el problema de que Fedora no reconocía tu tarjeta de red inalámbrica, pues he aquí la solución: ndiswrapper.

Algunos vendedores de tarjetas inalámbricas no proporcionan drivers compatibles con linux, ni liberan las especificaciones de su hardware, es por eso que se creó el proyecto ndiswrapper. Este es un proyecto que provee un módulo para el kernel de linux el cual carga y ejecuta los drivers (.exe) proporcionados por los vendedores de las tarjetas inalámbricas. Muchas tarjetas inalámbricas trabajan con ndiswrapper, para ver si tu tarjeta es compatible visita esta página en la cuál se muestra una lista con todas las tarjetas inalámbricas compatibles.

Existen dos maneras de instalar ndiswrapper:

  1. Vía online. Es la forma más fácil de instalar ndiswrapper, y por lo tanto el driver, utilizando el comando yum. Este método es para los afortunados que tienen Internet en su hogar.
  2. Vía offline. Es la forma más latosa para instalar ndiswrapper, sin embargo, es posible hacerlo mediante unos cuantos sencillos pasos. Este método es para los desafortunados, como yo, que no tienen Internet en su hogar.

VÍA ONLINE

Para instalar ndiswrapper tienes que tener el header del kernel de linux, para esto, desde la línea de comandos entra como root e ingresa los siguientes comandos:

#yum -y install kernel-devel
#yum -y install kernel-header

Con esto habrás instalado los headers necesarios para que ndiswrapper funcione. También necesitarás tener la librería compat-libstdc++-33, para instalarla, desde la línea de comandos entra como root e ingresa el siguiente comando:

#yum install compat-libstdc++-33

Ahora sólo falta instalar el ndiswrapper, para esto, entra como root e ingresa:

#yum -y install ndiswrapper

¡Ahora ya tienes instalado ndiswrapper! Bien, ahora necesitas bajarte el driver proporcionado por el vendedor de tu tarjeta de red inalámbrica. En mi caso, mi tarjeta de red inalámbrica es una Dell wireless 1390 wlan mini-card , así que entré a la página oficial de Dell y bajé el driver (R151520.exe).

De aquí en adelante las instrucciones las haré con base a mi driver, por lo que, donde veas el nombre de mi driver lo tendrás que sustituir por el nombre del driver de tu tarjeta de red inalámbrica.

Una vez que hayas bajado el driver el driver de tu tarjeta inalámbrica, guárdalo en alguna carpeta y después descomprimelo, para esto ingresa el comando:

$unzip R151520.exe

Luego, ingresa el siguiente comando como root:

#echo blacklist bcm43xx >> /etc/modprobe.d/blacklist

Una vez realizado lo anterior, ingresa a la carpeta donde descomprimiste el driver:

$cd CARPETA-DEL-DRIVER

Entra como root, localiza el archivo .inf e ingresa los siguientes comandos:

#ndiswrapper -i bcmwl6.inf
#ndiswrapper -l

Ahora verás un mensaje que dice "driver presente" o "driver instalado", obviamente en inglés. Después ingresa los siguientes comandos:

#ndiswrapper -m
#modprobe ndiswrapper
#echo ndiswrapper >> /etc/modules

Una vez hecho lo anterior, tienes que reiniciar tu sistema. Ahora cuando inicies el sistema otra vez ¡verás que la luz de tu tarjeta de red inalámbrica está encendida!. Ahora verifica que tu tarjeta de red funciona correctamente entrando como root e ingresando el siguiente comando:

#iwlist scanning
VÍA OFFLINE

Primero tendrás que lanzarte a un café Internet o desde tu escuela, trabajo u oficina con acceso a Internet para bajar lo necesario copiarlo en una USB y llevarlo a tu casa. Para instalar ndiswrapper tienes que tener el header del kernel de linux y la librería compat-libstdc++-33, para esto, necesitas bajarte los repositorios (.rpm) kernel-devel, kernel-header y compat-libstdc++-33 correspondientes a la vesión de Fedora que tengas. Los rpm's los puedes buscar y bajar de ésta página. Si no los encuentras aquí, tendrás que "googlear" un rato para encontrarlos. Una vez que los hayas encontrado tienes que bajarte el ndiswrapper el cual lo puedes encontrar en la página oficial del proyecto.

Una vez bajados los rpm's tendrás que instalarlos, ya sea vía instalador de software o en la línea de comandos como root ingresando los comandos:

#rpm -i kernel-devel-version-de-tu-Fedora
#rpm -i kernel-header-version-de-tu-Fedora
#rpm -i compat-libstdc++-33-version-de-tu-Fedora

Con esto habrás instalado los headers necesarios para que ndiswrapper funcione.

Ahora, tienes que descomprimir el archivo ndiswrapper.tar.gz ingresando desde la línea de comandos:

$tar -xzvf ndiswrapper-version.tar.gz

Ahora, como root ingresa el siguiente comando:

#echo blacklist bcm43xx >> /etc/modprobe.d/blacklist

Ahora sólo falta compilar el ndiswrapper, para esto, entra como root e ingresa a la carpeta donde descomprimiste el archivo tar.gz de ndiswrapper:

#cd DIRECTORIO-NDISWRAPPER
#make uninstall
#make distclean
#make
#make install

¡Ahora ya tienes instalado ndiswrapper! Bien, ahora necesitas bajarte el driver proporcionado por el vendedor de tu tarjeta de red inalámbrica. En mi caso, mi tarjeta de red inalámbrica es una Dell wireless 1390 wlan mini-card , así que entré a la página oficial de Dell y bajé el driver (R151520.exe).

De aquí en adelante las instrucciones las haré con base a mi driver, por lo que, donde veas el nombre de mi driver lo tendrás que sustituir por el nombre del driver de tu tarjeta de red inalámbrica.

Una vez que hayas bajado el driver el driver de tu tarjeta inalámbrica, guárdalo en alguna carpeta y después descomprimelo, para esto ingresa el comando:

$unzip R151520.exe

Una vez realizado lo anterior, ingresa a la carpeta donde descomprimiste el driver:

$cd CARPETA-DEL-DRIVER

Entra como root, localiza el archivo .inf e ingresa los siguientes comandos:

#ndiswrapper -i bcmwl6.inf
#ndiswrapper -l

Ahora verás un mensaje que dice "driver presente" o "driver instalado", obviamente en inglés. Después ingresa los siguientes comandos:

#ndiswrapper -m
#modprobe ndiswrapper
#echo ndiswrapper >> /etc/modules


Una vez hecho lo anterior, tienes que reiniciar tu sistema. Ahora cuando inicies el sistema otra vez ¡verás que la luz de tu tarjeta de red inalámbrica está encendida!. Ahora verifica que tu tarjeta de red funciona correctamente entrando como root e ingresando el siguiente comando:

#iwlist scanning
NOTA FINAL

Existen algunos casos en los cuales cuando se ejecutan los comandos ndiswrapper, modprobe e iwlist, el sistema lanza un mensaje de error como este:

[root@localhost carlos]# ndiswrapper -l bash: ndiswrapper: command not found

Si éste es tu caso, entonces corre los comandos directamente desde su origen, es decir, sustituye de la siguiente manera los comandos:

Comando:Sustituir por:
#ndiswrapper#/usr/sbin/ndiswrapper
#modprobe#/sbin/modprobe
#iwlist#/sbin/iwlist