GNOME Bugzilla – Bug 344825
NetworkManager very slow in associating with wireless networks
Last modified: 2006-06-14 14:16:24 UTC
NetworkManager is great, and very user-friendly, but it's dog slow. When I start it, it can take up to 15-20 seconds to connect to my wireless network. This should be instant. Configuring the network connection manually, with a script or with wpasupplicant is MUCH faster. I'll be looking at this in the next few days and will hopefully come up with some patches.
Created attachment 67307 [details] [review] Remove hardcoded wait for wpa_supplicant control interface This patch removes the hardcoded 2-second wait for the wpa_supplicant control interface to come up. By default, it polls the interface 20 times, once every 100ms. I have never seen the g_usleep() called, so this effectively removes a 2-second delay.
Created attachment 67310 [details] [review] Remove another 2-second wait in ESSID change Same as last patch, plus makes sure that the 2-second delay after setting the ESSID, which is necessary for orinoco cards, is only done if the card is in fact an orinoco card.
With the two patches, the version I'm using (Debian 0.6.3) is noticeably faster. There still remain a couple of sleeps in the DHCP code which seem to be a little more difficult to take out. I'll try to get to those in the next few days, but if someone wants to review this patch in the meantime, please do!
Created attachment 67335 [details] [review] better patch Similar to previous patch, but do the waiting in supplicant_interface_init, which seems to make more sense.
Nice! Committed to HEAD and STABLE, thanks. Latency also sucks because we're forking a copy of wpa_supplicant every connection. That will go away once I finish the dbus control interface for wpa_supplicant, at which point we can rely on a wpa_supplicant daemon running all the time and get rid of a lot of setup code here :)