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 .

FAQs on loading MADWiFi modules

How do I reinstall MADWiFi modules?

First, make sure your kernel is configured correctly, see: UserDocs/KernelConfig. Then, recompile and reinstall the kernel and all kernel modules. With Linux 2.6:

/usr/src/linux# make
/usr/src/linux# make modules_install
/usr/src/linux# make install -or- install kernel binary with whatever method your distro uses

Next, remove old versions of the Madwifi modules. From the kernel source directory, grep the new kernel's release:

/usr/src/linux# KERNELRELEASE=`grep RELEASE include/linux/version.h | awk '{print $3}' | sed -s 's/"//g'`

From the madwifi source directory, use

/usr/src/madwifi# scripts/ /lib/modules/$KERNELRELEASE

and choose "remove" when asked what to do.

Now reboot with your newly compiled kernel.

Then recompile Madwifi, use

/usr/src/madwifi# make clean ; ./configure && make && make install

Try loading the driver with modprobe ath_pci or by plugging in your card.

Last, check dmesg and iwconfig to see if wifi0 is up and running.

Loading the driver fails with "disagrees about version of symbol"

This probably means that you rebuilt either the kernel or modules, but did not install and load both correctly. The module versioning code checks that any module loaded was built from the same source as the kernel itself.

Try reinstalling, use the approach from above paragraph.

You can also try disabling the CONFIG_MODVERSIONS kernel option.

If all else fails, you can also try the options --force-vermagic and --force-modversion to modprobe. Only do this if you are REALLY sure that you have done everything correctly. Not recommended, as there's usually a very real reason that you got those versioning errors in the first place.

Loading the driver fails due to "unresolved symbols"

Try reinstalling, use the approach from above paragraph.

I followed the above instructions, and I still get "unresolved symbols"

You might want to try a newer kernel.

For example, I kept getting "unresolved symbols" with 2.6.13. After I upgraded to 2.6.15, everything worked like a charm.

I've upgraded the kernel but still get "unresolved symbols"

I'm out of suggestions, so you'll have to ask on the madwifi-users mailing list now.

But first, let's figure out exactly what goes wrong.

At the time of this writing, the module dependency tree for madwifi looks something like this:

|  ath_hal
|  |
|  |  |

This means that the first thing you'll want to try is "modprobe wlan" and "modprobe ath_hal". If one of those fails to load, the rest will fail too, so no point in telling anyone about that.

If you want an updated dependency tree, you can run "depmod -ae" and then examine /lib/modules/uname -r/modules.dep, where the dependencies are listed.

You might want to include any errors (and perhaps warnings) during the build process when you report your problem on the mailing list.

The ath_pci and wlan modules etc. seem to load fine, but in applications such as wpa_supplicant I seem to get error messages such as "ioctl[IEEE80211_IOCTL_SETKEY]: No such device or address" and "Failed to set PTK to the driver"

You may be able to find the cause for problems like these if you use the enclosed athdebug and 80211debug utilities.

In the case above, for instance,

80211debug +crypto +wpa

might show error messages in syslog such as "unable to load cipher 3, module wlan_ccmp" or similar, which tells you that this is a bug neither in madwifi nor in wpa_supplicant. Load the modules manually and the symptom will vanish, which proves: your system's module loading still has its problems.

Loading the driver fails "cannot reserve PCI memory region"

You just need to upgrade your motherboard BIOS. This is a known problem on ASRock 939Dual-SATA2 motherboard for example.