Wifi network priority



Where I live many internet providers run free access widely available wifi routers for their clients. My own router has two access points - my private one, and an insecure one that only allows internet access after you have correctly identified yourself on a welcome page. I use that when I am not at home but then at home I have to explicitly select my home access point.

It is high time network-manager started doing something more intelligent in those cases. I'd suggest simply preferring secure APs to start with.

I've been reading the sources and here is what I have found.

src/devices/nm-device-wifi.c:build_hidden_probe_list is called in order to list the APs that we might want to connect to.

The above function calls src/settings/nm-settings.c:get_best_connections which reads stored connections from storage, sorts them using src/settings/nm-settings.c:nm_settings_sort_connections and returns the top 5.

Here are my conclusions: (they aren't criticisms, I just want to be sure I have understood correctly.)

* network-manager doesn't ask for a list of available access points, it just asks the supplicant to connect to one of its preferred networks if they are available (presumably for performance).
* network-manager will never auto-connect to a stored network that doesn't get into the top 5 - or does it check the whole list afterwards.
* if several stored APs are found, the first one in the list is chosen even if it has the weakest signal - or does the supplicant have some say in the matter?
* the sorting code is in a wifi agnostic context so prioritizing secure networks would (ideally) need some re-factoring. For example, get_best_connections could return the whole list and let build_hidden_probe_list do the sorting.

Any help or suggestions would be much appreciated.


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