Created
September 13, 2011 02:21
-
-
Save smoser/1213005 to your computer and use it in GitHub Desktop.
dkms and ath_pci madwifi setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# https://gist.github.com/1213005 | |
# | |
svn co http://svn.madwifi-project.org/madwifi/branches/madwifi-0.9.4/ | |
mver="0.9.4" | |
name="madwifi" | |
_outrev=$(cd madwifi-0.9.4 && svn info | grep "^Revision:" | cut -d: -f 2) | |
revno=$(echo $_outrev) | |
vrev="$mver+$revno" | |
kver="$(uname -r)" | |
vlib_d="/var/lib/dkms/${name}/" | |
sudo apt-get update -y </dev/null | |
sudo apt-get install -y subversion dkms linux-headers-${kver} </dev/null | |
mkdir dkms_main_tree dkms_source_tree | |
echo 2.0.0 > dkms_main_tree/dkms_dbversion | |
rsync -a "$name-$mver/" --delete dkms_source_tree/ | |
cat > dkms_source_tree/dkms.conf <<EOF | |
PACKAGE_NAME="${name}" | |
PACKAGE_VERSION="${vrev}" | |
EOF | |
cat >> dkms_source_tree/dkms.conf <<"EOF" | |
CLEAN="make clean" | |
BUILT_MODULE_NAME[0]="ath_pci" | |
BUILT_MODULE_LOCATION[0]="ath" | |
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[1]="ath_hal" | |
BUILT_MODULE_LOCATION[1]="ath_hal" | |
DEST_MODULE_LOCATION[1]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[2]="wlan_acl" | |
BUILT_MODULE_LOCATION[2]="net80211" | |
DEST_MODULE_LOCATION[2]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[3]="wlan_ccmp" | |
BUILT_MODULE_LOCATION[3]="net80211" | |
DEST_MODULE_LOCATION[3]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[4]="wlan" | |
BUILT_MODULE_LOCATION[4]="net80211" | |
DEST_MODULE_LOCATION[4]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[5]="wlan_scan_ap" | |
BUILT_MODULE_LOCATION[5]="net80211" | |
DEST_MODULE_LOCATION[5]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[6]="wlan_scan_sta" | |
BUILT_MODULE_LOCATION[6]="net80211" | |
DEST_MODULE_LOCATION[6]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[7]="wlan_tkip" | |
BUILT_MODULE_LOCATION[7]="net80211" | |
DEST_MODULE_LOCATION[7]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[8]="wlan_wep" | |
BUILT_MODULE_LOCATION[8]="net80211" | |
DEST_MODULE_LOCATION[8]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[9]="wlan_xauth" | |
BUILT_MODULE_LOCATION[9]="net80211" | |
DEST_MODULE_LOCATION[9]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[10]="ath_rate_sample" | |
BUILT_MODULE_LOCATION[10]="ath_rate/sample" | |
DEST_MODULE_LOCATION[10]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[11]="ath_rate_amrr" | |
BUILT_MODULE_LOCATION[11]="ath_rate/amrr" | |
DEST_MODULE_LOCATION[11]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[12]="ath_rate_minstrel" | |
BUILT_MODULE_LOCATION[12]="ath_rate/minstrel" | |
DEST_MODULE_LOCATION[12]="/kernel/drivers/net/wireless" | |
BUILT_MODULE_NAME[13]="ath_rate_onoe" | |
BUILT_MODULE_LOCATION[13]="ath_rate/onoe" | |
DEST_MODULE_LOCATION[13]="/kernel/drivers/net/wireless" | |
MAKE[0]="make modules KERNDIR=/lib/modules/$kernelver" | |
AUTOINSTALL="yes" | |
EOF | |
tar -Scvzf "$name-$vrev-source-only.dkms.tar.gz" \ | |
dkms_source_tree/ dkms_main_tree/ | |
# the 'madwifi-0.9.4+${revno}-source-only.dkms.tar.gz' should be | |
# able to be taken elsewhere | |
## Now, load it to dkms | |
sudo dkms ldtarball --archive=$name-$vrev-source-only.dkms.tar.gz | |
## Now, you can build a debian source package | |
### read /usr/share/doc/dkms/HOWTO.Debian for more info | |
sudo dkms mkdsc -m madwifi -v $vrev | |
## see LP: #928007, you need kver=$(uname -r) | |
sudo dkms remove $name/$vrev -k $kver | |
sudo dkms build $name -v $vrev -k $kver | |
sudo dkms install $name -v $vrev -k $kver | |
# edit /etc/modprobe.d/blacklist-ath_pci.conf to have: | |
blacklist ath5k | |
sudo rmmod ath_pci ath5k | |
sudo modprobe ath_pci | |
## maybe a bug in dkms | |
## after a new kernel upgrade, wifi wasn't present. | |
## I had to: | |
for act in remove build install; do | |
sudo dkms $act madwifi/0.9.4+$revno -k $(uname -r) | |
done | |
----- | |
Bug covering bad ath5k performance in karmic is at [1]. | |
Combined instructions on getting functional driver at [2] with [3] to build | |
dkms. Added script madwifi-ath-speed-down to lower rate on ifup to | |
/etc/NetworkManager/dispatcher.d . | |
I *did* do a 'make install-tools' to put files in /usr/local/bin | |
switched blacklist from ath_pci to ath5k in | |
/etc/modprobe.d/blacklist-ath_pci.conf | |
-- | |
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/439011 | |
[2] http://dimitar.me/?p=616 | |
[3] http://blog.rtg.in.ua/2008/11/madwifi-hal-dkms-mini-how-to.html | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment