-
Notifications
You must be signed in to change notification settings - Fork 54
CompatWirelessBuilding
git clone https://github.com/mcgrof/compat-wireless.git
git clone https://github.com/mcgrof/compat.git
git clone git://github.com/cozybit/open80211s.git
- quilt (for refreshing)
- realpath
Use this script in the directory above:
#!/bin/bash -e
dir=$(realpath $(dirname $0))
export GIT_TREE=$dir/open80211s
export GIT_COMPAT_TREE=$dir/compat
cd compat-wireless
./scripts/admin-update.sh
cd ..
tar cfvj compat-wireless-o11s.tar.bz2 compat-wireless
It is possible that admin-update.sh fails to apply some patches. In this case, run './scripts/admin-update.sh refresh', and use the quilt tool to refresh the compat-wireless patches against open80211s.
- If the hunk that fails applies to a driver that you are not interested in, just delete the hunk from the patch.
- If the entire patch applies to drivers that you are not interested in, delete the entire patch.
Then remember to run ./scripts/driver-select <your_driver_of_interest_here> to avoid running into build errors for other drivers.
A recent build of compat-wireless based on our 0.5 release is available here. Note:This compat-wireless build probably only works with ath9k, ath9k_htc and ath5k drivers. See below on how to build just the ath9k drivers.
compat-wireless is designed to compile on a wide range of kernel versions. We did not test all of them. In fact, we only tested Ubuntu 9.10, 10.04.3 and 10.10
$ cat /etc/issue
Ubuntu 10.04.3 LTS \n \l
$ uname -a
Linux phooey 2.6.31-23-generic #75-Ubuntu SMP Fri Mar 18 18:08:39 UTC 2011 i686 GNU/Linux
$ tar xf compat-wireless-2.6-o11s-0.4.2.tar.bz2
$ cd compat-wireless
$ ./scripts/driver-select ath9k
Processing new driver-select request...
Backing up makefile: Makefile.bk
Backup exists: Makefile.bk
Backup exists: Makefile.bk
Backup exists: Makefile.bk
Backup exists: Makefile.bk
Backing up makefile: drivers/net/wireless/Makefile.bk
Backing up makefile: drivers/net/wireless/ath/Makefile.bk
Backing up makefile: net/wireless/Makefile.bk
Backing up makefile: drivers/ssb/Makefile.bk
Backing up makefile: drivers/bcma/Makefile.bk
Backing up makefile: drivers/misc/eeprom/Makefile.bk
Backup exists: Makefile.bk
$ make
(...)
MODPOST 9 modules
(...)
LD [M] /home/user/compat-wireless/net/wireless/cfg80211.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-23-generic'
$ sudo make install
$ sudo make wlunload
$ sudo modprobe ath9k
If you need to support multiple drivers from different vendors, the driver-select.sh script provided by compat-wireless won't let you do it. A work around:
1. ./scripts/driver-select iwlagn
2. make install
3. edit Makefile:
- install: uninstall install-modules install-scripts
+ install: install-modules install-scripts
4. ./scripts/driver-select ath
5. make install
Test:
6. ls /lib/modules-${KERNEL_VERSION}/updates/drivers/net/wireless/*
And confirm that both drivers show up.
If this works for you, please share your success with the mailing list.