Ubuntu 12.04: how to fix the wifi interface using Ralink RT3090 card

After the issues appeared on previous versions of Ubuntu (related here: Ubuntu 11.10 WIFI problems with RT3090), I have good news for you: it seems that the driver issues has been solved on the new kernel version that the Precise Pangolin version of Ubuntu uses. Although, we need to follow some steps to rise it up:

  1. Check the wireless card status (sudo iwlist scan). You can see on the bottom the printed information on the terminal. For the sake of this tutorial, you must see any WIFI network. If you are not able to see any, maybe you should try another fix, out from this page (here – post #71).
  2. Disable wireless energy management: sudo iwconfig wlan0 power off. You can also remain it disable after reboot as it is explained here.
  3. From this step we will be able to see the different WIFI networks that we have around, We can try to connect through the upper toolbar, using the wireless network manager. The manager will ask the password, but the connection will not succeed.
  4. Using the same energy manager, we must click on the “Disconnect” menu option, and just followed connect again, and retry the connection with the WIFI network.

[EDIT]

Detected some troubles to keep stable the connection, or even to connect (continuously asking for the Wireless password). Nevertheless, I have had some good results that I am going to deeply check:
1) Edition of the file /etc/networks:

sudo gedit /etc/network

This is the current content of that file (wrong content, I know):

#auto lo
#iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wireless_mode Managed
wireless_essid vodafoneE503 key XXXXXXXXXX
wireless_channel auto
wireless_rate 54G
#wpa-conf /etc/wpa_supplicant.conf

After saving the file, you must restart the networking:

sudo /etc/init.d/networking restart

And then, it will be able to connect to the wireless network with a stable speed.

[/EDIT]

After step four, you should get a message “Connection established with Network YourNetwork“. In my case, the speed is quite optimum, as you can see below:

Image

-Terminal output after step 1:

ubuntu@ubuntu:~$ sudo iwlist scan
lo        Interface doesn't support scanning.

