WiFi en Linux = Ndiswrapper
Debido a que la mayoria de los Adaptadores USB o tarjetas WiFi no traen controladores para nuestro sistema (como si lo hacen para el de las ventanitas), puede parecer complicado hacer que nuestro Linux levante nuestro conector (adaptador USB en mi caso) y lo tome como un dispositivo de red. Y mas complicado encima hacer que se conecte. Nada mas lejos de la realidad.
Hacer andar nuestro adaptador es casi tan facil como en Windowze. Y digo casi porque antes tenemos que instalar Ndiswrapper (que es MUY facil). Pero para que se entienda todo primero voy a explicar que es Ndiswrapper.
Ndiswrapper nos permite hacer uso de los drivers para Windoze (mejor dicho, hace uso del API delkernel de Windows) y no emulandolos, sino haciendo que trabajen de forma nativa en el sistema del pinguino. Lo unico que necesitamos es el archivo *.INF que se acompaño con todos los drivers de Windoze. Esto a su vez quiere decir que, si bien el programa apunta a hacer funcionar adaptadores usb/tarjetas wifi, puede (en teoria) hacer andar cualquier driver para Windoze de forma nativa en Linux.
Muchas tarjetas estan soportadas. Aca dejo un link a una lista.
Ahora que ya tenemos explicado eso, seguimos con el articulo. A diferencia de casi todos los textos que encontre en internet, voy a presuponer que no tienen todavia conexion (por cable ethernet), es decir como estaba yo que solo podia conectarme desde Windoze (asi que nada de apt-get en este post).
En primer lugar, tienen que bajar el Source (codigo fuente) de Ndiswrapper (aca tengo una mini guia sobre como compilar). O, pueden bajar los paquetes e instalarlos con dpkg -i. Los links son estos:
Una vez instalado ndiswrapper (common y utils, no funciona sin los 2), vamos al directorio donde tenemos descomprimidos los drivers de nuestro Adaptador/Tarjeta WiFi (que en mi caso es un Encore ENUWI-G) y buscamos el archivo *.INF que mencionaba antes. Y escribimos el siguiente comando para instalar el driver:
- benji@MiCaja :~ [...]/Windows XP$ sudo ndiswrapper -i SiS163u.INF
Ahora, para comprobar que este bien instalado escribimos lo siguiente:
- benji@MiCaja:~$ ndiswrapper -l
Installed drivers:
sis163u driver installed, hardware present
Ahora que ya tenemos instalado el driver lo siguiente es probarlo (para asi saber si esta funcionando correctamente nuestro adaptador/tarjeta). Esto lo hacemos con lo siguiente:
- benji@MiCaja:~$ modprobe ndiswrapper
benji@MiCaja:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11FH ESSID:”default”
Mode:Managed Frequency:2.437 GHz Access Point: 00:15:E9:03:3A:4A
Bit Rate:54 Mb/s Tx-Power:17 dBm Sensitivity=0/3
RTS thr:2312 B Fragment thr:2312 B
Power Management:off
Link Quality:100/100 Signal level:-56 dBm Noise level:-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:28838 Invalid misc:9147 Missed beacon:0
sit0 no wireless extensions.
Lo que vemos ahi es la salida en mi maquina. Como remarque, wlan0 es nuestro dispositivo wireless y esta funcionando bien.
Ahora nos falta saber si, ademas de tener andando el adaptador wireless tenemos señal y conexion. Para eso tipeamos el siguiente comando para que busque las redes disponibles:
- benji@MiCaja:~$ iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:15:E9:03:3A:4A
ESSID:”default”
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality:0/100 Signal level:-52 dBm Noise level:-256 dBm
Encryption key:off
Bit Rates:54 Mb/s; 48 Mb/s; 36 Mb/s; 24 Mb/s; 18 Mb/s
12 Mb/s; 11 Mb/s; 9 Mb/s; 6 Mb/s; 5.5 Mb/s
2 Mb/s; 1 Mb/s
Extra:bcn_int=100
Extra:atim=0
Podemos ver que tenemos señal y detectamos redes. Ahora nos resta conectarnos con 2 datos (3 si estamos usando una clave WEP en la red) que sacamos de ahi. Estos son los siguientes:
- ESSID:”default”
- Mode:Managed
El primero es el nombre de la red, el segundo nos indica si estamos usando WEP o no (en mi caso no). Nuesto siguiente paso es agregar la red para despues conectarnos:
- iwconfig wlan0 mode Managed (u Open o Shared si estan usando WEP)
- iwconfig wlan0 key restricted XXXXXXXXXX (si estan usando WEP, sino este paso no es necesario)
- iwconfig wlan0 essid default (cambien default por el nombre de su red)
Ahora, para conectar hay 3 posibles comandos. Segun lo que lei solo tenemos que usar 1, pero yo necesite los 2 primeros (no se porque pero andubo jaja):
- ifconfig wlan0 up
- dhclient wlan0
- dhcpcd wlan0
Prueben si funciona la conexion (entren a cualquier pagina). De ser asi solo nos queda marcar el ndiswrapper como Modulo para que cargue cada vez que inicia Linux:
- benji@MiCaja:~$ sudo ndiswrapper -m
Ahora ya tienen instalado y funcionando su adaptador. Para no tener que acordarse todos los comandos de memoria (o sea desde iwlist wlan0 scan) les recomiendo que se consigan una GUI para eso. Kubuntu trae una por ejemplo que es muy sencilla de usar: Wireless Assistant se llama. Para otros OS (o para GNOME) pueden usar NetworkManager (incluso si no convence Wireless Assistant hay una gui para KDE).
Con esto estan listos. Yo navego barbaro.







