1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-20 21:08:06 +01:00

Support passing no driver to wpa_supplicant

This commit is contained in:
David Paleino
2012-02-12 10:41:27 +01:00
parent 7f2df5b423
commit b161427e4d
5 changed files with 13 additions and 3 deletions

View File

@@ -298,6 +298,7 @@ class PrefsDialog(urwid.WidgetWrap):
# wpa_supplicant janx
self.wpadrivers = wireless.GetWpaSupplicantDrivers()
self.wpadrivers.append("ralink_legacy")
self.wpadrivers.append('none')
# Same as above with the dbus.String
self.thedrivers = [unicode(w) for w in self.wpadrivers]
self.wpa_cbox.set_list(self.thedrivers)

View File

@@ -377,6 +377,7 @@ class PreferencesDialog(object):
self.wpadrivercombo = build_combobox("pref_wpa_combobox")
self.wpadrivers = wireless.GetWpaSupplicantDrivers()
self.wpadrivers.append("ralink_legacy")
self.wpadrivers.append('none')
for x in self.wpadrivers:
self.wpadrivercombo.append_text(x)

View File

@@ -68,8 +68,10 @@ False = Do not switch to wired interface automatically
.TP
.BI "wireless_interface = " <name_of_wireless_interface>
.TP
.BI "wpa_driver = " <wext|madwifi|ndiswrapper|hostap|hermes|atmel|broadcom|ipw|ralink legacy>
.BI "wpa_driver = " <wext|madwifi|ndiswrapper|hostap|hermes|atmel|broadcom|ipw|ralink legacy|none>
The default (and best supported) is wext. It should work properly in most cases.
The \fBnone\fR special value makes WICD pass no \fI-D\fR parameter to
wpa_supplicant, which might be useful in some cases.
.TP
.BI "auto_reconnect = " <True|False>
This settings determines whether Wicd will attempt to reconnect on connection loss.

View File

@@ -72,6 +72,7 @@ python-wpactrl (http://projects.otaku42.de/wiki/PythonWpaCtrl)
python-iwscan (http://projects.otaku42.de/browser/python-iwscan/)"""
RALINK_DRIVER = 'ralink legacy'
NONE_DRIVER = 'none'
# Got these from /usr/include/linux/wireless.h
SIOCGIWESSID = 0x8B1B

View File

@@ -70,6 +70,7 @@ authmethods_pattern = re.compile('.*Authentication capabilities :\n(.*?)Current'
auth_pattern = re.compile('.*wpa_state=(.*?)\n', _re_mode)
RALINK_DRIVER = 'ralink legacy'
NONE_DRIVER = 'none'
blacklist_strict = '!"#$%&\'()*+,./:;<=>?@[\\]^`{|}~ '
blacklist_norm = ";`$!*|><&\\"
@@ -1160,10 +1161,14 @@ class BaseWirelessInterface(BaseInterface):
if self.wpa_driver == RALINK_DRIVER:
self._AuthenticateRalinkLegacy(network)
else:
if self.wpa_driver == NONE_DRIVER:
driver = ''
else:
driver = '-D' + self.wpa_driver
cmd = ['wpa_supplicant', '-B', '-i', self.iface, '-c',
os.path.join(wpath.networks,
network['bssid'].replace(':', '').lower()),
'-D', self.wpa_driver]
driver]
if self.verbose: print cmd
misc.Run(cmd)