I was having extremely poor wifi performance on Erin's old laptop after moving it to Xubuntu. Specifically, after initially connecting for about 30 seconds, it disconnects and then can no longer see the network. Turns out this is a problem for all machines with this old wifi card and newer Linux distros. You'll know you need this method if you run lspci
and get a line like this: 07:00.0 Network controller: Ralink corp. RT5390 Wireless 802.11n 1T/1R PCIe
These instructions are based on this UbuntuForums post
, this AskUbuntu question/answer
, and this GitHub
Here's how to fix it:
- Make sure you have the kernel sources. I think it's installed standard, though.
- Use git to grab the driver: git clone https://github.com/cnt0/rt5390.git. You may have to install Git as it's not a standard part of Xubuntu.
- Edit rt5390/os/linux/config.mk to ensure the following:
- HAS_ATE=y (no change, it was originally as is)
- HAS_WPA_SUPPLICANT=y (no change, it was originally as is)
- HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y (no change, it was originally as is)
- HAS_ANTENNA_DIVERSITY_SUPPORT=n (the UbuntuForums poster got this wrong for me)
- Each and every CFLAGS entry has added onto the end of it "-Wno-error=date-time". This is what I got from the AskUbuntu forum up there.
- Run make in the rt5390 folder. After a while it will fail with the last step getting permission denied. This is OK.
- Run sudo make to fix the permissions error.
- Run sudo make install to make all the required folders and put the modules in the right places, etc.
- Edit /etc/modules to add the following line: rt5390sta
- Edit /etc/modprobe.d/blacklist.conf and add the following line: blacklist rt2800pci
- Reboot. You'll know it works when you have a ra0 device when you run ifconfig. You may need to restart the network-manager service, but I did not need to. Of course, you'll also know it's working when you can see your wifi networks and connect!