Hola
me parecio muy bueno el tutorial q pusiste. Yo tengo un enuwi-g usb de encore igual al tuyo pero no mas no logro hecharlo a andar. Ya intente con el knoppix 3.9, el knoppix 5.1 y el Backtrack(todos sin instalarlos en el disco duro, directamente desde el live cd) pero a la hora de instalar el driver con ndiswrapper -i sis163u.inf me dice:
cannot stat ’sis163u.inf’: No such file or directory /etc/ndiswrapper/sis163u.
Le doy ndiswrapper -l y me muestra:
sis163u invalid driver
Estoy usando el ndisrapper 1.38.
Ojala me puedas ayudar, he estado buscando informacion al respecto pero no logro solucionar el problema.
Comentario por Jorge A. — Marzo 22, 2007 #
Una pregunta, pq veo que te muestra el directorio default. Vos vas al directorio donde estan los drivers de windows del adaptador? (cd /home/user/loquesea). Adentro de donde tenes el archivo .inf (es decir situado en el directorio) hay que ejecutar el comando.
Sino podes hacer [B] ndiswrapper -i /home/user/SiS163u.INF[/B] directamente.
Por otro lado, te recomiendo instales la distribucion, El rendimiento entre una distro live y una instalada es muy diferente (en cuanto a agilidad se refiere).
Saludos. Suerte
Comentario por benji86 — Marzo 23, 2007 #
Asi es, ejecuto el comando en un shell abierto en el directorio q contiene el driver y eso es lo q me despliega. He leido q la version 5.1.1 ha tenido un poco de problemas en cuanto a redes, tu q opinas? Anteriormente habia utilizado la 3.9 q me parecio muy buena pero se me danio el cd. En ese entonces no tenia este wifi usb. Crees q me resulte mejor si utilizo esa version?
Comentario por Jorge — Marzo 24, 2007 #
mira esto es lo q me muestra cuando intento instalar el ndiswrapper:
root@Knoppix:/ramdisk/home/knoppix/Desktop/ndiswrapper-1.38# make
make -C driver
make[1]: Entering directory `/ramdisk/home/knoppix/Desktop/ndiswrapper-1.38/driver’
Can’t find kernel build files in /lib/modules/2.6.19/build;
give the path to kernel build directory with
KBUILD= argument to make
make[1]: *** [prereq_check] Error 1
make[1]: Leaving directory `/ramdisk/home/knoppix/Desktop/ndiswrapper-1.38/driver’
make: *** [all] Error 2
Comentario por Jorge — Marzo 24, 2007 #
Ahi algo que esta faltando para compilar el ndiswrapper. Mejor dicho, el path build no es el default en knoppix pq no lo puede encontrar el compilador, por ende te dice que lo marques con el parametro kbuild.
Comentario por benji86 — Marzo 24, 2007 #
Ya logre que se reconozca, lo hice con el ndiswrapper que trae ya instalado el knoppix 5.1 Ahora lo q me esta dando problemas es conectarme al router. Lo raro es que despues de darle toda la configuracion, ya sea usando iwconfig ssid xxxx enc xxxx etc, etc o con netcard config, parece ser q no me agarra la configuracion pues al darle iwconfig wlan0, no me muestra la configuracion nueva. Ya trate tambien haciendo una coneccion Ad-hoc sin encriptacion y nada.
Aparentemente si esta funcionando ya la tarjeta pues puedo escanear y ver las señales q andan cerca pero de ahi no salgo.
Comentario por Jorge — Marzo 25, 2007 #
Las redes que encuentra te las tiene que mostrar con el comando: iwlist wlan0 scan
Andar tiene que andar. Si en Knoppix tenes kde te recomiendo que probes sino KNetworkManager que anda muy bien.
Comentario por benji86 — Marzo 25, 2007 #
Ya la heche a andar, lo q estaba pasando es que el nombre del driver de la tarjeta tenia letras en mayusculas y no lo estaba teniendo en cuenta. Una vez q me di cuenta de eso ya quedo y funciono bien. Gracias!!!
Comentario por Jorge — Marzo 31, 2007 #
Jaja, suele pasar.
Comentario por benji86 — Abril 1, 2007 #
yo lo instale al encore enuwi-g usb
en suse 10.2
con el ndisrapper creoooooooo 1.25 pero no se rompan la cabeza deben instalarlo desde el yast de suse 10.2
ademas de wirelees tools tambien desde yast
y se a consola como root
y siguen los pasos del post original
lo que yo todavia no puedo es hacer que se conecte al arranque
si se les ocurre algo concreto avisen
Comentario por sergio — Mayo 3, 2007 #
Mira, yo en Kubuntu tengo el KNetworkManager (front end de NetworkManager) que con AutoStart se inicia con la sesion grafica.
Podes hacer un script de bash que te lo tire cada vez que inicias sesion o mismo cuando carga el sistema, proba con init como va con eso (yo habia armado uno pero con Feisty KNetwrok anda bien)
Comentario por benji86 — Mayo 3, 2007 #
OK VEO QUE SALE
GRACIAS
Comentario por sergio — Mayo 4, 2007 #
Hola….yo me acabo de instalar el ubuntu 7.10 y tengo un adaptador usb trendnet TEW-424UB que tambien usa el chip de SIS, intente instalarlo con el ndiswrapper y supuestamente me lo instala pero cuando le doy ndiswrapper -l me pone instaled driver sis163.inf invalid driver o algo asi ya que no estoy desde ubuntu porque al no tener instalado el wireless no tengo internet todavia… no se si habre hecho algo mal…cualquier ayuda les estaré muy agradecido
Saludos
Luis
Comentario por Lddm — Junio 17, 2007 #
Que raro, probablemente tengas un error con las mayusculas (me acuerdo de eso je) en el nombre del INF
Comentario por benji86 — Junio 17, 2007 #
Buen dia yo tengo la misma targeta ENUWI-g de encore he seguido este manual y todo va bien hasta que llego a la parte de poner:
modprobe ndiswrapper
iwconfig
en consola, me aparece esto:
lo no wireless extensions.
eth0 no wireless extensions.
Que puedo hacer???.
Comentario por shivo — Junio 22, 2007 #
Que raro, pq supongo que placa de red seguro tenes y ni siquiera te reconoce eso (eth0).
Cuando vos haces ndiswrapper -l dice que el hardware esta presente?
Creo que el comando era lspci para ver los dispositivos reconocidos por el sistema. Si no lo ves ahi intenta cambiando de puerto USB, la verdad no se me ocurre. Avisa
Comentario por benji86 — Junio 24, 2007 #
Hola. Muy bueno tu tutorial. Me anduvo perfecto en Knoppix 5.1, con una Encore PCI.
¡¡Gracias!!
Comentario por Rodrigo — Junio 27, 2007 #
Jeje, me alegro que haya servido. De nada
Comentario por benji86 — Junio 28, 2007 #
Hola el tuto esta espectacular!!!… pero a mi no me funciona
tengo suse 10.0 que ya viene con el ndiswrapper, instale el driver de mi placa(enugi-g),hasta ahi todo bien, pero despues cuando hago ndiswrapper -l “con la placa conectada” solo me aparece que el driver esta intalado pero no me aparece que el harware esta conectado, es decir que cuando hago iwconfig no me aprece wlan solo :
eth0 no wireless extensions.
sit0 no wireless extensions.
me podrian ayudar, se supone que no soy principiante en linux pero no puedo instalar esta cochina placa, ayudenme plis!!!!!!!
Comentario por Federico — Agosto 31, 2007 #
Probaste cambiando de puerto usb? con el comando lspci lo ves al adaptador? porque si es asi, tendrias que verlo :S
Probaste con una version mas nueva de ndiswrapper? O haciendo un downgrade?
Comentario por Benji — Septiembre 1, 2007 #
si probe cambiando de puerto,si me reconoce el pen drive y la impresora.osea queo es el puerto, tambien hice lsusb pero no aparee nada ya voy a probar haciendo lspci,probe la ultima version del ndiswrapper,lo que se me ocurrio es que puede ser el driver,alguien podria pasarme el driver de ENUWI-G pero que no sea el que esta en la pagina que sea el del cd?, porque no tengo lectora
Comentario por Federico — Septiembre 1, 2007 #
Ahora te agrego y te paso el que uso yo
Comentario por Benji — Septiembre 1, 2007 #
Esta excelente tu tutorial, yo tengo una tarjeta ENPWI-G PCMCIA y siguiendo este tutorial logre instalarla sin ningun problema con Ndiswrappwer 1.47 sobre Fedora Core 7, Gracias
Comentario por noha — Septiembre 11, 2007 #
Jeje me alegro. Cualquier duda, avisame que veo de ayudarte
Comentario por Benji — Septiembre 11, 2007 #
Thanks for sharing
Comentario por Doodee — Febrero 1, 2008 #
Por nada
Comentario por Benji — Febrero 1, 2008 #
Hola y Salu2!!! Gracias por el aporte, deja te digo que yo no sabía como configurar mi tarjeta inalámbrica en Linux y gracias a ti me he dado una idea de como se hace todavía soy algo “newbie” en Linux, manejo Fedora, SUSE, Mandriva y Debian, pero pues gracias a gente como tú los “newbies” nos hacemos usuarios avanzados, cualquier cosa que se te ofrezca me puedes escribir a:
blinderi2eri2@gmail.com
O dejar un comment en:
http://blind-eri2.blogspot.com
Comentario por 8L!nD — Junio 4, 2008 #
Jee me alegro que te haya servido. Siempre es bueno saber que lo que escribis es util para alguien.
Cualquier duda, chifla
Comentario por Benji — Junio 4, 2008 #
Hola sabes que me he leido y hecho todo para conectar mi Wireless USB AWN USB 54MS y no he lo grado que me instale .Me aparece que el harware esta conectado, es decir que cuando hago iwconfig no me aprece wlan solo :
eth0 no wireless extensions.
sit0 no wireless extensions.
El driver me aparece bien conectado pero no me sale Wlan0. ayuda porfa quiero emigrar de windows pero llevo 2 meses sin poder conectar esto.
Comentario por Alberto — Junio 30, 2008 #
Es que la guia es para un adaptador wifi ya teniendo conectada la red adsl.
A vos te falta hacer andar la red
Comentario por Benji — Junio 30, 2008 #
Sabe yo utilizo el adaptador USB de Advantek en Windoze y me funciona perfecto internet el tema es que me instale Ubuntu y no me corre, porfa benji ayudame please
saluds
Comentario por Alberto — Junio 30, 2008 #
En que paso te trabas? Es importante que cuando le mandes ndiswrapper -l te devuelva que el hardware (el adaptador) esta presente.
Comentario por Benji — Julio 1, 2008 #
hola cuando pongo ndiswrapper -l me dice que el driver y hardware esta presente luego con iconfig no me detecna wlan0
Ubuntu 8.04 Advenatek Networks Adapter aun sin internet
saludos
Comentario por Alberto — Julio 13, 2008 #
Lo reconoce y lo pones en modprobe para ver como andaria el modulo antes de iwconfig?
Comentario por Benji — Julio 14, 2008 #