Ubuntu – Connection drops out regularly with a Ralink RT2800

12.04ralinkwireless

I'm not sure what's causing the problem, nevertheless, I began to encounter regular wireless disconnections after upgrading to Ubuntu 12.04.1 LTS.

Using System Profiler and Benchmark utility, I've checked if all drivers working as intended. Seems like there is no problem from this perspective.

So, I've decided to go with a temporarily solution by using WICD network manager, some individuals said it keeps the wireless connection stable. – However, not in my case.

Furthermore, I've tried using manual settings for IPv4, instead of using DHCP. (Also disabled IPv6). Performed sudo /etc/init.d/networking restart (temporary fix) …

Also, I tried the backports solution and the ndiswrapper solution – nothing is working.

Including some information for reference:

Hardware information: lshw -C network

*-network description: Ethernet interface

       product: RTL8111/8168B PCI Express Gigabit Ethernet controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: eth0
       version: 01
       serial: 00:1a:4d:52:ee:1d
       size: 10Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm vpd msi pciexpress bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=N/A latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:44 ioport:d000(size=256) memory:e9000000-e9000fff memory:ea300000-ea31ffff

*-network description: Wireless interface

       product: RT2800 802.11n PCI
       vendor: Ralink corp.
       physical id: 0
       bus info: pci@0000:05:00.0
       logical name: wlan0
       version: 00
       serial: 00:0e:2e:e5:56:0c
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rt2800pci driverversion=3.2.0-29-generic-pae firmware=0.34 ip=192.168.0.4 latency=32 link=yes maxlatency=4 mingnt=2 multicast=yes wireless=IEEE 802.11bgn
       resources: irq:20 memory:ea100000-ea10ffff

lspci

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
05:00.0 Network controller: Ralink corp. RT2800 802.11n PCI

For some reason cannot insert result from lspci -vvv in PRE format

iwconfig

     wlan0  

          IEEE 802.11bgn  ESSID:"PRV"  
          Mode:Managed  Frequency:2.422 GHz  Access Point: 00:26:F2:46:50:90   
          Bit Rate=135 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=52/70  Signal level=-58 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:3271  Invalid misc:137   Missed beacon:0

I don't take advantage of network encryption as other connected devices don't support certain types of encryption, hence, instead I've created a MAC access-list and disabled network name broadcasting. (SSID)

Notice the number of invalid misc. Some packets lost in relation with specific wireless operations, how can this be eliminated? + excessive retries.

rfkill list all

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

Modules

Module                  Size  Used by
pci_stub               12550  1 
vboxpci                22882  0 
vboxnetadp             25616  0 
vboxnetflt             27211  0 
vboxdrv               252228  3 vboxpci,vboxnetadp,vboxnetflt
rfcomm                 38139  0 
bnep                   17830  2 
bluetooth             158438  10 rfcomm,bnep
vesafb                 13516  1 
binfmt_misc            17292  1 
snd_hda_codec_realtek   174222  1 
snd_hda_intel          32765  3 
snd_hda_codec         109562  2 snd_hda_codec_realtek,snd_hda_intel
arc4                   12473  2 
snd_usb_audio         101566  2 
snd_pcm                80845  3 snd_hda_intel,snd_hda_codec,snd_usb_audio
rt2800pci              18340  0 
rt2800lib              53264  1 rt2800pci
crc_ccitt              12595  1 rt2800lib
rt2x00pci              14202  1 rt2800pci
snd_hwdep              13276  2 snd_hda_codec,snd_usb_audio
snd_usbmidi_lib        24603  1 snd_usb_audio
rt2x00lib              48805  3 rt2800pci,rt2800lib,rt2x00pci
snd_seq_midi           13132  0 
snd_seq_midi_event     14475  1 snd_seq_midi
mac80211              436455  3 rt2800lib,rt2x00pci,rt2x00lib
snd_seq                51567  2 snd_seq_midi,snd_seq_midi_event
joydev                 17393  0 
snd_rawmidi            25424  2 snd_usbmidi_lib,snd_seq_midi
snd_timer              28931  2 snd_pcm,snd_seq
ppdev                  12849  0 
snd_seq_device         14172  3 snd_seq_midi,snd_seq,snd_rawmidi
nvidia              10962290  40 
cfg80211              178679  2 rt2x00lib,mac80211
parport_pc             32114  1 
psmouse                72919  0 
eeprom_93cx6           12653  1 rt2800pci
serio_raw              13027  0 
snd                    62064  21 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_usb_audio,snd_pcm,snd_hwdep,snd_usbmidi_lib,snd_seq,snd_rawmidi,snd_timer,snd_seq_device
mac_hid                13077  0 
soundcore              14635  1 snd
snd_page_alloc         14108  2 snd_hda_intel,snd_pcm
lp                     17455  0 
parport                40930  3 ppdev,parport_pc,lp
pata_jmicron           12651  0 
usbhid                 41906  0 
hid                    77367  1 usbhid
floppy                 60310  0 
r8169                  56321  0 

Creating a shell script file to reset wireless interface network 'module', didn't help.

#!/bin/sh
service network-manager stop
modprobe -r rt2800pci
modprobe rt2800pci
service network-manager start

If I haven't presented specific information, let me know.

Thank you in advance! 🙂

Best Answer

I actually have the same card so I know where you're coming from. I haven't had any issues surprisingly, as I did in the past.

My suggestion would be to try compiling the compat-wireless drivers from source. You can download from: Linux Wireless - Stable
I recommend using compat-wireless-3.5.4-1-snpc

sudo apt-get install linux-headers-$(uname -r) build-essential
tar jvxf compat-wireless-3.5.4-1-snpc.tar.bz2
cd compat-wireless-3.5.4-1-snpc
./scripts/driver-select rt2x00
make
sudo make install

Then do a reboot.

If that doesn't work I'd try updating the kernel to the latest. I'm on 3.2.0.31.34 without any problems, and I did not need to compile the drivers.

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot now
Related Question