viernes, 2 de abril de 2010

Wireless: instalar drivers RT2870 Y RT3070 en Ubuntu (Linux)

Bien, a lo mejor esto le interesa a un puñadito de gente.

Pero si lo llegas a necesitar lo agradecerás enormemente.

Obviamente, para que te interese tendrías que usar Linux como sistema operativo.

Lo cual sugeriría que eres un tipo/tipa inteligente.

Lo que expondré aquí está probado en Ubuntu 9.10 (Karmic Koala).

Posiblemente sirva también para otras distribuciones.

El caso es el siguiente:

Te compras un adaptador USB Wireless (por ejemplo el D-Link, SMC, Conceptronic o Linksys y muchos otros con chip de Ralink) y te percatas, cagándote en los muertos de los productores de hardware que pasan de los usuarios Linux, que no va, o no trae drivers para Linux.

Puede que tengan drivers para Linux en su web y se puedan descargar. Y sigues cagándote en sus muertos por lo complicado del proceso y muchas veces decepcionante resultado.

La lucecita de tu adaptador Wireless USB sigue sin funcionar y tú sin acceso a Internet.

Estarás tentado a pensar ¡vaya mierda el Linux!... y te equivocarás.

Linux identifica perfectamente la mayoría del hardware y, en el caso de Ubuntu, prácticamente es enchufar y listo.

Pero los adaptadores USB Wireless a veces se resisten.

Y, sin embargo, Ubuntu tiene poderío suficiente como para hacerlos funcionar.

Una solución es usar el programa Nsdiswrapper que te permite usar los drivers de Windows. Pero no te lo aconsejo. El funcionamiento no siempre es todo lo fino que cabría desear. Aún así es una buena solución cuando no hay o no se conoce otra.

Pero ¿sabías que Ubuntu (y Linux en general) contiene infinidad de drivers que sí funcionan con casi todo?

Te lo voy a demostrar.

Vamos a instalar en un minuto el driver para tu adaptador USB Wireless.

1.- Asegúrate que el driver de tu adaptador es el RT2870 o RT3070. Esto lo sabes perfectamente si los drivers que te sugiere la página web del fabricante son esos :-)


2.- Ahora averigua la ID del adaptador. Simplemente lo conectas y tecleas en la consola:

lsusb


Te saldrá algo así:

Bus 002 Device 004: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 002 Device 003: ID 0461:0010 Primax Electronics, Ltd
Bus 002 Device 002: ID 03f0:c302 Hewlett-Packard DeskJet D2300
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 083a:a701 Accton Technology Corp.
Bus 001 Device 006: ID 058f:6366 Alcor Micro Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


El mío es ese que pone Accton Technology Corp. Quédate con los numeritos asociados (083a:a701). Obviamente en tu caso pueden ser otros.

Si dudas cuál es tu adaptador basta que teclees el comando con el adaptador desenchufado y luego lo hagas con el adaptador enchufado.

Ahora sí, desenchufa el adaptador.


3.- Teclea en tu consola o terminal:

echo 'install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "083a a701" > /sys/bus/usb/drivers/rt2870/new_id' | sudo tee /etc/modprobe.d/rt2870sta.conf


Fíjate bien, los numeritos que hay en el medio son los que has averiguado antes, separados por un espacio en vez de ":"

Da igual si el chip de tu adaptador es RT2870 O RT3070 porque vas a usar el controlador rt2870 que funcionará para los dos. Así que no cambies nada más.


4.- Sigue tecleando en el terminal:

sudo modprobe -rf rt2870sta

sudo modprobe rt2870sta

dmesg | egrep 'rt28|usb|Phy'



5.- Conecta el adaptador. Si 6todo ha ido bien ya estará funcionando y el ordenador buscando una red inalámbrica.


6.- Teclea:

iwconfig


Y verás una información parecida a esta:

lo no wireless extensions.

eth0 no wireless extensions.

ra0 RT2870 Wireless ESSID:"R-wlan5D" Nickname:"RT2870STA"
Mode:Managed Frequency=2.462 GHz Access Point: 00:18:9B:05:91:8C
Bit Rate=54 Mb/s
RTS thr:off Fragment thr:off
Link Quality=80/100 Signal level:-61 dBm Noise level:-97 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


La vida es bella.


Pd.- La orden para que se conecte automáticamente al iniciar la sesión está ya puesta, pero por si acaso la repito:

sudo tee /etc/modprobe.d/rt2870sta.conf


*IMPORTANTE:
Si has estado trasteando con drivers descargados o los que venían en el disco del adaptador Wireless tienes que desinstalarlos antes. Entra con la terminal a la carpeta donde tienes el paquete de drivers y teclea en la consola:

