This patch solve the problem: Index: src/nm-device-802-11-wireless.c =================================================================== RCS file: /cvs/gnome/NetworkManager/src/nm-device-802-11-wireless.c,v --- src/nm-device-802-11-wireless.c 2006-02-21 11:39:33.000000000 +0100 +++ src/nm-device-802-11-wireless.c 2006-03-01 19:06:34.000000000 +0100 @@ -1808,8 +1808,10 @@ /* Must be in infrastructure mode during scan, otherwise we don't get a full * list of scan results. Scanning doesn't work well in Ad-Hoc mode :( */ - nm_device_802_11_wireless_set_mode (self, IW_MODE_INFRA); - nm_device_802_11_wireless_set_frequency (self, 0); + if (nm_device_802_11_wireless_get_mode (self) == IW_MODE_ADHOC) { + nm_device_802_11_wireless_set_mode (self, IW_MODE_INFRA); + nm_device_802_11_wireless_set_frequency (self, 0); + }
wrq.u.data.pointer = NULL; wrq.u.data.flags = 0; @@ -2282,13 +2284,23 @@ const char * iface = nm_device_get_iface (NM_DEVICE (self)); gboolean success = FALSE; int tries = 0; + char * driver; if (!(ctrl = wpa_ctrl_open (WPA_SUPPLICANT_GLOBAL_SOCKET, NM_RUN_DIR))) goto exit; + if (!strcmp (nm_device_get_driver (NM_DEVICE (self)), "ndiswrapper")) { + driver= g_malloc(sizeof(char)*(strlen("ndiswrapper")+1)); + driver= strcpy(driver, "ndiswrapper"); + } + else { + driver= g_malloc(sizeof(char)*(strlen("wext")+1)); + driver= strcpy(driver, "wext"); + } + /* wpa_cli -g/var/run/wpa_supplicant-global interface_add eth1 "" wext /var/run/wpa_supplicant */ if (!nm_utils_supplicant_request_with_check (ctrl, "OK", __func__, NULL, - "INTERFACE_ADD %s\t\twext\t" WPA_SUPPLICANT_CONTROL_SOCKET "\t", iface)) + "INTERFACE_ADD %s\t\t%s\t" WPA_SUPPLICANT_CONTROL_SOCKET "\t", iface, driver)) goto exit; wpa_ctrl_close (ctrl); @@ -2308,6 +2320,7 @@ success = TRUE; exit: + g_free (driver); return success; } _______________________________________________ NetworkManager-list mailing list NetworkManager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list