Increasing performace of rt3090 wifi by removing power save

Write tutorials and howtos in here
There are more tutorials here http://community.linuxmint.com/tutorial/welcome
Forum rules
Do not start a support topic here please. Before you post please read this

Increasing performace of rt3090 wifi by removing power save

Postby honzee on Sun Apr 28, 2013 5:09 am

Hi,
my girlfriend has an asus eee 1001HA netbook with Ralink rt3090 wifi. In previous Ubuntu and Mint distros it was quite simple to make it work. There was also a lot of topics about it. But it took me ages to make it work in Ubuntu 12.10/Mint 14. The wifi actually worked out of box, but connection was slow with frequent drop outs.

rt3090-dkms is not included for ubuntu 12.10 in ppa:markus-tisoft/rt3090...
rt2860sta is not included in 3.x kernel...
ndiswrapper has some weird issues when using Ralink windows drivers...
turning off the wifi power management also did not work...
Code: Select all
sudo iwconfig wlan0 power off


After spending hours of googling I finally found working solution. Tim Felgate on launchpad wrote:
I have applied a solution recommended at http://askubuntu.com/questions/84959/ra ... ot-working which involved changing the settings in /usr/lib/pm-utils/power.d/wireless to disable power management of the wireless card. My network card is rt3090 and the driver is rt2800 as installed from the 12.04 LTS desktop CD (64-bit). This has stopped the drop outs.

In my view, this solution should have very similar effect as "sudo iwconfig wlan0 power off", but iwconfing did not do the trick in my case.

Summary:
Code: Select all
gksudo gedit /usr/lib/pm-utils/power.d/wireless

Change this part:
Code: Select all
case $driver in
ipw2100) iwpriv_ac="set_power 0"
iwpriv_batt="set_power 5"
iwconfig_ac="power on"
iwconfig_batt="power on";;
ipw3945)
iwpriv_ac="set_power 6"
iwpriv_batt="set_power 7";;
iwl*) if [ -f "/sys/class/net/$1/device/power_level" ]; then
iwlevel_ac=0
iwlevel_batt=3
else
iwconfig_ac="power off"
iwconfig_batt="power on"
fi;;
*) iwconfig_ac="power off"
iwconfig_batt="power on";;
esac

to:
Code: Select all
case $driver in
        ipw2100) iwpriv_ac="set_power 0"
            iwpriv_batt="set_power 0"
            iwconfig_ac="power on"
            iwconfig_batt="power on";;
        ipw3945)
            iwpriv_ac="set_power 6"
            iwpriv_batt="set_power 6";;
        iwl*) if [ -f "/sys/class/net/$1/device/power_level" ]; then
                 iwlevel_ac=0
                 iwlevel_batt=0
              else
                 iwconfig_ac="power off"
                 iwconfig_batt="power off"
              fi;;
        *) iwconfig_ac="power off"
           iwconfig_batt="power off";;
    esac


Tested on Asus EEE 1001HA.

EDIT: Connection is much better but still not reliable enough. Scroll to my next post in this topic :arrow:

Useful sources:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/888227
https://answers.launchpad.net/ubuntu/+source/gnome-nettool/+question/214342
http://www.tech-juice.org/2011/10/02/fixing-ralink-3090-wireless-problems-on-linux/
Last edited by honzee on Sun Apr 28, 2013 11:24 am, edited 2 times in total.
honzee
Level 1
Level 1
 
Posts: 7
Joined: Sat Mar 16, 2013 6:58 am

Linux Mint is funded by ads and donations.
 

Re: rt3090 wifi

Postby catweazel on Sun Apr 28, 2013 5:24 am

Great write-up. Thanks. It'll come in handy for a few users.
Mint Testing Team & Mint Donor #3606
KDE 4.12.0, custom preemptive kernel 3.12.5,
Intel i7 4770K @ 4.7GHz, 16GB 2666MHz XMP,
4 Samsung 840 PRO 512GB SSDs in RAID0,
6TB HW RAID10, dual 24" Acer X243H,
Gigabyte nVidia GTX 680 Super Overclock
User avatar
catweazel
Level 7
Level 7
 
Posts: 1656
Joined: Fri Oct 12, 2012 9:44 pm

Re: rt3090 wifi

Postby viking777 on Sun Apr 28, 2013 6:36 am

sudo iwconfig wlan0 power off", but iwconfing did not do the trick in my case.


iwconfig has been superseded by iw, so the relevant command now is probably:

Code: Select all
sudo iw wlan0 power_save off


BTW I have moved your topic to the 'How to' section and altered the title a little to make it clearer what it is about.
Fujitsu Lifebook AH532. Intel i5 processor, 6Gb ram, Intel HD3000 graphics, Intel Audio/wifi. Realtek RTL8111/8168B Ethernet.Lubuntu 13.10,Ubuntu12.10 (Unity), Mint16 (Cinnamon), Manjaro (Xfce).
Image
User avatar
viking777
Level 14
Level 14
 
Posts: 5153
Joined: Mon Dec 01, 2008 11:21 am

Re: Setting rt3090 wifi power save mode

Postby honzee on Sun Apr 28, 2013 11:02 am

