Re: Disabling periodic scans



On 20/06/2022 18.08, Beniamino Galvani wrote:
On Sun, Jun 19, 2022 at 09:01:12PM +0300, Slava Monich wrote:
Hi!

Are there any objections to adding e.g. BackgroundScanEnabled readwrite
property to org.freedesktop.NetworkManager.Device.Wireless D-Bus interface?
The idea is to allow to disable periodic background scans for those WiFi
interfaces which don't need it. There are use cases for that in the embedded
world.

Hi,

if the Wi-Fi connection profile is locked to a specific BSSID, that
disables periodic scanning while connected. Is this a suitable
solution for your use case?  Or, what is the use case?

If we want to make this behavior configurable, perhaps it should be in
the connection profile and not on the device D-Bus object, so that the
property can be changed persistently and it depends on the network.

See also:

https://blogs.gnome.org/dcbw/2016/05/16/networkmanager-and-wifi-scans/

Beniamino

Thanks for the reply!

Actually, this wasn't about connected interfaces. When the interface is connected, AP roaming has to be supported, locking connection to BSSID of the AP is not an option, there's no way to avoid active scans.
That's fine.

What I had in mind was a scenario when the device running network manager has more than one Wi-Fi interface, and those are not connected (but have to be ready to be connected at any time). Passive scans produce lots of D-Bus traffic, which creates serious load (I mean it, really serious load) on the device. And yet, periodic scans on all those interfaces produce more or less the same list of networks, needlessly wasting precious system resources.

It seems to make every bit of sense to disable scans on all but one disconnected Wi-Fi interface, and let the UI use the list of available APs produced by that one single interface. And since no connection is involved at this stage, it can't be a connection property, right? It's got to be an org.freedesktop.NetworkManager.Device.Wireless property.

And yes, it means that this property is not going to be persistent but it doesn't need to be, since it has to be updated every time when the system state changes (e.g. an interface appears or disappears, gets connected or disconnected). Which is fine since this scenario implies a separate service choosing which interface will do the scanning, that logic is product specific and out of scope.

Am I missing something?

Cheers,
-Slava


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]