Configuración wireless en Ubuntu con una tarjeta PCMCIA Linksys WPC54G
Desde hace un par de años utilizo una pequeña red wifi en casa, más que nada para no estar siempre aislado y encerrado en el «cuarto de los ordenadores». Habitualmente suelo trabajar en esa habitación, pero dependiendo de lo que esté haciendo muchas veces prefiero coger el portátil y trabajar tranquilamente desde el salón, para lo que el wifi es una auténtica maravilla. Hasta hace unos meses utilizaba un punto de acceso y tarjeta U.S.Robotics, y Windows XP en el portátil, más que nada porque cuando compré la tarjeta no había posibilidad todavía de configurarla en Linux. El caso es que hace unos meses el punto de acceso murió (descanse en paz) y desde entonces había vuelto a mi anterior vida de ermitaño, pero seguro que ya sabes eso de que una vez que pruebas lo bueno no lo puedes dejar, por lo que echaba bastante de menos lo de poder trabajar de vez en cuando desde otro sitio.
Últimamente he andado bastante liado pero ahora parece que las cosas vuelven a su normalidad, por lo que el pasado sábado me compré un nuevo punto de acceso Linksys, con la correspondiente tarjeta PCMCIA (WPC54G) para sacar el máximo provecho a la red 802.1g.
Como desde hace varios meses vuelvo a tener instalado Linux en el portátil, más exactamente Ubuntu 5.10 Breezy, me he decidido a probar a configurar el acceso wifi con este sistema, y aunque no ha sido tan fácil como esperaba con anteriores experiencias con Ubuntu, al final lo he conseguido. [NOTA: si tienes una versión posterior de Ubuntu lee antes las actualizaciones que figuran al fin del post, sobretodo si tu versión es feisty fawn (7.04) o alguna posterior]. En los siguientes puntos indico paso a paso las acciones que he realizado para conseguirlo. Ten en cuenta que aunque a mi me hayan ido bien estos pasos puedes encontrarte con problemas incluso con el mismo modelo de tarjeta, bien porque tengan distinto fabricante del chip, o porque la configuración de tu sistema sea algo diferente, por lo tanto te recomiendo ante cualquier fallo mirar los log del sistema /var/log/syslog, /var/log/messages y usar el comando dmesg.
- Copiar los drivers windows del CD de instalación de la tarjeta en el equipo, por ejemplo en /home/nombreusuario/linksys. Para copiar los drivers lo que yo he hecho ha sido copiar toda la carpeta \drivers\9x del CD.
- Instalar ndiswrapper-utils, bien con Synaptic o desde consola con
sudo apt-get install ndiswrapper-utils
- Desactivar la conexión de red
sudo ifdown eth0
- Entrar en la carpeta /home/nombreusuario/linksys y ejecutar
sudo ndiswrapper -i lsbcmnds.inf
. Si no existe el archivo lsbcmnds.inf, debería haber otro archivo con esa misma extensión, utilizar el que haya. Nos deberían aparecer varias líneas de información. Con esto lo que hemos hecho ha sido instalar el driver de windows utilizando el wrapper de ndis por encima para hacerlo accesible en Linux. - Probar que el driver se ha instalado correctamente con
sudo modprobe ndiswrapper
, en caso afirmativo no debería mostrar ningún mensaje. - Añadir ndiswrapper al final del archivo /etc/modules para que al reiniciar el equipo se cargue el módulo y tengamos acceso a la tarjeta (sudo vi /etc/modules).
- Editar el archivo (solo en Ubuntu Breezy, no en Dapper) /etc/network/run/ifstate (sudo vi /etc/network/run/ifstate) y añadir una línea con «wlan0=wlan0» (sin las comillas) si no existe, al final del archivo.
- Editar el archivo /etc/network/interfaces (sudo vi /etc/network/interfaces) y añadir una línea con «iface wlan0 inet dhcp».
- Bueno, ahora viene el punto donde más problemas he tenido, hay que ejecutar
sudo iwlist wlan0 scan
para que la tarjeta realice un escaneo y nos diga qué puntos de accesos ve, entre los que debería estar el nuestro, siempre y cuando no le hayamos desactivado el broadcast del ssid. En mi caso este punto me dio bastante guerra diciéndome que el dispositivo no soportaba la opción de «scan», al final reinicié el equipo y me funcionó correctamente. - Para configurar la tarjeta y conectarte al punto de acceso tienes la opción de utilizar directamente el comando iwconfig o el asistente de configuración de red de Ubuntu (Administración>Sistema>Red). Tras configurar la conexión activa el enlace desde el asistente o con
sudo ifup wlan0
. - sudo ndiswrapper -e lsbcmnds
- sudo apt-get install ndiswrapper-utils-1.8
- sudo ndiswrapper -i LSCBCMNDS.inf
Y ya está, con estos pasos ya tenemos una conexión wifi 100% funcional en el portátil, con esto ya puedo moverme libremente por casa y trabajar desde donde me apetezca.
Actualización Ubuntu Dapper
Cambian un par de cosas con esta nueva versión de Ubuntu que ha salido a los pocos días de publicar este post. La primera es referente al punto en el que se indica que hay que modificar el archivo /etc/network/run/ifstate. Este archivo no existe en esta versión, por lo que podemos saltar el punto. La otra diferencia se refiere a que esta nueva versión intenta cargar un módulo que reconoce muchas tarjetas wireless, pero también da algunos problemas. El módulo se llama bcm43xx, si tras hacer todos los puntos anteriores no conseguimos que la tarjeta nos diga que redes detecta, podemos probar a añadir al archivo /etc/modprobe.d/blacklist la siguiente línea con el fin de desactivar el módulo y utilizar el ndis.
blacklist bcm43xx
Actualización Ubuntu Edgy (6.10)
Para variar, Ubuntu vuelve a tener problemas con ndiswrapper en esta nueva versión. Para poder hacer funcionar la tarjeta he tenido que actualizar el ndiswrapper a la versión 1.8.
Actualización Ubuntu Feisty Fawn (7.04)
Si tienes un poco de suerte la instalación de la tarjeta con esta versión de Ubuntu se simplifica mucho. Esta versión de Ubuntu vuelve a tratar de instalar el módulo bcm43xx, y aunque al principio seguramente no funcionará correctamente, es sencillo resolverlo. El problema radica en que este módulo necesita el firmware de la tarjeta para poder funcionar y es posible que éste no venga incluido con los por defecto, por lo que habrá que instalar los firmware.
Lo primero que hay que hacer es instalar el paquete bcm43xx-fwcutter, con sudo apt-get install bcm43xx-fwcutter
. Al instalarlo nos aparecerá una pantalla de configuración preguntándonos si queremos descargar e instalar algunos firmware predefinidos. Debemos responder que sí, con lo que se descargará el archivo y se instalarán los firmware de la tarjeta. El firmware de la tarjeta en cuestión está entre ellos, por lo que será suficiente con hacer sudo modprobe -r bcm43xx
y sudo modprobe -i bcm43xx
, o a lo sumo reiniciar el equipo, para que funcione la tarjeta.
Si la tarjeta te sigue sin funcionar puede que tu firmware no esté entre los predefinidos, puedes mirar la ayuda de bcm43xx-fwcutter para ejecutarlo sobre el archivo .sys que venga con tus drivers de windows.
A mi me fue muy util la página
https://wiki.ubuntu.com/WifiDocs/Driver/Ndiswrapper?action=show&redirect=HowToSetUpNdiswrapper
configuré una tarjeta SMC para Ubuntu pero lo hice todo desde el entorno gráfico con el panel de control correspondiente 🙂
Lo unico es que a veces se me corta la conexión y no he conseguido ver el error de donde viene aunque me da que es por culpa del samba.
Saludos
Excelente información. Me funciono todo super bien.
Gracias.
Decir que en la version 6.06 de Ubuntu me he encontrado con un error en el paso:
Editar el archivo /etc/network/run/ifstate (sudo vi /etc/network/run/ifstate) y añadir una línea con “wlan0=wlan0″ (sin las comillas) si no existe, al final del archivo.
El archivo ifstate no existia.
Omití dicho paso y todo funciona a la perfeccion.
Sí, en la nueva versión de Ubuntu han cambiado algunas cosas, de hecho yo he tenido bastantes problemas para conseguir que mi tarjeta funcione al reinstalar el sistema. El problema en mi caso se debía a que han cargado por defecto un módulo que intenta sustituir al ndiswrapper, pero en mi caso no lo consigue. Para evitar cargar este módulo y poder utilizar lo que indico en el post, he tenido únicamente que añadir al archivo /etc/modprobe.d/blacklist la siguiente línea:
blacklist bcm43xx
Yo tb tengo la nueva versión de ubuntu y no puedo seguir en este paso:
Editar el archivo /etc/network/run/ifstate (sudo vi /etc/network/run/ifstate) y añadir una línea con “wlan0=wlan0″ (sin las comillas) si no existe, al final del archivo.
Al parecer como ha dicho «bitxosalvaje» no hay problema al omitir dicho paso, he aqui mi pregunta:
Mi ubuntu me detecta mi tarjeta wireless (linksys wmp54g) como dispositivo inalámbrico pero como una eth (en mi caso eth2) y no puedo habilitarlo, en cuanto lo hago al entrar de nuevo en propiedades me sale deshabilitado.
Alguien me puede explicar el porque y como solventarlo?
Gracias!
a mi me pasaba exactamente lo mismo, keith. El problema era que no se cargaba el ndiswrapper sino el módulo bcm43xx, prueba la modificación del archivo blacklist que indico en un comentario anterior, a mi me ha funcionado bien.
Me da un error cuando compruebo el driver. Y no consigo hacerlo funcionar el unico paso que no he hecho es el de editar el archivo /etc/network/run/ifstate (sudo vi /etc/network/run/ifstate).
Porfavor ayudaaa 😛
Muchas gracias Patxi!! Me ha funcionado a la perfección lo que me has comentado! 😉
Por cierto sabeis si hay utilidades como el aircrack para xwindow o algun buen manual? Me encanta probar hasta donde puede llegar mi Ubuntu!
De momento ya he dejado de lado el güindous que ya es mucho!:)
Ya hice todos los pasos y no he conseguido nada, mi tarjeta es una Linksys del mismo modelo y probe instalarlo en Xubuntu 6.10, sin ningun resultado por favor ayuda.
Entra en esta página: http://helektron.com/2006/12/10/conecta-tu-wifi-en-ubuntu/
He creado un tutorial, donde explico paso por paso lo que se tiene que hacer para conectar via wifi en ubuntu.
Espero que sea de ayuda.
Un saludo.
Ha sido de gran ayuda la página, yo tengo una ubuntu 7.06 y ha sido relativamente sencillo, ahora mi madre también tiene su ubuntu (no va a pasar por el windows 😀 )
Muchas gracias por la información
hola, ami me funciono muy bien, tengo ubuntu feisty 7.04 amd. Solo tengo un problema, cuando vuelvo a reiniciar ubuntu, aparece apagada mi tarjeta inalambrica. tengo ke abrir la terminal y escribir $sudo modprob bcm43xx
y mi tarjeta inalambrica prende y se conectar. como le hago para ya no tener ke hacer eso y ke mi instalacion kede permanente ???, ojala y me puedan ayudar pls!!
Hola Jose Antonio, prueba a añadir una línea al final del archivo /etc/modules con el nombre del módulo (bcm43xx)
Gracias. Hice los cambios para Feisty Fawn reinicie y milagro, ahora si detectaba la red, así q conecte y listo. (No fue necesario instalar nada mas).
Hola Patxi, instalé EDUBUNTU (Feisty Fawn) en una VAIO PCG-FXA53 (algo viejita) y le compré una tarjeta PCMCIA linksys WPC54G. Seguí tu receta al pie de la letra sin problemas. Muchas gracias. Ahora intentaré una instalación en una TOSHIBA con tarjeta interna Atheros. Espero tu recete ma sirva como guía. Saludos.
Hola a todos. Yo tengo un problema distinto. El modem usb linksys es detectado y tengo internet un tiempo, pero cuando pasa un rato pierdo la conexion y a veces incluso ni reiniciando la recupero. He probado otra wireless distinta por si la mia no funcionara correctamente y da el mismo error. Alguien me cuenta algo.
Salud
Compañeros:
Estan muy buenas las indicaciones, solo que tube que luchar mucho para configuarar una Belkin, Wireless Pre-N, lo LOGRE y «jala» a una velocidad barbara.
Despues de mil reseteos y maldiciones, desistale todo con la opcion -r y empece de nuevo y en la madrugada ya cantando los gallos lo logre, solo que tube que usar el siguiente comando:
sudo ndiswrapper -m
Y despues de eso todo una maravilla, gracias por la ayuda
Jeronimo Venegas Villegas
Costa Rica, rat
Muchas gracias si me sirvio
Me funciono todo a la perfeccion, la instale en una IBM Thinkpad 600E con Ubuntu 7.10… Gracias a usted por su articulo.. muy bueno..
hola tengo una presariocq56-124la le instale ubuntu 10.4 y no funciona el wireless podrias ayudarme