All times are UTC-06:00

Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: Thu Nov 03, 2011 3:33 pm 

Joined: Tue Feb 07, 2006 4:49 pm
Posts: 145
Location: San Antonio, TX
The wireless driver that comes with the Genesi EfikaMX by default is from the staging directory of the kernel sources, and as such, it isn't getting much work. Mainline uses the rt2x00 driver, which tends to work pretty well in testing. Personally I've been using the compat-wireless drivers for a while now, and though occasionally there are issues, for the most part, it works fine. Here is a little mini-guide to building and using it on your system.

First you will need a copy of the kernel sources. There are 2 ways of getting it, either via a tarball from github, or by doing a git checkout. Since we're just going to get rid of it afterwards, we're going to use the tarball method.

Visit and click on the button that says ZIP. This will give us a zip file with the kernel sources in it.

Once this finishes downloading, extract it somewhere on your system. (I chose to put it in ~/sandbox (my playground))
cd ~/sandbox/
unzip /home/steev/Downloads/
Please note that the 8681692 will change based on whatever the committish is when you download the zip file.

Next I make a symlink for the directory since most things expect the kernel sources to be located at /usr/src/linux. We also need a build and source directory in /lib/modules/ so do that now as well.
sudo ln -s /home/steev/sandbox/genesi-linux-legacy-8681692 /usr/src/linux
sudo ln -s /home/steev/sandbox/genesi-linux-legacy-8681692 /lib/modules/
sudo ln -s /home/steev/sandbox/genesi-linux-legacy-8681692 /lib/modules/
We now need to download a copy of compat-wireless. Since I prefer to use a dated tarball, I stay away from the bleeding edge link (also, the bleeding edge tarball requires you to visit the homepage to download it)
wget ... 03.tar.bz2
tar -xf compat-wireless-2011-11-03.tar.bz2
We need to set up the kernel to prepare it for modules to be built.
cd genesi-linux-legacy-8681692
make mx51_efikamx_defconfig
Edit the Makefile and change the EXTRAVERSION from 14.27 to 14.26
And then run
make modules_prepare
Now we go into the compat-wireless sources to build it.
cd ..
cd compat-wireless-2011-11-03
scripts/driver-select rt2x00
sudo make install
Note:we don't want to copy the files manually because there are a lot of them, as well as some other portions that the make install will copy over, for udev support)

In order to get the kernel to not load multiple drivers, we will blacklist that pesky rt2870sta driver so that we get the new rt2x00 driver instead.

edit the file /etc/modprobe.d/blacklist.conf and at the very bottom of the file, add in
blacklist rt2870sta
Save the file, and exit your editor.

Now simply reboot your system, and you're using the compat-wireless drivers, which includes the mac80211 based driver instead of the rt2870sta driver that comes from Ralink.

Things to note: There is no symversions, so there will be some complaints, but we don't enable module versioning in our kernel so this doesn't cause any issue. You can actually build the kernel, on the system this takes roughly 177 minutes, due to the amount of modules that are built to support random hardware out there, so the trade off to me is worth it.

Steev Klimaszewski, Genesi USA Inc.
Senior Software Engineer

Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC-06:00

Who is online

Users browsing this forum: No registered users and 6 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to: Copyright © 2004-2012, Genesi USA, Inc. The Power Architecture and wordmarks and the Power and logos and related marks are trademarks and service marks licensed by
All other names and trademarks used are property of their respective owners. Privacy Policy
Powered by phpBB® Forum Software © phpBB Group