sudo make uninstall
sudo make clean


[ACTUALIZACION PARA UBUNTU LUCID LYNX 10.04] Todo lo anterior sirve para Ubuntu Lucid sin embargo me ocurrió que cada vez que reiniciaba no cargaba los drivers y tenía que teclear en la consola
sudo modprobe rt2870sta
Para solucionarlo basta editar el archivo /etc/rc.local

sudo gedit /etc/rc.local


Y agregar sudo modprobe rt2870sta justo antes de la linea que pone exit 0

El archivo te queda así:


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo modprobe rt2870sta
exit 0


Lo guardas y listo.

39 comentarios:

juan antonio dijo...

nada de nada esto sigue como siempre ni si quiera encunentra redes

NievesCastroLara dijo...

Tienes que desinstalar previamente cualquier driver que hayas intentando instalar (incluidos los que se bajan de la web del fabricante). Para mi funcionó (usando Ubuntu 9.4).

Whiskey dijo...

mmm ya desistale mis drivers anteriores que probe pero nada aun no lo logro hacer funcionar y esoty utilizando xubuntu
hay alguna forma de saber si tengo ya todo desistalado?? o como puedo hacer que funcione con los drivers de windows??
Bueno gracias de antemano, sale

NievesCastroLara dijo...

Para usar los controladores de Windows necesitas nsdiswrapper. Mira este tutorial: http://casidiablo.net/instalacion-tarjeta-wireless-linux/

Pero te recomiendo que no tires la toalla. Funcionará mejor si consigues hacerlo con controladores de linux. No uso xubuntu así que te aconsejo que busques en este sitio: http://www.ubuntu-es.org/ y si no encuentras la solución pregunta allí. Te ayudarán. Indica tu versión de Xubuntu, el adaptador y los drivers que utiliza. Verás como lo consigues. Hasta ahora no he conseguido encontrar algo que no funcione en Linux (aunque a veces he tenido que investigar y preguntar mucho) pero luego vale la pena.

Suerte

Abraham dijo...

Muchas Gracias amigo.

Whiskey dijo...

ah ok muchas gracias raza
voy a checar entonces
chido man.

Israel dijo...

muchas gracias por el post. Ya casi había perdido la esperanza...
Me funcionó aunque con un matiz: Uso Ubuntu 10.04 y al volver a conectar el USB y hacer iwconfig, no me salia lo mismo.
Entonces edité el rc.local y reinicé el ordenador. Todo funcionó perfectamente: reconocía las redes que estaban cercanas y después de poner el password de la red, conexión establecida.

Repito, Muchas gracias.

Pablo dijo...

RT3070 L. Hola he seguido los pasos en backtrack 3 usb (Se cargan los rt 2870 aparece la interface ra0 pero a la hora de darle airmon-ng start ra0 me aparece como monitor los driver de rt2500 (solo tengo un adaptador idu-1800mw 18G -Wifly-City... sera buena?). Airodump-ng no me detecta nada. A que se debe o que puedo hacer?... Muchas gracias de antemano

Ambiente Regional dijo...

Hola

Tengo este problema:

- Cuando apago el pc y luego lo vuelvo a prender no toma el dwa-125.

- Pero, si apago el equipo, saco el dwa-125, prendo el equipo, y pongo el dwa-125 se conecta el wifi.


Si alguien me puede ayudar le estaré tremendamente agradecido.

Saludos cordiales,

ppellet

m_vargas85 dijo...

Hola man... Cheque tu tuto y me funciono de maravilla, el problema es que me conecto perfectamente al WEPs pero no logro conectarme a WPA que se usa en mi trabajo, podrias orientarme porque puede ser? sera problema del RT2870? tengo instalado tambien win xp en otra particion y ahi me funciona en todo (WEP y WPA) con el driver de windows

Tiago dijo...

Muito bom!
Funcionou perfeitamente!
Saludos de Portugal!

Thanateros dijo...

tengo ubuntu 10.04 y un adaptador dlink DWA-140 y he hecho lo que sale en esta pagina y no se encience la lucecita ni detecta redesni nada, que puedo hacer ??

k1z3 dijo...

excelente pana a mi me funciono de maravilla.......... encontré tu blog por casualidad pero de verdad funciono yo tengo un alpha AWUS036NH de 2 w lo compre por supuestamente tenia gran alcance pero en el exterior dentro de la casa con un par de paredes no sirve...

Nemo dijo...

buenas,
acabo de comprar la dwa 125, compilando drives q dan, uso fedora, estos pasos tambn sirven?(= los pruebo)
o hay alguna otra forma?

Nemo dijo...

buen dia, los instale pero obtenia Access Point: Not-Associated
no sabia q hacer, asi q me puse a probrar con los drives y la embare, ahora obtengo esto:
$ iwconfig
lo no wireless extensions.

eth0-eth1 no wireless extensions.

eth1 no wireless extensions.

ra0 Ralink STA
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 invalid crypt:0 invalid misc:0uria22

Cosme dijo...

El script /etc/rc.local se ejecuta con los privilegios de usuario root por lo que no es necesario ni recomendable utilizar el comando sudo para ejecutar comando en dicho script.

Es decir, en /etc/rc.local deberías poner sólo "modprobe rt2870sta" y no "sudo modprobe rt2870sta"

Mariangela dijo...

Hola! perdona mi ignorancia pero luego del tutorial no consigo hacer nada de nada. De hecho, no entiendo bien qué hace esta función

echo 'install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "083a a701" > /sys/bus/usb/drivers/rt2870/new_id' | sudo tee /etc/modprobe.d/rt2870sta.conf

Puedes explicármelo? antes de tu tutorial, he seguido este otro http://ohioloco.ubuntuforums.org/showthread.php?t=1285828&page=13 sin embargo tampoco me ha funcionado.

Tengo varias máquinas en ubuntu 10.04 Mi esposo en otra máquina logró hacer funcionar la tarjeta instalando el nuevo kernel pero me da, realmente, mucha pereza hacerlo por ese lado y quisiera encontrar otro modo de hacerlo porque es un procedimiento que deberé repetir en unas 11 máquinas.

Alguna sugerencia?

Básicamente el comportamiento que tiene mi máquina es el siguiente:

1) Aparece el indicador de "redes inalámbricas" pero en estado desactivado
2) si configuro manualmente una red se "conecta" pero de "mentira" es decir no transmite datos.

