--- NetworkManager-0.7.0/src/supplicant-manager/nm-supplicant-interface.c.orig 2008-05-12 19:40:16 +0400 +++ NetworkManager-0.7.0/src/supplicant-manager/nm-supplicant-interface.c 2008-05-13 18:37:00 +0400 @@ -31,6 +31,7 @@ #include "nm-dbus-manager.h" #include "nm-call-store.h" #include "nm-dbus-glib-types.h" +#include "backends/wpa_driver_etcnet.h" #define WPAS_DBUS_IFACE_INTERFACE WPAS_DBUS_INTERFACE ".Interface" #define WPAS_DBUS_IFACE_BSSID WPAS_DBUS_INTERFACE ".BSSID" @@ -757,10 +758,13 @@ nm_supplicant_interface_add_to_supplican } else { GHashTable *hash = g_hash_table_new (g_str_hash, g_str_equal); GValue *driver; + char *wpa_driver_name; driver = g_new0 (GValue, 1); g_value_init (driver, G_TYPE_STRING); - g_value_set_string (driver, priv->is_wireless ? "wext" : "wired"); + wpa_driver_name = read_wpa_driver(priv->dev); + g_value_set_string (driver, priv->is_wireless ? (wpa_driver_name ? wpa_driver_name : "wext") : "wired"); + g_free(wpa_driver_name); g_hash_table_insert (hash, "driver", driver); call = dbus_g_proxy_begin_call (proxy,