NetworkManager 0.7 uses wpa_supplicant (over D-Bus) for everything. Why you ask? Because it saves code. We’ve been ripping code out of 0.7 faster than hugsie & co. can add code to PackageKit. Somebody must preserve the galactic balance of code. When wpa_supplicant gets notified of new scan results by the wireless driver, it echoes that notification back out over D-Bus.
Drivers Behaving Badly (duh…)
Turns out that ipw2200 and ipw2100 make extensive use of background scanning. They send out scan result notifications many times per second. Which causes wpa_supplicant to wake up, process the scan results, and emit its own scan results available signal over D-Bus. Causing NetworkManager to wake up and ask wpa_supplicant for the parsed scan results. Causing nm-applet to wake up and process updates as they come in from NetworkManager. See a pattern?
48 Hours Later…
Three patches to wireless drivers to fix asstastic scanning behavior and make your life better, your battery not hate you, and NetworkManager rock harder:
- http://marc.info/?l=linux-wireless&m=119194675024816&w=2 (orinoco)
- http://marc.info/?l=linux-wireless&m=119195246702824&w=2 (ipw2200)
- http://marc.info/?l=linux-wireless&m=119203367309826&w=2 (ipw2100)
Not huge, but little fixes keep piling up until stuff Just Works.