gentoo linux, java, software libre y otras hierbas
nov, 14 2008 - 5:30 pm

Instalar casi cualquier tarjeta Wifi en Linux

Algunas veces se tienen problemas para hacer funcionar las tarjetas de de red wireless en Linux (por cuestiones de drivers). Afortunadamente eso va cambiando poco a poco, y distribuciones como Ubuntu no suelen dar muchos problemas a la hora de reconocer el hardware y utilizar los controladores apropiados.

Para otros casos es posible utilizar una excelente herramienta llamada ndiswrapper. La función de este programa es la de utilizar los drivers que están construidos para funcionar en Windows, y hacerlos funcionar en nuestro querido Linux.

En esta guía intentaré mostrarles detalladamente, cómo es el proceso de instalación de una tarjeta de red inalámbrica utilizando ndiswrapper (al menos de dos maneras, para que tengas más opciones), y por supuesto un ejemplo de la vida real.

Instalación de ndiswrapper

Desde los repositorios…

La instalación de este programa es bastante sencilla, puesto que se encuentra en los repositorios de prácticamente todas las distribuciones. En Ubuntu o Debian basta con ejecutar el comando:

# aptitude install ndiswrapper

Si usas Arch Linux:

# pacman -S ndiswrapper

Desde las fuentes…

Si deseas puedes instalarlo desde el código fuente. Basta con descargarlo desde la página oficial, descomprimirlo, compilarlo e instalarlo:

# tar zvfx ndiswrapper-1.53.tar.gz
# cd ndiswrapper-1.53/
# make
# make install

Uso de ndiswrapper

Puesto que ndiswrapper necesita de los drivers de Windows para instalarlos en Linux, es necesario saber dónde se encuentran (si están en la partición de Windows) o descargarlos. Una vez tengamos los drivers necesitamos el archivo cuya extensión sea .inf. Una vez indentificado ejecutamos el comando:

# ndiswrapper -i ARCHIVO.inf

Hecho esto, el driver queda instalado y solo nos queda crear un alias para cargar el módulo:

# ndiswrapper -m
# modprobe ndiswrapper
Ten en cuenta! Por defecto ndiswrapper crea el archivo /etc/modprobe.d/ndiswrapper que contiene esto: alias wlan0 ndiswrapper. Fíjate que pone wlan0, por lo que si ya tienes una tarjeta de red inalámbrica te daría problemas. Así que, si tienes más de una tarjeta debes cambiar el archivo y poner algo como esto: alias wlan1 ndiswrapper.

Una vez hecho esto, podrás verificar qué drivers tienes instalados y si la tarjeta se encuentra conectada, utilizando el comando:

# ndiswrapper -l

Con lo que obtendrás algo como esto:

wusb54g : driver installed
device (5041:2235) present (alternate driver: p54usb)

Si deseas eliminar el driver, basta con identificar el nombre del mismo y ejectar ndiswrapper con la opción -r. Por ejemplo, para eliminar el driver del ejemplo anterior el comando sería:

# ndiswrapper -r wusb54g

ndisgtk, interfaz gráfica para ndiswrapper

Si no eres muy amigo de la consola, pues deberías intentar aprender… en todo caso, y mientras estudias, puedes utilizar ndisgtk, una herramienta bastante sencilla escrita en Python (pygtk), con la que podrás gestionar fácilmente los drivers de tus tarjetas Wifi.

Su instalación en Ubuntu (por que no está en los repositorios de Arch Linux) es:

# aptitude install ndisgtk

Para usarlo vas a Sistema -> Administración -> Controlador para redes inalámbricas de Windows, y verás algo como esto:

Para instalar un driver, has clic en el botón Instalar nuevo controlador, y selecciona el archivo .inf.

Páginas de esta entrada: 1 2

68 Comentarios | deja el tuyo

7 enlaces entrantes