wlan0     Scan completed :
Cell 01 - Address: 00:1A:2B:14:12:71
Channel:3
Frequency:2.422 GHz (Channel 3)
Quality=51/70  Signal level=-59 dBm
Encryption key:on
ESSID:"WLAN_D9"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=00000005dbc312a7
Extra: Last beacon: 868ms ago
IE: Unknown: 0007574C414E5F4439
IE: Unknown: 010482848B96
IE: Unknown: 030103
IE: Unknown: 2A0100
IE: Unknown: 2F0100
IE: Unknown: 32080C1218243048606C
IE: Unknown: DD06001018020104
Cell 02 - Address: 64:16:F0:08:E5:04
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=70/70  Signal level=-27 dBm
Encryption key:on
ESSID:"vodafoneE503"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=000000014beec83f
Extra: Last beacon: 600ms ago
IE: Unknown: 000C766F6461666F6E6545353033
IE: Unknown: 010882848B0C12961824
IE: Unknown: 030106
IE: Unknown: 200100
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 2A0104
IE: Unknown: 32043048606C
IE: Unknown: DD180050F2020101020003A4000027A4000042435E0062322F00
IE: Unknown: DD1E00904C334E101BFFFF000000000000000000000000000000000000000000
IE: Unknown: 2D1A4E101BFFFF000000000000000000000000000000000000000000
IE: Unknown: DD1A00904C3406051900000000000000000000000000000000000000
IE: Unknown: 3D1606051900000000000000000000000000000000000000
IE: Unknown: DD0900037F01010000FF7F
IE: Unknown: DD0A00037F04010020000000
IE: Unknown: 0706455320010D14
Cell 03 - Address: 64:16:F0:79:7C:BA
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=51/70  Signal level=-59 dBm
Encryption key:on
ESSID:"Orange-7cba"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=000000045d131b6a
Extra: Last beacon: 668ms ago
IE: Unknown: 000B4F72616E67652D37636261
IE: Unknown: 010882848B0C12961824
IE: Unknown: 030106
IE: Unknown: 0706455320010D14
IE: Unknown: 2A0100
IE: Unknown: 32043048606C
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
IE: Unknown: DD140050F204104A000110104400010210080002018C
Cell 04 - Address: 02:30:B4:C4:58:C0
Channel:12
Frequency:2.467 GHz (Channel 12)
Quality=51/70  Signal level=-59 dBm
Encryption key:on
ESSID:"ONO9392"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=00000252801bb1ea
Extra: Last beacon: 280ms ago
IE: Unknown: 00074F4E4F39333932
IE: Unknown: 010482848B96
IE: Unknown: 03010C
IE: Unknown: 0706455320010D14
IE: Unknown: 2A0100
IE: Unknown: 32080C1218243048606C
IE: Unknown: DD180050F202010100000364000027A4000041435E0061322F00
IE: Unknown: DD050010910400
Cell 05 - Address: 72:A8:E4:4E:2E:A8
Channel:11
Frequency:2.462 GHz (Channel 11)
Quality=63/70  Signal level=-47 dBm
Encryption key:on
ESSID:"vodafone2EA9"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=000001adf40ca534
Extra: Last beacon: 356ms ago
IE: Unknown: 000C766F6461666F6E6532454139
IE: Unknown: 010882848B961224486C
IE: Unknown: 03010B
IE: Unknown: 2A0104
IE: Unknown: 32040C183060
IE: Unknown: 2D1A8E1117FFFF0000010000000000000000000000000C0000000000
IE: Unknown: 3D160B000600000000000000000000000000000000000000
IE: Unknown: 3E0100
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0B05020009127A
IE: Unknown: 4A0E14000A002C01C800140005001900
IE: Unknown: 7F0101
IE: Unknown: DD07000C4304000000
IE: Unknown: 0706455320010D10
IE: Unknown: DD1E00904C338E1117FFFF0000010000000000000000000000000C0000000000
IE: Unknown: DD1A00904C340B000600000000000000000000000000000000000000
Cell 06 - Address: 02:30:B4:C4:58:C1
Channel:12
Frequency:2.467 GHz (Channel 12)
Quality=53/70  Signal level=-57 dBm
Encryption key:on
ESSID:"ONO0607"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=00000252801b8eb1
Extra: Last beacon: 288ms ago
IE: Unknown: 00074F4E4F30363037
IE: Unknown: 010482848B96
IE: Unknown: 03010C
IE: Unknown: 0706455320010D14
IE: Unknown: 2A0100
IE: Unknown: 32080C1218243048606C
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F202010100000364000027A4000041435E0061322F00
IE: Unknown: DD050010910400

eth0      Interface doesn't support scanning.

Advertisements

Ubuntu 11.10: conectarse a red WIFI a través del iPhone (compartir interfaz WIFI)

Una vez superado el problema de mi portatil (Ubuntu 11.10) con la detección de la tarjeta inalámbrica RT3090, y en el proceso de optimización de la misma, he alcanzado otra manera posible de disponer de conexión WIFI: a través de la utilización de un iPhone como punto de acceso (ya sea por USB o Bluetooth) mediante su función “Compartir conexión”.

El objetivo es disponer de un método para poder conectar el portátil a una red WIFI en caso de que exista (como es mi caso) algún problema con la tarjeta de red inalámbrica del equipo. Para ello utilizaremos como pasarela el teléfono (iPhone), que será el que se conecte a la red WIFI local. Podría enfocarse el post a conectarse a través de la red 3G del teléfono, pero esto sería más sencillo (nos ahorramos varios pasos de los siguientes), aunque a su vez la conexión sería más lenta, y habría que vigilar el total de MB utilizados respecto del tope impuesto por nuestro proveedor de servicios de telefonía.

