WPA support in Debian
This package gives an overview of the status on wpa support in Debian. The wpasupplicant package is maintained by the following people:
You can join development discussions in our mailing list on alioth, where we discuss bugs and future developemnts.
The wpasupplicant_0.5.3 package drops support for madwifi-old drivers. Please upgrade to the current madwifi driver. See below for details |
What is WPA
Wi-Fi Protected Access, a wireless encryption standard and alternative to "Wired Equivalent Privacy" (WEP) is well described by wikipedia. In order to secure your wireless network you need a WPA enabled access point, and a supplicant, like wpasupplicant installed on your computer.
wpasupplicant in Debian 3.1 (sarge)
In sarge, the wpasupplicant package was configured as system service. This means that you have to edit wpasupplicant parameters like the interface to be managed the WPA/DriverBackend to /etc/default/wpasupplicant, and provide a suitable /etc/wpasupplicant.conf yourself.
Debian sarge includes wpasupplicant 0.3.8. This branch is currently still supported by upstream, but the recommended branch is the 0.4.x one. You can get an updated package from http://backports.org. Please note that the package from backports.org is based on the 'etch' package, so please read the notes below.
wpasupplicant in Debian 4.0 (etch)
In etch, the system service /etc/init.d/wpasupplicant was dropped. The debian package provides integration to /etc/network/interfaces just like the wireless-tools package. This means the wpasupplicant package does no longer provide a system service wpasupplicant itself!
For information how to configure wpasupplicant please refer to README.modes (from svn.debian.org), which gives examples for /etc/network/interfaces files.
Upgrade Issues
MadWifi users beware!
The wpasupplicant package in debian 4.0 supports only the so called "madwifi-ng" version of madwifi. Please watch /usr/share/doc/wpasupplicant/NEWS.Debian.gz for information on how to enable support for madwifi-old.
Please also visit the debian pages on the madwifi.org wiki for information on where to obtain madwifi drivers and support for its use on Debian. The people to consult are mentioned here.
Upgrading wpasupplicant from a package version <0.4.8-1 will break your setup!
This will happen unless
- you are not using the init script and
- you are not using /etc/wpa_supplicant.conf.
To restore the old behavior you can either install the init script yourself (Read the instructions for this), or use a package which uses wpasupplicant to provide such a system service (note, that such a package doesn't seem to exist at the moment).
Why
We want to improve WPA secured networking and location roaming support in debian. The system service makes it hard to integrate support for packages like NetworkManager, which start instances of wpasupplicant themselves. We no longer bother with the system service approach in the basic package itself, but delegate this task to more specialised packages. Therefore the wpasupplicant package provides only basic integration for easy (read: non roaming) cases.
Moreover this approach makes it easier to support more than one interface: Just configure them in /etc/network/interfaces.
But I want to use the roaming feature of wpasupplicant!
wpasupplicant can be used as a roaming daemon and you have two options to exploit this possibility:
Having /etc/network/interfaces handle wpa_supplicant's networks (Etch): Within wpa_supplicant.conf, you can assign a value to the 'str_id' variable for each network={...} block in order to uniquely identify each network. Once this is done the value of this variable can then be used within /etc/network/interfaces to have each wpa_supplicant network activated/configured automatically. If the 'str_id' variable is not explicitly defined for a given network in wpa_supplicant.conf then the variable defaults to 'default'. The following line specified in /etc/network/interfaces will activate and configure each 'default' network in wpa_supplicant.conf with DHCP upon a successful connection to an access point (see http://home.telkomsa.net/richm/hp-nx6125.html for more info):
iface default inet dhcp
Use it as system service and make ifplugd to "activate the interface": ifplugd has support for wireless networking: Whenever an association to an AP is detected the network will be configured using ifupdown. This approach assumes that wpasupplicant runs as system service and ifupdown can safely activate a network alias. For detecting the 'correct' alias you can use the guessnet package.