rt2800 with power save mode off is much better then with psm on, but connection i still not as reliable as before. After other research i have to say that the best way is to compile original driver from Ralink - no problems with connection strenght and speed. It has only one disadvantage - driver MUST BE REBUILT after every kernel update.

Steps to build original driver:

1) Blacklist default rt2800 drivers
in terminal run:
Code: Select all
gksudo gedit /etc/modprobe.d/blacklist.conf

and add these lines to the end of file:
Code: Select all
blacklist rt2800pci
blacklist rt2800lib
blacklist rt2x00usb
blacklist rt2x00pci
blacklist rt2x00lib

save and close file

2) Download RT3090PCIe linux driver from Ralink
http://www.mediatek.com/_en/07_downloads/01_windows.php?sn=501

3) Unpack the drive and modify following files (post #71 from rodhull http://ubuntuforums.org/showthread.php?t=1849602&page=8)
in the file ../common/cmm_wpa.c :
Code: Select all
UCHAR PrimaryRsnie;
  BOOLEAN bMixCipher = FALSE; // indicate the pairwise and group cipher are different
  UCHAR p_offset;
- WPA_MIX_PAIR_CIPHER FlexibleCipher = MIX_CIPHER_NOTUSE; // it provide the more flexible cipher combination in WPA-WPA2 and TKIPAES mode
+ WPA_MIX_PAIR_CIPHER FlexibleCipher = WPA_TKIPAES_WPA2_TKIPAES; // it provide the more flexible cipher combination in WPA-WPA2 and TKIPAES mode


in the file ../os/linux/config.mk :
Code: Select all
HAS_GREENAP_SUPPORT=n
 #Support MAC80211 LINUX-only function
-HAS_CFG80211_SUPPORT=y
+HAS_CFG80211_SUPPORT=n

 #Support RFKILL hardware block/unblock LINUX-only function
 HAS_RFKILL_HW_SUPPORT=y


Modifications are required because driver is designed for old kernel 2.6.x...

4) Open terminal in driver root folder and run:
sudo make clean; sudo make; sudo make install


5) Restart computer and enjoy reliable wifi with full speed :wink:

Ubuntu team unfortunately does not have reliable working solution these days...

Resources:
http://ubuntuforums.org/showthread.php?t=1849602&page=8
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/896582
Last edited by honzee on Sun Apr 28, 2013 11:20 am, edited 3 times in total.
honzee
Level 1
Level 1
 
Posts: 7
Joined: Sat Mar 16, 2013 6:58 am

Re: rt3090 wifi

Postby honzee on Sun Apr 28, 2013 11:08 am

viking777 wrote:
sudo iwconfig wlan0 power off", but iwconfing did not do the trick in my case.


iwconfig has been superseded by iw, so the relevant command now is probably:

Code: Select all
sudo iw wlan0 power_save off


BTW I have moved your topic to the 'How to' section and altered the title a little to make it clearer what it is about.


Thanks for moving the topic. The title is unfortunately inexact, because its about increasing the performance of rt3090 wifi. It should be something like "Increasing performace of rt3090 wifi" or "Better performance rt3090 wifi". Sorry for my english :)
honzee
Level 1
Level 1
 
Posts: 7
Joined: Sat Mar 16, 2013 6:58 am

Re: Increasing performace of rt3090 wifi by removing power s

Postby viking777 on Sun Apr 28, 2013 12:09 pm

The title is unfortunately inexact


OK I changed it again, hope that is better.

BTW it is your thread, you can alter the title yourself if you want to - I won't be offended :D
Fujitsu Lifebook AH532. Intel i5 processor, 6Gb ram, Intel HD3000 graphics, Intel Audio/wifi. Realtek RTL8111/8168B Ethernet.Lubuntu 13.10,Ubuntu12.10 (Unity), Mint16 (Cinnamon), Manjaro (Xfce).
Image
User avatar
viking777
Level 14
Level 14
 
Posts: 5153
Joined: Mon Dec 01, 2008 11:21 am

Re: Increasing performace of rt3090 wifi by removing power s

Postby ar3700 on Tue Jun 11, 2013 6:15 pm

Great thread, very useful. I wish I had known all this stuff 7 months ago. I have been struggling with horrible wifi on my RT3090 since November 2012 when I loaded Mint on my Acer Nettop. I also tried Lubuntu but it also doesn't work with the RT3090. It was so frustrating I almost gave up on Linux but I finally just replaced the wifi card with a ThinkPenguin wifi card which works perfectly.
ar3700
Level 1
Level 1
 
Posts: 21
Joined: Wed Dec 19, 2012 2:19 am

Re: Increasing performace of rt3090 wifi by removing power s

Postby maio on Sun Jan 05, 2014 1:21 pm

I'm the same situation of honzee,
but my network manager doesn't see any networks,

I'll try installing the orignial drivers like you suggest ......
maio
Level 1
Level 1
 
Posts: 1
Joined: Sun Jan 05, 2014 11:24 am

Linux Mint is funded by ads and donations.
 

Return to Tutorials / Howtos

Who is online

Users browsing this forum: No registered users and 9 guests