HOWTO: Fix network-related freezing errors with some RealTek wifi adapters
I've noticed quite a few users who are having Ubuntu, or any other Linux distribution lock up whenever they shutdown, stand-by, disconnect from their wireless internet, or even on the login screen. This could be due to conflicting wireless adapter/card drivers. In other words, there's 2 drivers/modules trying to access the same hardware. So whenever something causes the networking system to be turned off (be it shutdown, stand-by or manually disabling it), the system freezes. This guide will aim to fix this issue by removing the extra module and blacklisting it.
Disclaimer: As far as I know, the only conflicting wireless modules are the RT2860s for use on some Realtek/Ralink wireless cards. This might work for other models, but I cannot guarantee it. If you run into a problem along the way, I will try my best to solve it, but this is ultimately your responsibility. If something goes wrong, see the "Part Two: Recovery" section at the end of this guide to reverse the process.
Part One - Removal
Step 1 - Identify your wifi adapter module
Open up a terminal window. By default the key combination is CTRL+ALT+T. Enter this command to list the modules/drivers in use for your hardware and highlight the ones with "rt" in the name:
If it shows something along the lines of "rt2860", your good. We've found the culprit. If not, please either turn back and seek help elsewhere or continue carefully and at your own risk.
Step 2 - Modprobe
Modprobe, basically, is a simple tool included in the Linux kernel that is used to add or remove a module. We need to remove the extra wifi adapter module so our troubles will go away, so we'll go ahead and enter these commands to remove both wifi drivers, then add only one back in.
To remove the first module:
And to remove the second one:
sudo modprobe -rf rt2800pci
Then finally add just one back in:
sudo modprobe -rf rt2800sta
Step 3 - Backup Blacklist
sudo modprobe rt2860sta
Before we blacklist the offending module, I recommend backing up the blacklist file at /etc/modprobe.d/blacklist.conf. To do this, we'll make a copy of the file and put it in the home folder.
Make sure you include that last tilde (~).
sudo cp /etc/modprobe.d/blacklist.conf ~
Step 4 - Blacklist
Now it's time to get rid of this module once and for all. Enter the following command into the terminal:
Step 5 - Restart
blacklist rt2800pci | sudo tee -a /etc/modprobe.d/blacklist.conf
You can do this right? If not do this
And that's it! Hopefully the problem is gone. Thanks for reading this guide. If you have any problems after restarting, or you need to reverse the process, see below.
Part Two - Recovery
Did I screw your computer up? Damn. Here, just follow these instructions.
Step 1 - Un-blacklist
Just take that backup of the blacklist file in you home directory and replace it with the new one with this command:
Step 2 - Un-modprobe
sudo mv ~/blacklist.conf /etc/modprobe.d/
Use this command to add the module back in:
I hope this helped. Any improvements, suggestions, or questions are welcome. Either reply to this thread or PM me.
sudo modprobe rt2800pci
Credit for commands goes to Linuxexperte and her life saving post: https://bugs.launchpad.net/ubuntu/+s...0/comments/103
Last edited by rectec794613; September 2nd, 2011 at 08:45 PM.
Ubuntu is my past, present, and future. Gonna help it take over the world, someday.
System specs: CPU - AMD Phenom II X4 830 @ 3.2GHz | GPU - AMD Radeon HD 6670 | MB - MSI 760GM-P23 | RAM - 4GB DDR3 1366 MHz | OS - Arch, Windows 7