Here are the steps I followed to update the wifi drivers on my Efika MX Smarttop to support packet injection under kernel 2.6.31.14.27-efikamx. This also seemed to provide better connection stability. Should also work for Ubuntu.
Install packages:
Code:
apt-get install build-essential linux-headers-2.6.31.14.27-efikamx git-core
The kernel headers package is missing a directory required to build compat-wireless, so we need to clone the kernel source from git and hackily rectify the problem:
Code:
git clone git://gitorious.org/~brainstorm/efikamx/efika-kernel.git
cp -R efika-kernel/arch/arm/plat-mxc/include/mach /usr/include
Grab and build the latest compat-wireless rtx200 drivers from
http://linuxwireless.org/download/compat-wireless-2.6/ .. I used compat-wireless-2012-05-10 .. Your mileage will vary depending on which version you choose.
Code:
wget
http://linuxwireless.org/download/compa ... 10.tar.bz2
tar xvf compat-wireless-2012-05-10.tar.bz2
cd compat-wireless-2012-05-10
scripts/driver-select rt2x00
make; make install
Now you must blacklist the old rt2870sta driver so it does not load on boot
Code:
echo blacklist rt2870sta >>/etc/modprobe.d/blacklist.conf
Reboot the machine and you will be using the new driver. Works as a normal wireless client, with aircrack-ng, reaver, etc.
If you are running the same kernel I am, and would like to skip most of the above, download the binaries I have built from
http://www.slingfile.com/file/UjvSGas83X . Copy the 'updates' directory to /lib/modules/`uname -r`, run depmod -a, and blacklist the old module.