Post

WLAN with Asus Eeepc 1000H and Lucid Lynx

Ubuntu’s latest release “Lucid Lynx” is out for a while now so I decided that this would be the right choice for my netbook “Asus Eeepc 1000H”. I went for the default i386 desktop release as I don’t like the netbook editions. With the help of “UNetbootin” it’s quite easy to create a bootable USB stick from the downloaded iso file. The installation was a peace of cake and if you previously installed Ubuntu somewhere (and even if you didn’t) it should not be a problem. I recommend keeping a wired network connection during installation (and as it shows, you will need it).

Once installed, fully upgrade your system to the latest packages and this might even pull in a new kernel. Then reboot and try to establish a WLAN connection… At least, it failed for me. :-( There seems to be a an upstream bug in Lucid’s kernel which prevents WPA protected WLAN connections to work properly. The solution seems to be installing the latest Ralink RT2860 WLAN driver. I found this workaround at launchpad published by killerbee - thanks for that! (Have a look at post #25 of the bugreport.) So, I will more or less just sum up his advice here.

As installing a new driver means compiling a kernel module, we need to install the following requirement:

1
$ sudo apt-get install build-essential

Next, I recommend to add yourself to the “src” group. (This step is optional, but if you follow this guide to the letter it’s mandatory ;-) ):

1
$ sudo usermod -aG src <USERNAME>

Then logout and in again and download the latest Ralink driver (by the time of writing version 2.3.0.0) for RT2860 from their website (should be the one called “RT2860PCI/mPCI/CB/PCIe(RT2760/RT2790/RT2860/RT2890)”). Once downloaded extract that archive within /usr/src (that’s why you need to be in the “src” group):

1
2
$ cd /usr/src
$ tar xvf /path/to/2010_01_29_RT2860_Linux_STA_v2.3.0.0.tar.bz2

Now we need to edit some files:

  • /usr/src/2010_01_29_RT2860_Linux_STA_v2.3.0.0/os/linux/config.mk:
    • Line 11: change HAS_WPA_SUPPLICANT=n to HAS_WPA_SUPPLICANT=y
    • Line 14: change HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n to HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
  • /usr/src/2010_01_29_RT2860_Linux_STA_v2.3.0.0/common/cmm_wpa.c:
    • Line 2416: change WPA_MIX_PAIR_CIPHER FlexibleCipher = MIX_CIPHER_NOTUSE to WPA_MIX_PAIR_CIPHER FlexibleCipher = WPA_TKIPAES_WPA2_TKIPAES;

Once done, change to the directory of the extracted driver archive and start the compile process:

1
2
3
4
$ cd /usr/src/2010_01_29_RT2860_Linux_STA_v2.3.0.0
$ make #don't need to root privileges!!
$ sudo make install
$ make clean

Now unload the old module and load the new one:

1
2
3
4
5
6
$ sudo ifconfig wlan0 down
$ sudo rmmod rt2860sta
$ sudo mv /lib/modules/`uname -r`/kernel/drivers/staging/rt2860/rt2860sta.ko /lib/modules/`uname -r`/kernel/drivers/staging/rt2860/rt2860sta.ko_bak #just to be on the safe side
$ sudo depmod -a
$ sudo modprobe rt2860sta
$ sudo ifconfig ra0 up

(Notice: with the new driver the interface is now called “ra0”)</blockquote>

This should leave you with a working WLAN which can be configured easily via the network-manager applet. Please remember: you need to compile the driver again with each kernel update!!!

lucid

Again thanks to killerbee, all credits go to him!

This post is licensed under CC BY 4.0 by the author.