Translation(s): English - Fran├žais - Italiano

WPA support in Debian

What is WPA?

Wi-Fi Protected Access (WPA) is a wireless encryption standard and alternative to "Wired Equivalent Privacy" (WEP). In order to secure your wireless network you need a WPA enabled access point and a supplicant, like wpa_supplicant, installed on your computer.

wpa_supplicant in Debian 6.0 (Squeeze)

Debian Squeeze includes wpa_supplicant version 0.6.10.

The atmel wpa_supplicant driver backend is no longer provided in the wpasupplicant package (see the package changelog). This backend was never usable with the at76_usb, at76c50x-usb, atmel_cs and atmel_pci drivers.

See README.Debian for information on wpa_supplicant's modes of operation. Usage examples can also be seen in WiFi/HowToUse.


We want to improve WPA secured networking and location roaming support in Debian. When wpa_supplicant was operating as a system service (Sarge), it was hard to integrate support for packages like NetworkManager, which start instances of wpa_supplicant 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 wpa_supplicant!

wpa_supplicant can be used as a roaming daemon and you have two options to exploit this possibility:

1) Having /etc/network/interfaces handle wpa_supplicant's networks

Within wpa_supplicant.conf, you can assign a value to the 'id_str' 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 'id_str' 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:

iface default inet dhcp

See README.Debian or for more information.

2) 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 wpa_supplicant runs as a system service and ifupdown can safely activate a network alias. For detecting the 'correct' alias you can use the guessnet package.


Refer to the Debian Package Tracking System.

You can join development discussions in our mailing list, where we discuss bugs and future developments.

See Also

CategoryPermalink | CategoryNetwork | CategoryWireless