logo

Siete meses de intentos fallidos en un suspiro
5.4.05


En badopi han sintetizado en un suspiro lo que tardé siete meses, entre descubrir y configurar: que existe un programa llamado ndiswrapper que utiliza los drivers de Windows para hacer funcionar una tarjeta inalámbrica bajo Linux. Este impresionante artículo, redactado por fluflo, debería ser considerado la primera lectura para aquellos que deseen hacer funcionar su red wifi en Linux.

Ndiswrapper facil
Enviado por fluflo el Sat, 20/11/2004 - 01:39.

Como veo que muchos de vosotros estáis últimamente muy aficionados al tema wifi y dado el alto numero de tarjetas que no tienen drivers nativos para linux que aun anda por ahí me he decidido a hacer este mini-tuto. Mas que nada para que aquellos que os enfrentáis a esto por primera vez no perdáis un día para ver como funciona, como me pasó a mi.

Que es ndiswrapper

Pues como su nombre indica es un sistema que nos va a permitir usar los drivers para XP de nuestra tarjeta wifi “envolviendolos” para que puedan funcionar en un kernel linux. Lo mejor es tener una tarjeta con chip prism o atheros, que tienen unos drivers nativos para linux estupendos. Pero si eres un cenutrio como yo, y te han colado una tarjeta con un chip marciano, pues aun hay esperanza.

Que necesitamos.

  • Niswrapper.

Ndiswrapper está compuesto por un módulo del kernel (que usaremos como si fuese el módulo de la tarjeta) y unas utilidades. El módulo viene ya incluido en muchos kernels de las ultimas distribuciones (como ubuntu). Además en el caso de ubuntu basta un apt-get install ndiswrapper-utils para instalar las utilidades. Si ndiswrapper no está incluido en vuestra distro siempre podemos descargar el tar.gz de su página en sourceforge.

Después descomprimimos las fuentes y hacemos un make install como root y ya está. Recordad que necesitaremos las fuentes del kernel que estemos usando.

Bien, pues ya lo tenemos instalado

  • Drivers XP/W2000 de la tarjeta

De normal, y según la documentación de ndiswrapper hay que usar los drivers de XP. Sin embargo en yo uso los de windows 2000 porque una vez que usé los de XP, el portátil se quedó frito, mientras que con los del 2000 funcionaba bien. Podéis intentarlo con ambos. Estos drivers suelen constar de un archivo con extensión .inf y otro con extensión .sys

Instalando los drivers

Nos vamos al directorio donde se encuentren los archivos con los drivers de XP y hacemos como root.

ndiswrapper -i driver.inf

La -i de es install. Lo que hará ndiswrapper es copiar el archivo .sys y crear una configuración para él. La podemos encontrar en /etc/ndiswrapper.

Ahora ya podemos empezar a probar. Si hacemos un ndiswrapper -l, esto nos lista los drivers que tenemos instalados con ndiswrapper y si su hardware está presente o no.

Pues bien. Ahora podemos meter la tarjeta (PCMCIA en mi caso). Podéis hacer ndiswrapper -l para comprobar que la reconoce bien. Seguidamente cargamos el módulo ndiswrapper propiamente dicho (modprobe ndiswrapper). Si ahora miramos en los logs del sistema deberíamos ver como ndiswrapper reconoce la tarjeta.

duran@stich:~ $ cat /var/log/messages |grep ndiswrapper

localhost kernel: ndiswrapper version 0.10 loaded (preempt=yes,smp=no)

localhost kernel: ndiswrapper: using irq 11

localhost kernel: wlan0: ndiswrapper ethernet device 00:80:5a:22:af:48 using driver conrt.sys

localhost kernel: ndiswrapper device wlan0 supports WPA with AES/CCMP and TKIP ciphers

localhost kernel: ndiswrapper: driver conrt.sys (Conceptronic,03/12/2004, 2.02.02.0000) added

Si todo ha funcionado como debiera, solo nos resta hacer un ndiswrapper -m para crear el alias wlan0 ndiswrapper en /etc/modprobe.d/ndiswrapper. Esto hará que cada vez que usemos la interfaz wlan0, se cargue el módulo ndiswrapper. La interfaz se puede levantar normalmente con ifconfig wlan0 up.

Y con esto ya podriamos hacer funcionar la tarjeta.

Recomiendo encarecidamente la visita del wiki de ndiswrapper. Allí se puede encontrar una explicación mas detallada del proceso de instalación, así como la solución a los posibles problemas. Por ejemplo, para aquellos que tengáis Fedora Core. Esta distribución (y las Redhat también) incorporan un parche en su kernel llamado 4K/4S. Esto hace que los drivers de windows no puedan funcionar. Si estáis en este caso, podéis usar los kernels compilados por Linuxant, o recompilar vuestro kernel sin el parche. Además vienen indicaciones para adaptar ndiswrapper a las manías de cada distribución.

Epilogo: Y ahora que.

Aunque igual ya lo sabéis, solo un pequeño comentario sobre un par de comandos para empezar con el mundillo wifi. Si tenéis instaladas las wireless-tools, podeis empezar con:

iwlist wlan0 scan

Os busca las redes a las os podéis conectar, dando información acerca del ESSID, la velocidad del AP, intensidad de la señal, si tiene clave web..etc. En vez de wlan0, igual tenéis otra interfaz wireless (por ejemplo, eth1). Man iwlist para ver que mas cosas puede hacer iwlist.

iwconfig

Este comando es como el ifconfig, pero para ajustar los parametros especiales que tienen las interfaces wireless. Por ejemplo, un

iwconfig wlan0 mode managed essid tal key cual ap any

nos pondría la tarjeta en modo managed y la conectaría a la red con essid tal y con la clave WEP cual (si es que la tiene) haciendo uso de cualquier punto de acceso disponible de esa red.

Y ya lo único que nos quedaría para poder usar la interfaz inalámbrica es obtener una dirección IP, y se hace como en cualquier otra interfaz. La mayoría de los routers/AP nos configurará la interfaz correctamente si lanzamos un cliente de DHCP (dhclient wlan0). Si no es el caso, siempre podemos configurarla a mano con el típico ifconfig wlan0 IP netmask netmask up.

>>Publicado en Categoría: Linux

| Permalink | Enlaces a este artículo | Enviar por correo-e |

Marcadores sociales: Meneame | Fresqui | Facebook | FriendFeed | Google Bookmarks | Yahoo! My Web | Technorati | Twitter | Delicious |

0 Comentarios:

Publicar un comentario

<< Principio


2.0