In one of my last articles I've wrote about excellent Ralink RT3090 Ubuntu driver PPA by Launchpad user Markus Heberling, thanks Markus for your work. Here is the link to this article:
Wireless network Ralink RT3090 Ubuntu driver PPA
Recently I've had to use OpenSuse 11.4 on a laptop with RT3090 wireless network adapter. On OpenSuse you are left with open source drivers that work great but not as good as Ralink proprietary drivers. In this article I'm bringing you OpenSuse 11.04 rpm packages with Ralink RT3090 184.108.40.206 proprietary wireless driver for 32-bit architecture. I'm also providing OpenSuse src.rpm packages you can use to rebuild this driver package for your kernel architecture or kernel version. For this packages I've backported all Markus Heberling Ralink rt3090 driver patches from his Ubuntu RT3090 PPA.
Like I've wrote inside my rt3090 Ubuntu PPA article, first thing to do is to stop open source Ralink kernel module from loading and interfering with our proprietary driver like this. We will also install nano CLI text editor (works on Gnome and KDE and other Linux desktops), open
/etc/modprobe.d/50-blacklist.conf as root like this:
sudo zypper install nano sudo nano /etc/modprobe.d/50-blacklist.conf
We will paste following code at the end of the
# Blacklist conflicting RaLink driver modules blacklist rt2800pci blacklist rt2800lib blacklist rt2x00usb blacklist rt2x00pci blacklist rt2x00lib blacklist rt2860sta
Now we press Ctrl+X to save changes, answer with "Y" to "Save modified buffer" prompt and press enter to accept default file name. Next time we reboot, unwanted open source rt3090 driver module and all conflicting modules will be blacklisted from loading.
Next thing is to download my 32-bit Ralink RT3090 220.127.116.11 driver tarball containing OpenSuse packages by clicking on the following link and to save this tarball on your desktop:
Next we need to decompress our rt3090 driver tarball like this:
cd ~/Desktop tar -xjvf OpenSuse_11.04_rt3090_driver_i586.tar.bz2 cd OpenSuse_11.04_rt3090_driver_i586
Now we need to see what kernel variant are we using ("default", "pae", "xen" or most probably "desktop") using this command:
Output of this command will be something like this:
Last thing is to install rpm packages with rt3090 driver using standard CLI procedure. First we install common part of driver that doesn't depend on your kernel variant:
sudo rpm -Uvh rt3090sta-common-18.104.22.168-0.ak.0.noarch.rpm
Next we install kernel module for our specific kernel variant (we've used
uname -r to find out our kernel variant):
"default" kernel variant
sudo rpm -Uvh rt3090sta-kmp-default-22.214.171.124_k126.96.36.199_0.5-0.ak.0.i586.rpm
"desktop" kernel variant
sudo rpm -Uvh rt3090sta-kmp-desktop-188.8.131.52_k184.108.40.206_0.5-0.ak.0.i586.rpm
"pae" kernel variant
sudo rpm -Uvh rt3090sta-kmp-pae-220.127.116.11_k18.104.22.168_0.5-0.ak.0.i586.rpm
"xen" kernel variant
sudo rpm -Uvh rt3090sta-kmp-xen-22.214.171.124_k126.96.36.199_0.5-0.ak.0.i586.rpm
One important thing to mention is that you will at least need to reinstall these packages after every OpenSuse kernel upgrade. Ideal situation would be that you recompile these packages against future updated kernel versions (these are compiled against 188.8.131.52_0.5-0 OpenSuse kernel version). From my experience OpenSuse kernel updates are not invasive and this driver packages will work fine with any future OpenSuse 2.6.37 kernel revision. If you have 64-bit OpenSuse you will also need to compile your own packages
Introduction into compiling your own rt3090 driver packages (advanced users)
If you know how to compile these packages and you know how to install all dependencies for compiling kernel modules your self, here is the link to the rt3090 184.108.40.206 OpenSuse driver SRPM, with Markus Heberling Ubuntu patches backported by me:
When you've installed all dependencies and rpm build tools you can use something like this command to make rpm for your exact current kernel version:
rpmbuild -- rebuild rt3090sta-220.127.116.11-0.ak.0.src.rpm
If you have 32-bit OpenSuse 11.4 on your PC and you are not advanced user I advise you to use rt3090 OpenSuse 11.4 wireless driver packages I've compiled because they should work with all stable OpenSuse kernel updates (with reinstalling driver packages after every kernel update). OpenSuse is great Linux distribution, I might add. Cheers!
Marko hello. Thank you for all this work. Two questions, please:
+ Does this fix the Bluetooth problem with HP laptops?
I have the HP TouchSmart tm2t. Bluetooth is a known problem with many recent HP laptops that have the Ralink RT3090, but no one seems to have found a cure unless this one offers it.
https://bbs.archlinux.org/viewtopic.php?id=128231 discusses this.
+ Have you revisited this for OpenSuSE 12.1? Does it work there?
Just to ask before going through all this…
Thank you again, Happy New Year!
Oh – one other question –
+ Which module would you recommend for using with the Vanilla kernel?
I have to use the Vanilla kernel to avoid an acpi issue with the display. Despite much experimentation I have only been able to boot the machine with the display working by using vanilla and “acpi=off” in the boot argument:
HP doesn’t do a very good job of supporting Linux…
Kind regards, Andy