Pensé que podría ser un tema de privilegios de acceso de usuario, sin embargo no hay ninguna opción desabilitada de acceso a red para el usuario principal de la máquina.

Por ninguna de las dos vías (tu post y el otro) he conseguido que aparezca algo parecido a Ro con el ifconfig o iwconfig ... siempre aparece la wlan y wmaster0

Saludos
Mariangela

Aldo dijo...

Muchas gracias¡

Todo perfecto

cocoloco dijo...

Gracias por el esfuerzo y la dedicación.Perfecto para un manazas.

Jordi Bel dijo...

Muchisiiiimas gracias llevaba meses batallando con drivers instalando y desinstalado. Ha funcionado como un reloj

Uso Ubuntu 10.04

Josep Ma

tequesta dijo...

Muchas gracias!!!

A mi me funcionaba, pero perdía conexión y reconectaba después de un rato ... estuve como una semana urgando por internet hasta que encontré este tutorial que me dio una mano, mil gracias

Probado en Linux Mint 10

Saludos

Dan dijo...

Gracias por esta ayuda!

Ahora he conseguido hacer funcionar el adaptador SWEEX LF153 sobre UBUNTU 10.10 , me daba problemas de conexion intermitente y despues de este tutorial funciona a la perfeccion.

Tengo que añadir que primero probe sobre la Ubuntu 9.10 y no consegui que detectara redes, aconsejo probar con la 10.10 si tienes este mismo problema

Jeison dijo...

Muchas gracias, tengo un DWA 125 con RT2870 y me funciono muy bien, pero cuando reiniciaba el pc, no detectaba la red inalámbricas tenia que escribir "sudo modprobe rt2870sta"
y luego "iwconfig" en terminal, trabajo en ubuntu 9.10 y me causo rareza que decías que solo para ubuntu 10.04 se editaba el archivo /etc/rc.local son "sudo modprobe rt2870sta", pues déjame decirte que también funciona y es necesario al menos para mi cambiar el archivo en ubuntu 9.10. Muchas Gracias perdi mucho tiempo para encontrar la solución.

crisis de egoismo dijo...

Con ubuntu 11.04 tengo que deshabilitar el driver rt2800usb con " rmmod rt2800usb"y a continuacion desconectar el adaptador(dlink dwa-140 revB2)y volver a conectarlo porque se queda como trabado,con la luz encendida fija y entonces conecta sin problemas pero no funciona en modo monitor

meny_hdz dijo...

todo bien solo tengo un problema mas, me aparece como desconectado el adaptador y no me detecta ninguna red alguna solucion para esto??

salu2!!!

meny_hdz dijo...
Este comentario ha sido eliminado por el autor.
Grego dijo...

muchas gracias, me funciono perfecto!!

telkmoni dijo...

!Muchas gracias!
Tu blog me ha servido de mucho,pero querria comentar mi experiencia para ayuda de otros.

