On Fri, 2019-10-25 at 14:48 -0700, Clive McCarthy wrote: > I think the data rate reported is the maximum data rate that the > channel can support. It isn't a measure of the possible throughput > which would take into account noise (noise being "anything other than > the desired signal", which was what I was taught many, many years > ago). It is clear that the algorithm isn't taking into account > possible co-channel interference. If a 5GHz 500Mbps connection is > 30dB down from a 2.4GHz 54Mbps signal then the 500Mbps is just pie- > in-the-sky. A connection with a lot of co-channel interference will > cause the many, many retries and the effective data rate collapses. > > Please think in dBm. The percentage numbers mean absolutely nothing. > As I said, my phone measured a 10dB difference and nmcli reported > only a 90% to 55% ratio -- which is flat-out wrong. The percentage > numbers are bogus and should NOT be used to compare signal strengths. > The antenna on my phone will have a different gain to the antenna on > my laptop but the signal strength ratio is valid. Whoever wrote the > signal strength code isn't a radio engineer.
NetworkManager itself does not at all care about the signal strength. - for example, when autoconnecting a Wi-Fi device with having multiple candidate profiles in range, then the winner is not chosen based on the signal strength. Instead, it's chosen based on "connection.autoconnect- priority" and "connection.timestamp". - roaming is not done by NetworkManager, but by wpa-supplicant. Hence, NetworkManager doesn't care about the signal strengh in this case either. - no matter how bad a signal gets, NetworkManager won't decide to pull the plug. It will stay connected until wpa-supplicant says that it lost the connection. The only place where the signal strength matters it to sort (and color- code) the output of `nmcli device wifi`. It's purely informational output for the user. Of course, that output should reflect the actual situation, but your actual Wi-Fi expirience is unaffected by the accuracy of the strength/percentage. > Please think in dBm. The percentage numbers mean absolutely nothing. in dBm, better signal strength means a lower dBm number. Likewise, when converted to percentage, then a lower dBm always means a higher-or-equal percentage. So, a better percentage does mean a better signal! What is however not clear how much better 1% is. For example, there might be better conversions from dBm to a percentage value that reflect the actual signal strength better ([1]). Anyway, the formulay for converting the numbers is quite simple. See [2]. We certainly would welcome help from a radio engineer to improve this! [1] https://www.adriangranados.com/blog/dbm-to-percent-conversion [2] https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/devices/wifi/nm-wifi-utils.c?id=487b5df7169895cf132997b0bc7f402479043066#n784 best, Thomas > > On 10/25/19 2:21 PM, Dan Williams wrote: > > On Fri, 2019-10-25 at 11:17 -0700, Clive McCarthy wrote: > > > I've done a quick survey around the building and NM is always > > > selecting the highest data rate AP despite stronger signals from > > > other APs. This happens even when the data rate difference is > > > relatively small. > > > > Again, it's actually the supplicant making the choice. But since NM > > is > > the face of things here, it gets ultimate responsibility for the > > behavior I guess. > > > > > As an example: > > > > signal 90% data rate 54 Mbps > > > > signal 55% data rate 65 Mbps -- active > > > > > > a bad choice. If the signal numbers were in dBm things would be > > > clearer. > > > > Typically you want faster data rates, not stronger signal (to a > > point). > > > > For example if you were right next to your 802.11g AP with a max of > > 54Mbps, but had a 50% signal to an 802.11ac AP with a likely rate > > of > > 400+Mbps, why would you want to connect to the stronger-but-slower > > AP? > > > > Dan > > > > > I put my Android phone next to my Linux laptop and got: > > > > -48dBm > > > > -58dBm > > > > > > respectively for the two channels a ~10dB difference. Way, way > > > more > > > that the ratio of 90% to 55%. So forget this % nonsense. > > > > > > On 10/23/19 12:41 AM, Thomas Haller wrote: > > > > On Tue, 2019-10-22 at 15:02 -0700, Clive McCarthy via > > > > networkmanager- > > > > list wrote: > > > > > You know, I wish that the Network Manager would report the > > > > > signal > > > > > strength in dBm instead of the silly sector icon. But that is > > > > > for > > > > > another day. > > > > > > > > nmcli -f SIGNAL,BSSID,SSID device wifi > > > > nmcli -f ALL device wifi > > > > > > > > > > > > best, > > > > Thomas > > > > > > > > > On 10/22/19 2:24 PM, Dan Williams wrote: > > > > > > On Tue, 2019-10-22 at 13:37 -0700, Clive McCarthy wrote: > > > > > > > I rand the commands you suggested but the response > > > > > > > doesn't > > > > > > > look > > > > > > > like > > > > > > > a log dump. I guess they just enable logging. > > > > > > > > > > > > > > method return time=1571775394.161873 sender=:1.8 -> > > > > > > > destination=:1.507 serial=32493 reply_serial=2 > > > > > > > method return time=1571775429.864202 sender=:1.8 -> > > > > > > > destination=:1.508 serial=32496 reply_serial=2 > > > > > > > method return time=1571775528.578915 sender=:1.8 -> > > > > > > > destination=:1.510 serial=32636 reply_serial=2 > > > > > > > > > > > > > > Can you point me to where the log files might be or at > > > > > > > least > > > > > > > their > > > > > > > names. > > > > > > > > > > > > If your distribution uses systemd, they may be available > > > > > > with: > > > > > > > > > > > > journalctl -b -u wpa_supplicant > > > > > > > > > > > > if your distro does not uses systemd, then it'll be > > > > > > wherever > > > > > > syslog > > > > > > dumps that kind of output, like: > > > > > > > > > > > > /var/log/messages > > > > > > /var/log/wpa_supplicant.log > > > > > > /var/log/daemon.log > > > > > > > > > > > > Dan > > > > > > > > > > > > > On 10/22/19 12:16 PM, Dan Williams wrote: > > > > > > > > On Tue, 2019-10-22 at 11:17 -0700, Clive McCarthy > > > > > > > > wrote: > > > > > > > > > Thanks for your reply. > > > > > > > > > My laptop, when first opened, reports (via the > > > > > > > > > Network > > > > > > > > > Manage, I > > > > > > > > > suppose) that it is disconnected from the network. > > > > > > > > > After > > > > > > > > > a > > > > > > > > > second > > > > > > > > > or > > > > > > > > > two it reports being connected. And it is. However, > > > > > > > > > as I > > > > > > > > > noted, > > > > > > > > > the > > > > > > > > > manager seems to choose the last known connection. > > > > > > > > > This > > > > > > > > > is a > > > > > > > > > satisfactory algorithm for a fixed computer and for a > > > > > > > > > computer > > > > > > > > > connecting to a single AP. It isn't good for a > > > > > > > > > movable > > > > > > > > > computer > > > > > > > > > with > > > > > > > > > multiple APs. > > > > > > > > > > > > > > > > > > The Intel WiFi adapter is forced to shutdown when the > > > > > > > > > computer is > > > > > > > > > closed because there is a bug in the Intel-WiFi > > > > > > > > > driver > > > > > > > > > that > > > > > > > > > doesn't > > > > > > > > > handle suspend correctly. That is why there is a > > > > > > > > > disconnect- > > > > > > > > > connect > > > > > > > > > sequence. > > > > > > > > > > > > > > > > In this case we'd need the wpa_supplicant logs > > > > > > > > described > > > > > > > > below > > > > > > > > to > > > > > > > > diagnose why the supplicant is picking that specific AP > > > > > > > > rather > > > > > > > > than > > > > > > > > another. > > > > > > > > > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > > > > > > > On 10/22/19 10:05 AM, Dan Williams wrote: > > > > > > > > > > On Mon, 2019-10-21 at 20:42 -0700, Clive McCarthy > > > > > > > > > > via > > > > > > > > > > networkmanager- > > > > > > > > > > list wrote: > > > > > > > > > > > I have a situation where I have multiple APs in a > > > > > > > > > > > building > > > > > > > > > > > all > > > > > > > > > > > with > > > > > > > > > > > the same SSID and WPA key but set to non-clashing > > > > > > > > > > > frequencies. > > > > > > > > > > > When I > > > > > > > > > > > close my laptop and WiFi shuts down and I move to > > > > > > > > > > > a > > > > > > > > > > > new > > > > > > > > > > > location > > > > > > > > > > > the > > > > > > > > > > > Network Manager seems to connect to the original > > > > > > > > > > > AP, > > > > > > > > > > > rather > > > > > > > > > > > than > > > > > > > > > > > one > > > > > > > > > > > with a much stronger signal. > > > > > > > > > > > > > > > > > > > > > > The algorithm for AP connection is suboptimal (in > > > > > > > > > > > other > > > > > > > > > > > words > > > > > > > > > > > dumb). > > > > > > > > > > > The selection process should scan ALL APs, figure > > > > > > > > > > > out > > > > > > > > > > > which > > > > > > > > > > > ones > > > > > > > > > > > are > > > > > > > > > > > known (SSID and WPA); measure their signal > > > > > > > > > > > strength > > > > > > > > > > > and > > > > > > > > > > > then > > > > > > > > > > > choose > > > > > > > > > > > the known AP with the strongest signal. > > > > > > > > > > > > > > > > > > > > > > How hard is that? > > > > > > > > > > > > > > > > > > > > This is what NetworkManager should already be > > > > > > > > > > doing. > > > > > > > > > > > > > > > > > > > > Two things to check: > > > > > > > > > > > > > > > > > > > > 1) NetworkManager depends on being notified by > > > > > > > > > > systemd > > > > > > > > > > or > > > > > > > > > > upower > > > > > > > > > > that > > > > > > > > > > the laptop has suspended so that it can reconfigure > > > > > > > > > > when it > > > > > > > > > > wakes > > > > > > > > > > up. > > > > > > > > > > It should be pretty clear if that's happening > > > > > > > > > > through > > > > > > > > > > the > > > > > > > > > > NetworkManager logs because it will say that it's > > > > > > > > > > going > > > > > > > > > > to > > > > > > > > > > sleep > > > > > > > > > > and > > > > > > > > > > waking up. For example: > > > > > > > > > > > > > > > > > > > > NetworkManager[1198]: <info> [1571720491.7590] > > > > > > > > > > manager: > > > > > > > > > > sleep: > > > > > > > > > > sleep requested (sleeping: no enabled: yes) > > > > > > > > > > NetworkManager[1198]: <info> [1571720491.7599] > > > > > > > > > > device > > > > > > > > > > (wlp61s0): > > > > > > > > > > state change: disconnected -> unmanaged (reason > > > > > > > > > > 'sleeping', > > > > > > > > > > sys- > > > > > > > > > > iface-state: 'managed') > > > > > > > > > > NetworkManager[1198]: <info> [1571720491.7615] > > > > > > > > > > manager: > > > > > > > > > > NetworkManager state is now ASLEEP > > > > > > > > > > NetworkManager[1198]: <warn> [1571752873.5481] > > > > > > > > > > sup- > > > > > > > > > > iface[0x55f38553aaa0,wlp61s0]: connection > > > > > > > > > > disconnected > > > > > > > > > > (reason > > > > > > > > > > -3) > > > > > > > > > > NetworkManager[1198]: <info> [1571752873.5504] > > > > > > > > > > device > > > > > > > > > > (wlp61s0): > > > > > > > > > > supplicant interface state: completed -> > > > > > > > > > > disconnected > > > > > > > > > > NetworkManager[1198]: <info> [1571752873.5803] > > > > > > > > > > manager: > > > > > > > > > > sleep: > > > > > > > > > > wake requested (sleeping: yes enabled: yes) > > > > > > > > > > NetworkManager[1198]: <info> [1571752873.6556] > > > > > > > > > > device > > > > > > > > > > (wlp61s0): > > > > > > > > > > state change: activated -> unmanaged (reason > > > > > > > > > > 'sleeping', > > > > > > > > > > sys- > > > > > > > > > > iface- > > > > > > > > > > state: 'managed') > > > > > > > > > > > > > > > > > > > > 2) enabling debug logging in wpa_supplicant with > > > > > > > > > > these > > > > > > > > > > two > > > > > > > > > > commands > > > > > > > > > > will show you exactly what's going on: > > > > > > > > > > > > > > > > > > > > sudo dbus-send --system --print-reply -- > > > > > > > > > > dest=fi.w1.wpa_supplicant1 > > > > > > > > > > /fi/w1/wpa_supplicant1 > > > > > > > > > > org.freedesktop.DBus.Properties.Set > > > > > > > > > > string:fi.w1.wpa_supplicant1 string:DebugTimestamp > > > > > > > > > > variant:boolean:true > > > > > > > > > > sudo dbus-send --system --print-reply -- > > > > > > > > > > dest=fi.w1.wpa_supplicant1 > > > > > > > > > > /fi/w1/wpa_supplicant1 > > > > > > > > > > org.freedesktop.DBus.Properties.Set > > > > > > > > > > string:fi.w1.wpa_supplicant1 string:DebugLevel > > > > > > > > > > variant:string:"msgdump" > > > > > > > > > > > > > > > > > > > > this will dump logs to wherever your system > > > > > > > > > > typically > > > > > > > > > > sends > > > > > > > > > > system > > > > > > > > > > logs, like the systemd journal or syslog. Once you > > > > > > > > > > have > > > > > > > > > > these > > > > > > > > > > logs, > > > > > > > > > > please review them to ensure there is no private > > > > > > > > > > information > > > > > > > > > > and > > > > > > > > > > then > > > > > > > > > > attach them to a reply so that we can figure out > > > > > > > > > > what's > > > > > > > > > > going > > > > > > > > > > on. > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > networkmanager-list mailing list > > > > > [email protected] > > > > > https://mail.gnome.org/mailman/listinfo/networkmanager-list > > > > > > >
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
