DadWifi

Recently announced port of MadWifi to Devicescape's 802.11 software stack (d80211 aka Advanced Datapath Driver).

DadWifi has moved over to the madwifi.org website, using the madwifi repository and bugtracking facilities. The madwifi.org team intends to support the porting effort in order to reach one of the milestones defined for the long-term goal "getting MadWifi into the Linux kernel".

DadWifi has already appeared in the dadwifi svn branch.

Status

This driver is in the early stages of development so should be considered unstable. Do not use it for applications where you cannot tolerate an occasional crash or loss in connectivity.

What is working:

  • station (client) mode
  • monitor (wireless sniffer) mode
  • ap mode

Using DadWifi

Check out the latest dadwifi source from the madwifi.org subversion repository:

$ svn co http://svn.madwifi.org/madwifi/branches/dadwifi

This driver requires a recent wireless-dev git development tree. We track changes in John Linville's tree. To clone John Linville's tree using Cogito:

$ cg-clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-dev.git

Build, install and boot that kernel. Be sure to enable the d80211 wireless stack, CONFIG_D80211.

The dadwifi source can then be built by simply invoking make (you need to set the variable KERNELPATH to the wireless-dev tree if the build system does not find the correct tree):

$ export KERNELPATH=/usr/src/wireless-dev 
$ make

to install it (as root) :

# make install
# modprobe 80211 rc80211_simple ath_pci

For AP mode a recent hostapd development snapshot is required. hostapd-0.5.5 is known to work. You must configure hostapd to include the Devicescape driver. In hostapd's build configuration (.config) add the following lines (adjust to match the location of your wireless-dev tree) :

CONFIG_DRIVER_DEVICESCAPE=y
WIRELESS_DEV=/usr/src/wireless-dev
CFLAGS += -I$(WIRELESS_DEV)/include
CFLAGS += -I$(WIRELESS_DEV)/net/d80211
CFLAGS += -D_LINUX_TYPES_H

Development

The following tickets are currently filed for the DadWifi component:

#979
fix IBSS mode in dadwifi branch
#983
Atheros SOC support (if_ath_ahb) needs to be ported to dadwifi
#984
ath rate control algorithms needed for dadwifi
#985
use multiple hardware queues
#988
crypto regression tests should be ported to d80211 stack
#1013
add support for staggered beacons
#1172
interface is not brought up from ifconfig
#1471
[patch] Tools makefile installs manpages for binaries that are not being installed