Difference between revisions of "How to install the development version of atk9k"

From ThinkWiki
Jump to: navigation, search
(Configure the kernel)
(Configure the kernel)
Line 31: Line 31:
 
{{kernelconf|CONFIG_NET_SCH_PRIO|[M]|Networking|Networking Options|QoS and/or fair queueing|Multiband Priority Queueing (PRIO)||}}
 
{{kernelconf|CONFIG_NET_SCH_PRIO|[M]|Networking|Networking Options|QoS and/or fair queueing|Multiband Priority Queueing (PRIO)||}}
  
{{kernelconf|CONFIG_MAC80211|[M]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)||}}  
+
 
 +
{{kernelconf|CONFIG_CFG80211|[M]|Networking|Wireless Networking|Improved wireless configuration API||}}
 +
 
 +
{{kernelconf|CONFIG_NL80211|[Y]|Networking|Wireless Networking|Improved wireless configuration API|nl80211 new netlink interface support||}}
 +
 
 +
{{kernelconf|CONFIG_MAC80211|[Y]|Networking|Wireless Networking|Wireless Extensions||}}
 +
 
 +
{{kernelconf|CONFIG_WIRELESS_EXT|[M]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)||}}  
  
 
{{kernelconf|CONFIG_MAC80211_RC_DEFAULT_PID|[Y]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)|Rate control algorithm selection|Default rate control algorithm|PID controller based rate control algorithm||}}
 
{{kernelconf|CONFIG_MAC80211_RC_DEFAULT_PID|[Y]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)|Rate control algorithm selection|Default rate control algorithm|PID controller based rate control algorithm||}}
  
 
{{kernelconf|CONFIG_MAC80211_RC_PID|[Y]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)|Rate control algorithm selection|PID controller based rate control algorithm||}}
 
{{kernelconf|CONFIG_MAC80211_RC_PID|[Y]|Networking|Wireless Networking|Generic IEEE 802.11 Networking Stack (mac80211)|Rate control algorithm selection|PID controller based rate control algorithm||}}

Revision as of 08:47, 30 July 2008

At the time of writing, ath9k will not compile against the current kernel release. Thus, in order to get it running, you will first have to download and compile the wireless testing branch of the current Linux kernel. Once you have that running, you can then install the ath9k driver itself. This how to will outline the entire process without assuming any prior knowledge of git or kernel compilation.

Install git and other stuff

You will need to have git up and running to access both the wireless testing branch, and the ath9k driver itself. Git is the revision control system used for the Linux kernel. Your distribution will most likely have a package for it so install that using aptitude, yum or portage or whatever first. Additionally, compiling your kernel is at a minimum going to require "gcc" and "make" and you're also going to need either the qt3 development libraries to run the x-configuration utilities. The names of these packages and how to install them will vary from distro to distro.

Debian

# aptitude install git-core build-essential kernel-package libqt3-mt-dev

Get the wireless-testing branch

Once you've got git installed, you can follow the linux wireless git-guide and download the wireless testing branch using git-clone.

$ cd /usr/src
$ git-clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

Copy your current kernel's config

This is the part most people are afraid of. However, you use your current kernel's configuration as a baseline to help ease the pain. Most self-respecting distributions keep a copy of your kernel configuration in the /boot directory alongside the kernel itself. If this is not the case, you might find a copy of the kernel config at /proc/config.gz (which will of course need to be gunziped). Whatever the case, you will want to copy the the current config file to /usr/src/wireless-testing/.config

Debian

$ cp /boot/config-`uname -r` /usr/src/wireless-testing/.config

Configure the kernel

Now run

$ make xconfig

You'll likely see som messages in the terminal about unset or unrecognized configuration variables which should be automatically either added or removed respectively. You might want to make sure the following are enabled

QoS and/or fair queueing → Networking Options → [Y]Networking (CONFIG_NET_SCHED)

Multiband Priority Queueing (PRIO) → QoS and/or fair queueing → Networking Options → [M]Networking (CONFIG_NET_SCH_PRIO)

Multiband Priority Queueing (PRIO) → QoS and/or fair queueing → Networking Options → [M]Networking (CONFIG_NET_SCH_PRIO)


Improved wireless configuration API → Wireless Networking → [M]Networking (CONFIG_CFG80211)

nl80211 new netlink interface support → Improved wireless configuration API → Wireless Networking → [Y]Networking (CONFIG_NL80211)

Wireless Extensions → Wireless Networking → [Y]Networking (CONFIG_MAC80211)

Generic IEEE 802.11 Networking Stack (mac80211) → Wireless Networking → [M]Networking (CONFIG_WIRELESS_EXT)

Default rate control algorithm → Rate control algorithm selection → Generic IEEE 802.11 Networking Stack (mac80211) → Wireless Networking → [Y]Networking (CONFIG_MAC80211_RC_DEFAULT_PID)

PID controller based rate control algorithm → Rate control algorithm selection → Generic IEEE 802.11 Networking Stack (mac80211) → Wireless Networking → [Y]Networking (CONFIG_MAC80211_RC_PID)