Me sorprendió ver que mi nueva wireless usb no fuera detectada en Ubuntu, y más me sorprendió lo difícil de encontrar la solución.
Así que les comparto los pasos, es una recopilación de varios sitios, aunque solo menciono el último pues fueron muchos y los primeros no ayudaron mucho.
Luego de identificar el chip con lsusb, que me devuelve lo siguiente:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 148f:2070 Ralink Technology, Corp. RT2070 Wireless Adapter
Bus 004 Device 002: ID 04f3:01a4 Elan Microelectronics Corp.
Identifico que se trata del chip rt2070 de Ralink. Le pregunto a San Google, a ver que información me da al respecto y descubro que esta tarjeta es reclamada por dos drivers que trae Ubuntu precargados el rt2800usb y el rt2870sta, este último es el que nos interesa
Hago un lsmod en la consola y me doy cuenta que los dos modulos estan cargados, rt2800usb da conflicto con el rt2870sta. En ubuntu, al menos en mi caso el rt2800usb, hace a conectar pero nunca lo logra. Para efectos de este caso vamos a quitar del todo este modulo y dejar unicamente, co algunas modificaciones el rt2870sta.
Primero que todo apagamos la interfaz wifi, personalmente lo hago ya que al intertar el siguiente paso se me congelaba el sistema si la wifi estaba prendida
Quitamos ambos modulos de la siguiente forma:
sudo rmmod rta2800usb
sudo rmmod rt2870sta
Ahora colocamos el rta2800usb en blacklist para que cuando reiniciemos la computadora este no se carge.
sudo nano /etc/modprobe.d/blacklist.conf
Nos vamos hasta el final del archivo y agregamos las siguientes lineas.
#RT2800USB por conflicto
blacklist rt2800usb
Guardamos ctrl+o y cerramos ctrl+x
Recomiendo que si han estado probando con otros drivers, los pongan en blacklist también para evitar colisiones.
Ahora creamos un archivo de reglas para la tarjeta. Digitamos:
sudo gedit /etc/udev/rules.d/network_drivers.rules
Se nos abre un nuevo archivo de texto y agregamos el texto siguiente:
ACTION==»add», SUBSYSTEM==»usb», ATTR{idVendor}==»148f», ATTR{idProduct}==»2070″, RUN+=»/sbin/modprobe -qba rt2870sta»
Cerramos guardando cambios.
Luego creamos el respectivo archivo de configuracion para que se cargue el modulo
sudo gedit /etc/modprobe.d/network_drivers.conf
Se nos abre un nuevo archivo de texto donde agregamos lo siguiente:
install rt2870sta /sbin/modprobe –ignore-install rt2870sta $CMDLINE_OPTS; /bin/echo «148f 2070» > /sys/bus/usb/drivers/rt2870/new_id
Pasos finales:
Volvemos a levantar la wifi con:
sudo ifconfig wlan0 up
Luego cargamos el modulo ya modificado>
sudo modprobe -i rt2870sta
Listo ya con esto deber’ias tener funcionando la wireless
Sencillo y eficiente, en Debian Squeeze funciona perfecto.