On Wed, 2009-01-14 at 12:02 -0500, Dan Williams wrote: > On Tue, 2009-01-13 at 23:17 +0200, Antti Kaijanmäki wrote: > > [Aloisio, sorry for double reply, I forgot to CC the list] > > > > On Tue, 2009-01-13 at 17:45 -0300, Aloisio Almeida wrote: > > > Hi all, > > > > > > I noticed that wireless devices are always scanning, and this is very > > > bad to power consuption in embedded systems. > > > I would like to create a way to prevent automatic scan and just > > > perform it when some cliente ask for it. > > > Is it possible to do this? I mean, does it "brake" in some way the nm structure? > > > > Sounds good. Actually if you look at some current embedded devices they > > are performing wireless scan only after user has indicated he wants to > > create a wireless connection. > > I tend to think this is mainly because "it's always been done this way" > rather than for the reason that it's actually a smoother experience for > users. Chips used to suck enough that they actually did require more > power to scan, but these days with passive scans, you don't even need to > TX, and thus you don't need to increase power that much. If this is > really a concern, the best approach is to simply disable the device (or > rfkill or whatever) until the user wants to use it, at which point you > bring the device out of rfkill and let NM go wild. Obviously I'm not an expert on WLAN chips ;) I just looked at this and saw "we are doing periodical scans and someone said it's consuming power". > > > Actually, I already did this patch to 0.6.6 version, but zero lines > > > applied in new code :) Now i would like to create the patch and submit > > > to upstream. > > > > > > The basic idea is just make can_scan function (src/nm-device-wifi.c) > > > return FALSE due to some user configurations or run flags > > > (--no-bg-scan). In this case, "performScan" dbus method and > > > "ScanPerformed" dbus signal must be created to allow clients to ask > > > for a scan and to notice that the scan has been performed. > > > > Would those be added in org.freedesktop.NetworkManager interface or per > > wireless device in Device.Wireless? > > Not going to happen... Again, we don't just toss stuff in before > actually *understanding* what the problem is, and then determining if > there are better ways of solving the problem instead of these sorts of > hacks. Nothing is being tossed in. The way I see this discussion was all about understanding the problem and the proposed solution in the first place, and it worked! I'm sure everyone is now convinced that this is not the way to go :) > > > I'm attaching the 0.6.6 patch, as I said before the idea is the same. > > > > > > Any comments? Is it a good way to implement that? > > > > I would like to have also a dbus option which you can change without > > restarting the daemon; setScanningEnabled() or something like that. > > '--no-bg-scan' would initialize it as false on daemon startup. It could > > be changed during system operation based on power profiles or something > > like that. Anyway it would give more flexibility. Of course that could > > be too close to wirelessEnabled (), though... > > Again, what's the use-case here? Are there better ways of solving this > issue that don't impact the roaming ability performance or user > experience? I think there's nothing more to add. :) -- Antti
Attachment:
signature.asc
Description: This is a digitally signed message part