Esta entrada se centra en explicar el proceso para compartir la conexión WIFI del iPhone a través de cable USB, puesto que la conexión a través de bluetooth es sencilla (simplemente es necesario emparejar los dos dispositivos).

Para poder compartir la conexión del iPhone a través de USB es necesario descargar un paquete contenido en un repositorio no estándar de Ubuntu. Lo haremos a través de la introducción de los siguientes comandos en un terminal:

sudo add-apt-repository ppa:pmcenery/ppa
sudo apt-get update

Una vez introducido este repositorio, acudiremos al Ubuntu Software Center, y en la barra de búsqueda introuciremos el texto “iphone”, como se ve en la siguiente imagen:

Pulsaremos el botón de “instalar”.

Tras esto, podemos conectar por USB el iPhone (es recomendable desbloquear el móvil e introducir el código de desbloqueo, por posibles rechazos de la conexión).

Accederemos al menú ajustés del teléfono, y activamos la opción “Compartir Internet”:

Image

Si acudimos al icono de red de la barra de estado, veremos que, como se muestra en la siguiente imagen, el interfaz inalámbrico del teléfono se ha desconectado de la red WIFI, dejando de indicar la red inalámbrica, apareciendo en su lugar la palabra “Activado”. Incluso el icono indicativo de “conectado a WIFI” de la barra de notificaciones del teléfono ya no aparece.

Image

Debemos por tanto entrar de nuevo en los ajustes WIFI y seleccionar la red inalámbrica, pulsando sobre ella.

Image

Una vez hecho esto, sólo nos falta emparejar el ordenador con el teléfono. Para ello, tan sencillo como acudir a la barra de notificaciones de Ubuntu, en la sección de “conexiones de red” y ver como aparece una nueva interfaz de red cableada (en mi caso, Eth1). Pulsamos sobre ella, y listo, ya podremos conectarnos a través de la conexión WIFI del iPhone.

Fuente: Glatelier.org

Ubuntu 11.10: how to change double tap action in a Synaptics touchpad

By default, using a Synaptics touchpad, Ubuntu 11.10 configures double tap as a right-click button. Nothing in this way can be changed through System Settings. All you need to use is the synclient command:

kortax@kortaxubuntu:~$ synclient
Parameter settings:
LeftEdge                = 105
RightEdge               = 2339
TopEdge                 = 63
BottomEdge              = 989
FingerLow               = 24
FingerHigh              = 29
(…)
LBCornerButton          = 0
TapButton1              = 1
TapButton2              = 3
TapButton3              = 2
ClickFinger1            = 1
(…)

The bolded attribute means that double tap is configured to act as a right click. What we need is to change TapButton2 value to 2:

kortax@kortaxubuntu:~$ synclient TapButton2=2

Via: askubuntu.com

Ubuntu 11.10: avoid wireless network energy management

By Default, Ubuntu 11.10, comes with a very awkward energy management policy: when you switch off the power cable or you come from a sleep, the wireless network card turns instantly off. Besides, if your wireless card doesn’t work properly as mine (RT3090), maybe this policy can bring you some unexpected headaches.

The solution is to create a text file, located in /etc/pm/power.d/ and name it wireless:

sudo gedit /etc/pm/power.d/wireless

With the following content:

#!/bin/sh

/sbin/iwconfig wlan0 power off

In addition, it is necessary to give “read” and “write” permissions to all users:

sudo chmod 777 /etc/pm/power.d/wireless

All we have to do now is to reboot. Energy Manager will not disconnect again the WIFI card.

Source: askubuntu.com

Ubuntu 11.10: Problem and fix for RT3090 wireless network card

During the conversion process from Windows to GNU/Linux, I suffered some unexpected and unpleasant configuration problems, related to the WIFI network manager, energy manager and, the most important one, the wireless network card module (driver).

Foreword: computer model and configuration.

  • Device: LG P430 laptop. Wireless WIFI card Ralink RT3090
  • OS: Ubuntu 11.10 Oneiric Ocelot 32 bits