61 Comentarios en “Instalar casi cualquier tarjeta Wifi en Linux”

  1. maty1206 dice:

    Este tuto está que mola

    Muchas gracias, aunque no utilizo esta tecnología para conectarme a la red mundial, si se agradece.

    Un abrazo

  2. Ram dice:

    Excelente tutorial como siempre, pero si eres un casidiablo en esto ..xD

  3. FaFa dice:

    Hola, me da el siguiente error:
    ERROR while getting interface flags: No such device

    Se supone que el driver esta instalado:
    wg511v2 : driver installed
    device (11AB:1FAA) present

    Gracias por tu ayuda.

  4. Cristian dice:

    Cuando te salga ese error ejecuta:

    dmesg | tail

    Y me muestras que te sale.

    Un saludo!

  5. FaFa dice:

    thinkpad:/home/monge# ndiswrapper -l
    wg511v2 : driver installed
    device (11AB:1FAA) present
    thinkpad:/home/monge# ifconfig wlan0 up
    wlan0: ERROR while getting interface flags: No existe el dispositivo
    thinkpad:/home/monge# dmesg | tail
    [ 49.010767] Bluetooth: RFCOMM TTY layer initialized
    [ 49.010821] Bluetooth: RFCOMM ver 1.8
    [ 56.770425] [drm] Initialized drm 1.1.0 20060810
    [ 56.786630] ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
    [ 56.787056] [drm] Initialized savage 2.4.1 20050313 on minor 0
    [ 56.788801] mtrr: base(0xf2000000) is not aligned on a size(0×5000000) boundary
    [ 56.789743] agpgart: Found an AGP 1.0 compliant device at 0000:00:00.0.
    [ 56.789778] agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode
    [ 56.789836] agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode
    [ 240.608093] pccard: CardBus card inserted into slot 0

  6. FaFa dice:

    Kernel 2.6.26-1-686

    Saludos

  7. Cristian dice:

    FaFa, ¿estás cargando el módulo correctamente?

    modprobe ndiswrapper

    Además, ejecuta esto y pon lo que sale:

    cat /media/disk/etc/modprobe.d/ndiswrapper

    Un saludo!

  8. Daggaz dice:

    Hola. Hum, soy muy nuevo en esto de Linux, pero me está gustando de sobremanera. Intenté esto que dices pero no sé si debo ingresar como una cuenta de “root” o algo así, no sabría como hacer eso.
    Mira, si pongo el código tál cual esto es lo que me da:
    diego@home:~$ aptitude install ndiswrapper
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    Leyendo la información de estado extendido
    Inicializando el estado de los paquetes… Hecho
    Construir la base de datos de etiquetas… Hecho
    E: No se pudo abrir el fichero de bloqueo ‘/var/lib/dpkg/lock’ – open (13 Permiso denegado)
    E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
    diego@home:~$ aptitude install ndisgtk
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    Leyendo la información de estado extendido
    Inicializando el estado de los paquetes… Hecho
    Construir la base de datos de etiquetas… Hecho
    E: No se pudo abrir el fichero de bloqueo ‘/var/lib/dpkg/lock’ – open (13 Permiso denegado)
    E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
    diego@home:~$

    Un saludo, ¡gracias!

  9. Cristian dice:

    Claro, debes estar como root. Intenta así:

    sudo aptitude install ndiswrapper ndisgtk

    Un saludo!

  10. Una pregunta… este programa sirve para cualquier driver de windows, ¿¡Cualquiera!?

    Respondanme pronto, gracias.

  11. Cristian dice:

    Tengo entendido que es solo para drivers de tarjetas wireless.

  12. serji dice:

    hola oye ya hice lo que dices que se haga y ahora? ya esta instalada la tarjeta? o que mas hay que hacer?

  13. jose yamberla dice:

    hola ayudame con esto

  14. Cristian dice:

    Pues si leíste todo, y todo salió bien, ya solo falta utilizar el administrador de redes para conectarte a la red que desees.

    No entiendo cual es tu problema :(

  15. dani dice:

    Una Pregunta, no encuentro el archivo .inf de mi speedtouch 121g wireless, como lo puedo encontrar? Gracias

¡Déjanos tu comentario!