Ubuntu 11.10: problema y solución para tarjeta inalámbrica WIFI Ralink RT3090

En mi proceso de conversión a GNU/Linux he sufrido una serie de problemas, relacionados con el proceso de compilado e instalación de algunas de mis aplicaciones favoritas, el gestor de redes inalámbricas por defecto, el gestor de energía, y por último y más grave, el módulo (driver) de la tarjeta de red inalámbrica.

Antecedentes. Equipo y configuración.

  • Equipo: portátil LG P430. Tarjeta inalámbrica WIFI Ralink RT3090
  • Sistema operativo: Ubuntu 11.10 Oneiric Ocelot 32 bits

Descripción del problema.

Una vez finalizada la instalación, el gestor de redes inalámbricas no reconoce la tarjeta de red inalámbrica. Utiliza el modulo rt2800pci (por defecto en el kernel Linux) pero no se puede activar la red inalámbrica.

Esta es la salida por pantalla de alguno de los comandos informativos:

dmesg | grep rt2 (muestra el log de arranque, en todo lo relacionado al módulo rt2800):

[   51.443207] phy0 -> rt2800_wait_wpdma_ready: Error – WPDMA TX/RX busy, aborting.
[   51.443220] phy0 -> rt2800pci_set_device_state: Error – Device failed to enter state 4 (-5).
[   53.102225] phy0 -> rt2800_wait_wpdma_ready: Error – WPDMA TX/RX busy, aborting.
[   53.102238] phy0 -> rt2800pci_set_device_state: Error – Device failed to enter state 4 (-5).
[   54.941117] phy0 -> rt2800_wait_wpdma_ready: Error – WPDMA TX/RX busy, aborting.
[   54.941130] phy0 -> rt2800pci_set_device_state: Error – Device failed to enter state 4 (-5).

rfkill list (muestra posibles bloqueos de los dispositivos de transmisión inalámbrica)

0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

iwconfig (muestra configuración inalámbrica de cada interfaz de red)

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:off/any
Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm
Retry  long limit:7   RTS thr:off   Fragment thr:off
Encryption key:off
Power Management:off

lshw -C network (lista hardware, este caso en lo referente al hardware)

*-network DISABLED
description: Wireless interface
logical name: wlan0

En este último comando es en el que observamos el problema. Por lo que parece el Ubuntu arranca con el interfaz wifi deshabilitado, y se debe eliminar esta restricción… y aquí es donde viene el problema, porque esto es algo más complicado de lo que parece. Debido a este problema en conjunto con el anteriormente indicado problema con el gestor de energía, he tenido que “rehabilitar” el interfaz wifi numerosas ocasiones, y tengo que decir que no tengo claro cuál es el procedimiento correcto para hacer que funcione. No obstante, ahí van unas cuantas ideas:

  1. Introducir en la lista negra (sudo gedit /etc/modprobe.d/blacklist.conf) los módulos utilizados por ubuntu por defecto (uno por fila: blacklist rt2800usb rt2800lib rt2x00usb rt2x00lib), reiniciar y volver a arrancar.
  2. Desconectar el interfaz (sudo ifconfig wlan0 down), reiniciar, conectarlo (sudo ifconfig wlan0 up) y reiniciar.
  3. Eliminar los bloqueos que se puedan realizar durante el inicio del sistema operativo (sudo gedit /etc/rc.local, y poner en una línea del fichero de texto rfkill unblock).
  4. Desmontar el módulo rt2800 (sudo rmmod rt2800pci) (igual para el resto de módulos indicados en el punto 1), reiniciar y volver a montar (
    sudo modprobe rt2800pci).
  5. Instalar los drivers mantenidos por Markus Heberling descargar e instalar a través del centro de software de Ubuntu (nota, probar tanto con la versión 1.2.4 como con la 1.3.7. A mi la primera no me funcionó, y en cambio la otra sí que me era operativa). Posterior a esta instalación habrá que realizar el punto 1, para que el kernel utilice los nuevos módulos al arrancar.
  6. Si tampoco ha funcionado el último punto, probar a, sin borrar este modulo recientemente instalado, quitar de la “lista negra” el anterior módulo rt2800pci, y reiniciar.
  7. No os rindáis, y continuad intentándolo si no lo conseguís. Aunque este consejo parezca muy simple, en realidad es lo más parecido que tengo a una solución a este problema, ya que una de las posibilidades es que, en uno de los reinicios del sistema, y sin saber bien que se ha tocado, de repente funcione el interfaz de red inalámbrico. Curioso cuando menos, porque además no soy el único al que le se le ha pasado por la cabeza que la solución sea espontánea.

Posiblemente, una vez conseguido el desbloqueo del interfaz de red, el flujo de datos sea bastante limitado. Curiosamente con el paso de los minutos mejorará, y posteriormente se mantendrá en un nivel notable (sin alcanzar velocidades máximas, aunque suficiente para trabajar con el equipo).

Dejo para otro post la posible optimización del interfaz de red inalámbrica, posiblemente mediante la instalación y correcta configuración del módulo mantenido por Markus Heberling, o mediante la descarga, configuración y compilación de los drivers oficiales para Linux de Ralink.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s