diff --git a/curses/prefs_curses.py b/curses/prefs_curses.py index dc39053..f71d149 100644 --- a/curses/prefs_curses.py +++ b/curses/prefs_curses.py @@ -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) diff --git a/gtk/prefs.py b/gtk/prefs.py index 516d601..c1e1257 100644 --- a/gtk/prefs.py +++ b/gtk/prefs.py @@ -377,7 +377,8 @@ 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) diff --git a/in/man=wicd-manager-settings.conf.5.in b/in/man=wicd-manager-settings.conf.5.in index 9e5619e..afd7335 100644 --- a/in/man=wicd-manager-settings.conf.5.in +++ b/in/man=wicd-manager-settings.conf.5.in @@ -68,8 +68,10 @@ False = Do not switch to wired interface automatically .TP .BI "wireless_interface = " .TP -.BI "wpa_driver = " +.BI "wpa_driver = " 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 = " This settings determines whether Wicd will attempt to reconnect on connection loss. diff --git a/wicd/backends/be-ioctl.py b/wicd/backends/be-ioctl.py index d4f00bc..44aabea 100644 --- a/wicd/backends/be-ioctl.py +++ b/wicd/backends/be-ioctl.py @@ -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 diff --git a/wicd/wnettools.py b/wicd/wnettools.py index 83846e4..e9018f0 100644 --- a/wicd/wnettools.py +++ b/wicd/wnettools.py @@ -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)