Vinod Kurup

Hospitalist/programmer in search of the meaning of life

Fixing Wireless on eeePC

I have an ASUS eeePC 1000, running Ubuntu 10.10. Wireless worked flawlessly at home, which is where I use it 99% of the time. On our most recent trip, however, it wasn’t working. It couldn’t connect to a WPA-secured network. Here are the relevant error messages:

NetworkManager[770]: <warn> Activation (wlan0/wireless): association took too long.
NetworkManager[770]: <warn> (wlan0): link timed out.
NetworkManager[770]: <warn> Activation (wlan0) failed for access point (linksys)
NetworkManager[770]: <warn> Activation (wlan0) failed.
NetworkManager[770]: <info> (wlan0): deactivating device (reason: 0).

After a little googling on my phone, I found out that others had this problem with the rt2860sta wireless driver. Fortunately, there is a solution, which involved downloading the source code for the latest driver, modifying it a bit and rebuilding the driver. Here are the instructions:

Step 1: Download the driver

Download the latest rt2860sta driver.

Step 2: Rename and extract the downloaded file

Mine was named download.php, but it’s really a tar file:

Liquid error: undefined method `join’ for #<String:0xb6f8eb3c>

Step 3: Apply patch

Step 4: Backup old driver

Liquid error: undefined method `join’ for #<String:0xb6f8e63c>

Step 5: Install and activate new driver

Liquid error: undefined method `join’ for #<String:0xb6f8e358>

Step 6: Fix problems with hibernation

A separate problem is that wireless has been flaky when the computer wakes from hibernation, but it’s also fixable.

Add the following lines to /etc/modprobe.d/blacklist.conf:

blacklist rt2800pci
blacklist rt2800lib
blacklist rt2x00usb
blacklist rt2x00pci
blacklist rt2x00lib

Create a new file called /etc/pm/config.d/unload_wireless with the following line:

SUSPEND_MODULES="rt2860sta"

Reboot and you should have WPA-compatible, hibernatable wireless.

References:

  1. rt2860sta driver installation
  2. Proper hibernation
  3. Ubuntu Forums thread

Comments