Madwifi
Contents
Multiband Atheros Driver for WiFi
Linux driver for 802.11a/b/g universal NIC cards - Cardbus, PCI, or miniPCI - using Atheros chip sets.
The following adapters sold by IBM use the Atheros chips:
- IBM Dual-Band 11a/b Wi-Fi Wireless Mini PCI Adapter
- IBM 11b/g Wireless LAN Mini PCI Adapter
- IBM 11a/b/g Wireless LAN Mini PCI Adapter
- IBM 11a/b/g Wireless LAN Mini PCI Adapter II
- ThinkPad 11a/b/g Wireless LAN Mini Express Adapter
- IBM 802.11a Wireless LAN Cardbus Adapter
- IBM 11 a/b/g Wireless Cardbus Adapter
Project Homepage
http://www.madwifi.org (old page: http://sourceforge.net/projects/madwifi)
Packages
- Official Debian packages in the non-free section. See also the Alioth project page and the Madwifi wiki.
- Debian Packages: http://www.marlow.dk/site.php/tech/madwifi
- Debian Packages: http://www.users.tpg.com.au/sigm/misc/madwiki.txt
- Fedora Packages(1): http://rpm.livna.org
- Fedora Packages(2): http://www.atrpms.net/name/madwifi/
- Gentoo ebuild:
$ emerge net-wireless/madwifi-driver net-wireless/madwifi-tools
- SUSE Packages http://www.madwifi.org/suse/
- Ubuntu Package:
$ sudo apt-get install linux-restricted-modules-`uname -r`
- MadWifi packages and source for these and other distributions
Source
Detailed instructions can be found on the MadWiFi Wiki.
- Daily snapshots: http://snapshots.madwifi.org/
- madwifi-ng:
$ svn checkout http://svn.madwifi.org/trunk madwifi-ng
- madwifi-old:
$ svn checkout http://svn.madwifi.org/branches/madwifi-old madwifi-old
Installation
- Make sure that you've got sysctl support and the net/radio enabled (wireless extensions) in your kernel. Install the driver with make & make install
- further more you like to install the wireless tools from wireless tools. Make sure the versions fit together by
$ iwconfig --version
Setting up wpa_supplicant with wpa-psk.
You can enable the wireless LAN status LED on your Thinkpad by following these instructions (tested on Thinkpad x60s).
Status
in development, usable
OpenSource HAL
The "official" driver consists of an opensource wrapper with binary HAL (Hardware Abstraction Layer). This HAL is not a binary firmware like with the Intel Wireless chips, but a piece of code that needs to runs in the Linux kernel.
The vendors reasoning behind this is, that since the Atheros chip could be tuned to any frequency, and hence interfere with systems operating in those frequencies, that we simply need to accept this binary module.
Obviously this binary HAL is unacceptable to the Linux kernel developers, and the Atheros driver in this state will never become part of the official kernel.
Some OpenBSD developers facing the same issue, reverse engineered the binary HAL and have produced an OpenSource version. Hopefully a driver based on this might be included with the Linux kernel at some point in time, and picked up by the mainstream distributions.
Problems with system-config-network and Fedora Core 5
If you use the livna repository to install madwifi for Fedora Core 5, it doesn't correctly update the modprobe configuration files. A bug has been filed. The quick fix is to move the lines that were in /etc/modprobe.d/madwifi into /etc/modprobe.conf and system-config-network now can configure the card.
Much easier on Fedora Core 6
I'm using FC6 w/KDE on an X22 and wireless was very easy using madwifi from Livna and a Linksys WPC55AG PC card. I had already installed knetworkmanager, klaptop and configured working radeonfb and working S3 suspend. I then simply used yum to install madwifi, including a kernel upgrade, enabled the knetworkmanager services and rebooted. After restarting, knetworkmanager found the Atheros card and my AP. I just had to choose the connection and was online in seconds.
Using Madwifi with SUSE Linux 10.1
As of 10.1, the Madwifi packages are no longer included in the SUSE distribution because of the presence of closed source code. However, I was able to download, install, and configure Madwifi for my IBM T40 with the IBM 11a/b/g Wireless Adapter (Atheros AR5212 802.11abg) as follows:
- Start yast2 and select Software--Installation Source. Add http://madwifi.org/suse/ as a source
- Install packages madwifi and madwifi-kmp-default (the latter has the kernel module, replace default with smp or other non-default kernel package if you're not running the default Suse kernel package as determined by uname -r)
- Reboot so the kernel modules can be loaded.
- Load the kernel modules by hand and see if the kernel recognizes your hardware:
modprobe aes; modprobe wlan_ccmp; modprobe ath_pci; lsmod |egrep 'Module|aes|wlan|ath'
- If recognized, put the modprobe lines above in your /etc/init.d/boot.local file. Otherwise, check for Linux kernel/Madwifi incompatibilities and hardware issues.
- Start yast2 and go to Network Devices-->Network Card and add and configure your wireless card. I recommmend checking the "Network Manager" box, as that allows dynamic GUI control over the wireless and Ethernet NICs.
- I have WPA-PSK enabled, so here's the fields I filled out: "User Controlled" device activation, DHCP Automatic Address Setup, "Managed" operating mode, "any" ESSID, "WPA-PSK" auth mode, key input type "passphrase" and I typed in my passphrase. I left expert settings alone.