Problem description.

Once installed the OS, the wireless network manager does not recognize the wireless interface, showing a message “no wireless interface”. Linux (3.0.15) uses the rt2800pci module, but the wireless card is unabled.

Using some general commands (through terminal) we obtain additional information about the problem, as seen below:

dmesg | grep rt2 (shows bootlog, filtering to obtain information about rt2800 module):

[   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 (shows possible wireless blockings)

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

iwconfig (wireless network configuration)

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 (lists hardware, filtering network devices)

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

The last command shows the main problem. as we can see, Ubuntu boots turning WIFI interface off, and this restriction is what we need to erase. That is the truly problem, because this operation is harder than expected.

Solution:

Due to this problem, in addition to Ubuntu’s energy manager configuration, I have been forced to fix the trouble more than necessary to know that there is no “standard procedure” to fix it and make it work properly. However, below you can see some possible ideas to try:

  1. Blacklist (sudo gedit /etc/modprobe.d/blacklist.conf) default wireless card modules (each one in one row of the textfile: blacklist rt2800usb rt2800lib rt2x00usb rt2x00lib), reboot and see what happens.
  2. Disconnect interface (sudo ifconfig wlan0 down), reboot, connect (sudo ifconfig wlan0 up) and reboot again.
  3. Avoid possible blockings that can appear during standard OS boot (sudo gedit /etc/rc.local, and add next line: rfkill unblock).
  4. Unmount rt2800 (sudo rmmod rt2800pci) and the rest of the rt2 modules, restart y and “remount” (sudo modprobe rt2800pci).
  5. Install Markus Heberling‘s drivers for the RT3090 card. Download and install through Ubuntu Software Center (note: try both version 1.2.4 and 1.3.7. The first one did not work for me, on the other hand, the other one worked). After the installation, it is necessary to do the first point, so that the Linux kernel uses the new modules during reboot.
  6. If the rest of the points did not work, try to unblacklist the rt2800 module without removing the last installed module, and reboot.
  7. Don’t give up, and go on trying, thinking about other possibilities, or mixing the above points. This is the main thinking when you are using and/or configuring a GNU/Linux OS. More than once, after rebooting, the network interface just begin to work properly, once I repeated any of this known points, or even without doing any operation (or at least the things that I touched). As Iong as I know, this behavior is something that more people through the Internet has experienced with this network card and module.

It is possible that, once unblocked the wireless network interface, data flux can be slower than expected. Once again, it magically begins to improve its performance just over the time, reaching a quite good level, without reaching high levels, but enough to work.

Maybe in the future, when I discover the way to improve the performance through higher levels, I will be encourage to write again about this problem and (I hope) the complete solution. Maybe the path will be oriented through using new Markus Heberling module versions, or downloading, configuring and compilation of the official Ralink drivers.

Ubuntu 11.10: evitar gestión energética de la tarjeta WIFI

Por defecto, Ubuntu 11.10, en una decisión un tanto extraña, configura el gestor energético para que, en caso de desconexión del cable de alimentación del portátil o de hibernación del mismo, se desconecte la tarjeta de red inalámbrica. Esto, unido a problemas como posibles desconfiguraciones o cargas incorrectas de los módulos de la tarjeta puede hacer que se reproduzcan situaciones bastantes frustantes para el usuario una y otra vez.

La solución, crear un fichero de texto en /etc/pm/power.d/ con el nombre wireless:

sudo gedit /etc/pm/power.d/wireless

Con el siguiente contenido:

#!/bin/sh

/sbin/iwconfig wlan0 power off

Se debe modificar los permisos de dicho fichero de texto para que todos los usuarios tengan acceso de lectura y escritura:

sudo chmod 777 /etc/pm/power.d/wireless

Reiniciar y listo, el gestor de energía no volverá a desconectar la tarjeta de red WIFI.

Fuente: askubuntu.com

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.