diff --git a/ChangeLog b/ChangeLog index 0102962dad..3dc57bac74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-09-13 Dan Williams + + * src/NetworkManagerDevice.c + - (nm_device_get_essid): use iw_get_basic_config() rather than + iw_get_ext (SIOCGIWESSID) since prism54 cards don't like + the latter + 2004-09-13 Dan Williams * TODO: fix typo diff --git a/src/NetworkManagerDevice.c b/src/NetworkManagerDevice.c index 9b44ab0751..022b3c1119 100644 --- a/src/NetworkManagerDevice.c +++ b/src/NetworkManagerDevice.c @@ -605,6 +605,19 @@ char * nm_device_get_essid (NMDevice *dev) iwlib_socket = iw_sockets_open (); if (iwlib_socket >= 0) { + wireless_config info; + + err = iw_get_basic_config(iwlib_socket, nm_device_get_iface (dev), &info); + if (err >= 0) + { + if (dev->options.wireless.cur_essid) + g_free (dev->options.wireless.cur_essid); + dev->options.wireless.cur_essid = g_strdup (info.essid); + } + else + syslog (LOG_ERR, "nm_device_get_essid(): error setting ESSID for device %s. errno = %d", nm_device_get_iface (dev), errno); + +#if 0 wreq.u.essid.pointer = (caddr_t) essid; wreq.u.essid.length = IW_ESSID_MAX_SIZE + 1; wreq.u.essid.flags = 0; @@ -617,6 +630,7 @@ char * nm_device_get_essid (NMDevice *dev) } else syslog (LOG_ERR, "nm_device_get_essid(): error setting ESSID for device %s. errno = %d", nm_device_get_iface (dev), errno); +#endif close (iwlib_socket); }