Si lo que intentais es instalar un wirlles usb combatible por que la tarjeta wifi de vuestro portatil no es compatible(como las dichosas bcm43xx),no lo podreis hacer estando las 2 enchufadas,tendreis que quitar la del portatil y depues seguir los pasos del nuestro querido bloguero para instalar el modem usb.

Saludos y gracias!

Pauix Superpauix dijo...

Muchisimas gracias!!!!! ha ido perfecto! ^^

Victor Santacana dijo...

Tenia instalado un Ubuntu10 y en su momento hice funcionar la wifi gracias a este tutorial.

Actualice a Ubuntu 11.10 y dejó de funcionar de nuevo la wifi, pero esta vez no consigo volverla a configurar.

Concretamente cuando ejecuto el comando

$ sudo modprobe rt2870sta

me aparece el error

Cannot create /sys/bus/usb/drivers/rt2870/new-id Directory inexistent.

Efectivamente. El directorio /sys/bus/usb/drivers/rt2870 no lo tengo. Ahi tengo los directorios hub, usb, usbfs y usbhid

Si intento crear el directorio desde /sys/bus/usb/drivers con el comando

$ mkdir rt2870

me dice "No se ha podido crear el directorio. El fichero o directorio rt2870 no existe"

También lo he probado con

$ sudo mkdir rt2870

Alguien me puede ayudar ?

Gracias

Sergio Mansilla dijo...

Hola, solo quería darte las gracias, anduvo de lujo la detección de la tarjeta, solo comentar a quienes tengan el wicd como manejador de redes que al crearse una nueva interfaz de red (probablemente wlan0 o similar) deben agregarla a las redes disponibles en "preferencias->configuracion general->interface de red->interface inalambrica" del wicd (escribir la cadena wlan0 o la que corresponda) y presionar aceptar, esto para que el wicd se entere que hay otra interfaz de red. Además deben desinstalar el network-manager para que no les de problemas de encriptación y contraseñas.

Eso, gracias y suerte!!

iceman dijo...

No se que estoy poniendo mal, pero al escribir la orden y dar enter me aparece el simbolo ">"

JOSERAIRIOS dijo...

Que bien, lo he hecho a al primera, llevaba tiempo intentandolo.... y al final he dado con este tuto . Muchas gracias. Ahora voy a reiniciar y a ver si todo va bien. Mil gracias... AH, se me olvidaba, yo hice copiar y pegar, para no tener que escribir todos lo comandos. Jeje , y funciono.

JOSERAIRIOS dijo...

Vaya reiniciando no me guardaba los cambios. Asi que tuve que buscar la manera de poder modificar el archivo rc.local hay que ser superusuario, abri el Terminal, teclee sudo nautilus y entonces es cuando pude modifiacar el archivo ese y guardarlo. Reinicie, y funciono. Tuve que hacer todos los pasos de nuevo, y me funciono.

David Zapata dijo...

Bueno uso Debian Squeeze y en la pagina de Debian esta la solucion, miren es esta: http://wiki.debian.org/rt2870sta Primero segui los pasos para Squeeze y despues descargue firmware ralink, aqui vienen todos los chipset soportados: http://packages.debian.org/squeeze/firmware-ralink tal ves funciona en ubuntu u otras distros. Una cosa tengo instalado XFCE y no me detecta redes wifi con WICD NETWORK MANAGER, solo con "Conexiones de Red" que viene con Gnome 2.

Poli Manson dijo...

hola que tal al teclear sudo modprobe -rf rt2870sta me sale este error
FATAL: Module rt2870sta not found.
uso linux mint 13 maya alguien me puede ayudar

Edgar dijo...

saludos me funciono por fin con este tutorial ya se prende el foco por lo menos pero no tengo conexion al internet el icono de redes se queda escaneando y no me muestra una lista de redes a las cuales acceder, la ingrese manualmente puse todo lo necesario ni asi funciona la conexion, me pueden ayudar con esto?

frondovo dijo...

Alguien con RT2870 consigue cambiar la mac? Si puede, podria por favor indicarme los pasos/drivers que instaló?
Muchas gracias

Eduardo A. Díaz Mesa dijo...

Buenas, estoy teniendo problemas con un USB rt3070 y el reaver. Va perfecto con el Beini pero con el Reaver salen Warnings al intentar asociarse al AP y no consigue probar ningún PIN para el WPS.

Aquí tienen el debate en seguridad wireless, yo me compré una hace unos días y para lo q yo lo quiero no me va de momento:

http://foro.seguridadwireless.net/openwrt/hg556a-usb-wifi-blueway-3w-15dbi-(ralink-3070)

Saludos y gracias