Linksys WMP600N Fix for Ubuntu 12.04

Posted: June 15, 2012 in Computers and Internet
Tags: , , , , , ,

The link to the full post on Ubuntu forums is

http://ubuntuforums.org/showthread.php?t=1958059

Here is the meat and potatoes of it, though, for quick reference. Thanks to neilhuang for doing the research and posting it to make available for all. I am reposting here so that I can refer to it quicker if I run into the problem again, and so that others may benefit from it as well. 

Re: Ubuntu 12.04 beta2 issues with Ralink RT2800 PCI loses connection


I [neilhuang] did some of my own research and playing around and I think I found a solution. Long story short, I had to rebuild the drivers and reload them into the kernel. I learned something doing this so I figured I can share the process with you guys. Here goes.

  1. Download the driver from Ralink’s website:
    http://www.ralinktech.com/en/04_supp…ort.php?sn=501
    Click on ra2860 link and download.
  2. Extract the archive using either a combination of bunzip + tar or just use archive manager for ease.
  3. At this point you would have the directory “2010_07_16_RT2860_Linux_STA_v2.4.0.0” extracted. You can view the README_STA file or just follow what I did here.
  4. From the README:
    Quote:
    ** Build for being controlled by NetworkManager or wpa_supplicant wext functions
    Please set ‘HAS_WPA_SUPPLICANT=y’ and ‘HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y’.

    so

    Code:
    vim os/linux/config.mk

    (or gedit)
    and change the two lines accordingly.

  5. run make from the prompt.
    If 5 fails, make sure you have the build-essential package.
    Code:
    sudo apt-get install build-essential
  6. Copy the new dat AND ko file to a directory for safekeeping.
    Code:
    sudo mkdir -p /etc/Wireless/RT2860STA/
    sudo cp RT2860STA.dat  /etc/Wireless/RT2860STA/
    sudo cp os/linux/rt2860sta.ko /etc/Wireless/RT2860STA/
  7. To test to see if this new driver module works, you need to try to insert it into the Kernel and then remove the old one.
  8. Removing old modules:
    Code:
    sudo modprobe -r rt2800pci

    At this point, your wireless network would disconnect. If you want to reconnect using the old module, simply run.

    Code:
    sudo modprobe rt2800pci
  9. Inserting new module:
    Code:
    sudo insmod /etc/Wireless/RT2860STA/rt2860sta.ko
  10. Verify the module is loaded:
    Code:
    neilhuang@neilhuang-desktop:/etc/Wireless/RT2860STA$ lsmod | grep rt
    rt2860sta             864748  1 
    parport_pc             32866  1 
    parport                46562  3 ppdev,parport_pc,lp
  11. At this point, your network-manager should pick up your old Access point and your internet would work again.

    You may want to add this to your kernel so that this new compiled driver would load everytime. 
    I found the instruction from another thread (http://ubuntuforums.org/showthread.php?t=1369806), but it applies here so I’ll show you what I did more in depth than the thread above.

  12. Make a staging area for your wireless driver. Note that 3.2.0-23 may change per kernel update.
    Code:
    sudo mkdir -p /lib/modules/3.2.0-23-generic/kernel/drivers/staging/rt2860
  13. Make a soft link pointing to your made driver.
    Code:
    sudo ln -s /etc/Wireless/RT2860STA/rt2860sta.ko /lib/modules/3.2.0-23-generic/kernel/drivers/staging/rt2860/rt2860sta.ko
    sudo ln -s /etc/Wireless/RT2860STA/RT2860STA.dat /lib/modules/3.2.0-23-generic/kernel/drivers/staging/rt2860/RT2860STA.dat
  14. Re-scan the kernel drivers
    Code:
    sudo depmod
  15. Verify that the driver is now in the list of modprobe:
    Code:
    neilhuang@neilhuang-desktop:/lib/modules/3.2.0-23-generic$ modprobe -l | grep 2860
    kernel/drivers/staging/rt2860/rt2860sta.ko
  16. Blacklist original driver so it doesn’t conflict
    Code:
    sudo vim /etc/modprobe.d/blacklist.conf

    or

    Code:
    gksudo gedit /etc/modprobe.d/blacklist.conf

    Add the following lines:

    Code:
    # Removing old rt2800 buggy generic drivers
    blacklist rt2800pci
  17. Restart your computer and run step 15 again to see it working. And check again with this:
    Code:
    neilhuang@neilhuang-desktop:~$ lsmod | grep 2860
    rt2860sta             864748  1

So just for future reference… I think steps 12-15 may be needed to be repeated per each kernel update. 

Also, note that my card is actually 

TRENDnet TEW-623PI

and according to the wiki I find that I can use the 2860 driver. YMMV so make sure to read up on your individual cards before attempting this.

Leave a comment