Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .



Wireless Card

  • A PCI/miniPCI or Cardbus card with an Atheros chipset.
  • Please refer to Compatibility on which wireless cards are supported by the MadWifi driver.



  • root privileges for the machine on which you intend to install MadWifi.
  • For Debian, Ubuntu and related systems run as root: apt-get install build-essential perl
  • For Red Hat, Fedora and related systems run as root: yum install gcc make perl
  • Generally, make sure you have gcc, libc headers, make and perl


  • Linux Kernel 2.4.23+ and 2.6.x series
    • Others may work, but are unsupported; also, beware if using the very latest release candidate (RC#) kernel as it may not yet be supported
  • Kernel Source and Headers of running kernel (distribution provided kernel development package should be OK)
  • Wireless Extensions support in kernel
    • v14+ required, v17+ recommended; option CONFIG_NET_RADIO=y (kernel 2.6.22 and later: CONFIG_WLAN_80211=y)
  • Sysctl support in kernel
    • option CONFIG_SYSCTL=y
  • Crypto API support in kernel
    • option CONFIG_CRYPTO=y
  • AES support (for WPA networks)
    • option CONFIG_CRYPTO_AES=m

Use cat /boot/config-2.6.26-1-686 grep CONFIG_CRYPTO_AES

Use the kernel config guide to help set these kernel options.

Building the driver

  • gcc -- The same GCC version used to compile the kernel
    • otherwise, "Invalid module format" errors may occur
  • subversion -- If you choose to get the most recent MadWifi code, you'll need to check it out of our Subversion repository.
  • make -- Used to automatically build programs.
  • perl -- Used by Madwifi Makefile to generate code
  • C libraries -- Standard C libraries needed for successful compilation (Type: sudo apt-get install build-essential)
  • madwifi -- Download the latest MadWifi driver.

Configuring the wireless card

  • iwconfig -- Used to connect to a wireless network; often called wireless-tools by distributions.
  • wpa_supplicant -- Used to join a network with WPA encryption; often called wpasupplicant by distributions.

Please check your Linux distribution for more specific information.