It's not just gnome-weather; it seems to be a more generic problem in
geocule

** Package changed: gnome-weather (Ubuntu) => geoclue-2.0 (Ubuntu)

** Summary changed:

- gnome-weather / geoclue polls wpasupplicant SSID list too often
+ geoclue polls wpasupplicant SSID list too often

** Description changed:

  Steps to reproduce:
  
- 1. Install GNOME Weather (sudo apt install gnome-weather)
+ 1. Install GNOME Weather, or GNOME Clocks, or basically anything that 
determines your location
  2. In GNOME Control Center > Privacy, enable Location Services
- 3. Open GNOME Weather at least once, so it embeds a forecast in the 
notifications menu
+ 3. Open the application requesting your location
  4. Do something latency-sensitive on WiFi, like SSH or ping
- 
  
  Hypothesis:
  
- When GNOME Weather is running in the background and location services
- are enabled, it seems to tell geoclue to use NetworkManager's D-Bus API
- for letting wpasupplicant scan for surrounding networks very often. This
- causes lots of latency spikes and visible lag.
+ When an application requesting your location is running in the
+ background and location services are enabled, it seems to tell geoclue
+ to use NetworkManager's D-Bus API for letting wpasupplicant scan for
+ surrounding networks very often. This causes lots of latency spikes and
+ visible lag.
  
  Typing characters in an SSH session is rather laggy, and running
  something as simple as mtr 192.168.1.1 will show that every ~20 seconds
  the latency is over 100ms and packet loss occurs, while it's normally
  around 1.5ms with no packet loss. There are probably lots of other
  issues caused by this as well.
  
  When a WiFi adapter scans for SSID's, it has to switch channels,
  delaying or dropping traffic in the meanwhile. This is what causes the
  lag and packet loss.
  
- Disabling location services in gnome-control-center and disabling
- automatic location in gnome-weather solves this issue.
+ On phones connected to LTE this may make sense, but on a laptop which
+ uses WiFi as its active network, this is detrimental to the connection.
+ 
+ Changing /etc/geoclue/geoclue.conf to disable WiFi scanning, solves this
+ problem:
+ 
+ [wifi]
+ enable=false
+ 
+ On Ubuntu 18.04, this setting was the default. On Ubuntu 20.04, it has
+ changed to 'true'.
  
  
  Expected behaviour:
  
- Don't break WiFi for a weather report.
- 
+ Don't break WiFi for a location scan.
  
  $ lsb_release -rd
  Description:  Ubuntu 20.04 LTS
  Release:      20.04
  
- 
- $ apt-cache policy gnome-weather
- gnome-weather:
-   Installed: 3.36.1-1
-   Candidate: 3.36.1-1
+ $ apt-cache policy geoclue-2.0
+ geoclue-2.0:
+   Installed: 2.5.6-0ubuntu1
+   Candidate: 2.5.6-0ubuntu1
    Version table:
-  *** 3.36.1-1 500
-         500 http://nl.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
-         500 http://nl.archive.ubuntu.com/ubuntu focal/universe i386 Packages
+  *** 2.5.6-0ubuntu1 500
+         500 http://nl.archive.ubuntu.com/ubuntu focal/main amd64 Packages
          100 /var/lib/dpkg/status

** Summary changed:

- geoclue polls wpasupplicant SSID list too often
+ geoclue polls wpasupplicant SSID list too often, resulting in lag and packet 
loss

** Description changed:

  Steps to reproduce:
  
  1. Install GNOME Weather, or GNOME Clocks, or basically anything that 
determines your location
- 2. In GNOME Control Center > Privacy, enable Location Services
+ 2. In GNOME Control Center > Privacy, enable Location Services (note that I 
am unsure about this part; it may not even be necessary)
  3. Open the application requesting your location
  4. Do something latency-sensitive on WiFi, like SSH or ping
  
  Hypothesis:
  
  When an application requesting your location is running in the
  background and location services are enabled, it seems to tell geoclue
  to use NetworkManager's D-Bus API for letting wpasupplicant scan for
  surrounding networks very often. This causes lots of latency spikes and
  visible lag.
  
  Typing characters in an SSH session is rather laggy, and running
  something as simple as mtr 192.168.1.1 will show that every ~20 seconds
  the latency is over 100ms and packet loss occurs, while it's normally
  around 1.5ms with no packet loss. There are probably lots of other
  issues caused by this as well.
  
  When a WiFi adapter scans for SSID's, it has to switch channels,
  delaying or dropping traffic in the meanwhile. This is what causes the
  lag and packet loss.
  
  On phones connected to LTE this may make sense, but on a laptop which
  uses WiFi as its active network, this is detrimental to the connection.
  
  Changing /etc/geoclue/geoclue.conf to disable WiFi scanning, solves this
  problem:
  
  [wifi]
  enable=false
  
  On Ubuntu 18.04, this setting was the default. On Ubuntu 20.04, it has
  changed to 'true'.
  
- 
  Expected behaviour:
  
  Don't break WiFi for a location scan.
  
  $ lsb_release -rd
  Description:  Ubuntu 20.04 LTS
  Release:      20.04
  
  $ apt-cache policy geoclue-2.0
  geoclue-2.0:
-   Installed: 2.5.6-0ubuntu1
-   Candidate: 2.5.6-0ubuntu1
-   Version table:
-  *** 2.5.6-0ubuntu1 500
-         500 http://nl.archive.ubuntu.com/ubuntu focal/main amd64 Packages
-         100 /var/lib/dpkg/status
+   Installed: 2.5.6-0ubuntu1
+   Candidate: 2.5.6-0ubuntu1
+   Version table:
+  *** 2.5.6-0ubuntu1 500
+         500 http://nl.archive.ubuntu.com/ubuntu focal/main amd64 Packages
+         100 /var/lib/dpkg/status

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1875172

Title:
  geoclue polls wpasupplicant SSID list too often, resulting in lag and
  packet loss

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/geoclue-2.0/+bug/1875172/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to