But there is a convenient alternative... wpa_supplicant in roaming mode. This feature is virtually absent from the various Debian (and Debian-related) forums and wikis, perhaps because the name of the wpa_supplicant package suggests that it can only be used for handling WPA wireless encryption. Truth is, however, that it can handle automatic connections to a variety of encrypted and open networks as well as network-manager does... and better when using the MadWifi drivers!
I'll show you my typical setup: a WPA-PSK encrypted connection at home: a WEP encrypted connection at some friend's place; open HotSpot connections to a named provider on the road; and arbitrary connections to whatever open wireless network is present. More complicated setups, including secured access to wired networks, can be gleaned from the very extensive documentation and man-pages (another possible barrier to use by ordinary users) -- here, I'm giving EduRoam as an example.
First, edit /etc/network/interfaces by adding the stanzas:
Code: Select all
auto ath0
iface ath0 inet manual
wpa-driver madwifi
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Edit: Indications are that the generic Linux wext driver has now (March 2008) developed sufficiently for it to be used in place of the madwifi driver shown above. Try it if the latter doesn't, for any reason, work out.
Next, make or edit /etc/wpa_supplicant/wpa_supplicant.conf, where I've given some typical network entries that serve me well:
Code: Select all
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="MyWirelessHomeLAN"
key_mgmt=WPA-PSK
psk="MySooperSecretPassPhrase"
}
network={
ssid="MyFriendsWirelessLAN"
key_mgmt=NONE
wep_key0="HerPasswd"
wep_tx_idx=0
}
network={
ssid="OpenHotSpotProvider"
key_mgmt=NONE
}
network={
scan_ssid=1
key_mgmt=NONE
}
network={
ssid="eduroam"
scan_ssid=1
key_mgmt=IEEE8021X
eap=TTLS
anonymous_identity="anonymous@your.school"
identity="yourID@your.school"
password="yourPassword"
phase2="auth=PAP"
ca_cert="/path/to/certificates/eduroam.der"
priority=2
}
The ath0 interface can also be brought up manually (with root privileges) with the ifup ath0 command. Note that wpa_supplicant takes over the control of ifupdown when configured this way, so manually stopping the wireless interface must be done with the command wpa_action ath0 stop. Note also that the interface need not be stopped when making some changes to the above noted stanzas in either file, like adding another network -- just use the wpa_action ath0 reload command to commit those changes.
This all works so well, I guess I'll never use network-manager again.