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-SA 4.0 by the author.