Here is a screen cast recording for better illustration.

** Description changed:

- The value of "WwanEnabled" under "org.freedesktop.NetworkManager" is not
- synced correctly, which will lead to a airplane mode switching failure
- when host has WWAN device(s).
+ [ Impact ]
  
- There is a MR on the upstream project, which can solve this bug.
- https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/310
+  * Sometimes on devices with WWAN card, whenever user presses the
+ wireless function key (Fn+F8) or turn on the airplane mode radio button
+ in Settings, the airplane mode will not be enabled, and the airplane
+ mode icon is not shown in the status bar.
  
- The description copied from the MR:
+  * There is a unmerged upstream merge request that delivers the fix:
+ https://gitlab.gnome.org/GNOME/gnome-settings-
+ daemon/-/merge_requests/310
  
- g-signal is not fired on property changes, so nm_signal is never called,
- and all changes of NetworkManager's WwanEnabled property are missed.
- That leads to an inability to disable the airplane mode on laptops with
- WWAN after the airplane mode was once enabled by button.
+ It works perfectly well on several Lenovo laptops with WWAN cards.
+ The root causes is that the value of "WwanEnabled" under 
"org.freedesktop.NetworkManager" is not synced correctly, gsd-rfkill should 
listen to "g-properties-changed" instead of "g-signal" now.
  
- Fix this by subscribing to g-properties-changed to actually listen to
- the updates of WwanEnabled. It also makes the code simpler.
+ [ Test Plan ]
  
- ==================================
+  1. Find a machine which has WWAN card.
+  2. Boot the machine, and run rfkill list to see if WWAN is unblocked. if not 
use rfkill to unblock the WWAN, and reboot.
+  3. Press the wireless media key (Fn+F8) or turn on the airplane mode radio 
button in Settings.
+  4. The airplane mode should be enabled, but actually not.
+ 
+ [ Where problems could occur ]
+ 
+  * When user is using a very low version network-manager that still
+ broadcasting DBUS "PropertiesChanged" events on "g-signal" instead of
+ the concurrent "g-properties-changed", the airplane mode will sometimes
+ not be able to enable.
+ 
+ [ Other Info ]
  
  1. About Ubuntu
  Description:    Ubuntu 22.04.2 LTS
  Release:        22.04
+ Kernel:         6.1.0-1007-oem
  
  2. The version of packages:
- 
  gnome-settings-daemon:
-   Installed: 42.1-1ubuntu2.1
+   Installed: 42.1-1ubuntu2.1
  
  network-manager:
-   Installed: 1.36.6-0ubuntu2
+   Installed: 1.36.6-0ubuntu2
  
  3. Expect:
  The function nm_signal(plugins/rfkill/gsd-rfkill-manager.c) is called, and 
manager->wwan_enabled is set to the correct value.
  
  4. Actual:
  The function nm_signal(plugins/rfkill/gsd-rfkill-manager.c) is never called, 
so manager->wwan_enabled is not synced, If machine has WWAN device(s), and the 
initial value of manager->wwan_enabled is true, it will never be able to switch 
to airplane mode.

** Attachment added: "cannot-enable-ariplane-mode.webm"
   
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/2011770/+attachment/5654814/+files/cannot-enable-ariplane-mode.webm

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/2011770

Title:
  [gsd-rfkill] WwanEnabled never get synced

Status in OEM Priority Project:
  Triaged
Status in gnome-settings-daemon package in Ubuntu:
  Confirmed

Bug description:
  [ Impact ]

   * Sometimes on devices with WWAN card, whenever user presses the
  wireless function key (Fn+F8) or turn on the airplane mode radio
  button in Settings, the airplane mode will not be enabled, and the
  airplane mode icon is not shown in the status bar.

   * There is a unmerged upstream merge request that delivers the fix:
  https://gitlab.gnome.org/GNOME/gnome-settings-
  daemon/-/merge_requests/310

  It works perfectly well on several Lenovo laptops with WWAN cards.
  The root causes is that the value of "WwanEnabled" under 
"org.freedesktop.NetworkManager" is not synced correctly, gsd-rfkill should 
listen to "g-properties-changed" instead of "g-signal" now.

  [ Test Plan ]

   1. Find a machine which has WWAN card.
   2. Boot the machine, and run rfkill list to see if WWAN is unblocked. if not 
use rfkill to unblock the WWAN, and reboot.
   3. Press the wireless media key (Fn+F8) or turn on the airplane mode radio 
button in Settings.
   4. The airplane mode should be enabled, but actually not.

  [ Where problems could occur ]

   * When user is using a very low version network-manager that still
  broadcasting DBUS "PropertiesChanged" events on "g-signal" instead of
  the concurrent "g-properties-changed", the airplane mode will
  sometimes not be able to enable.

  [ Other Info ]

  1. About Ubuntu
  Description:    Ubuntu 22.04.2 LTS
  Release:        22.04
  Kernel:         6.1.0-1007-oem

  2. The version of packages:
  gnome-settings-daemon:
    Installed: 42.1-1ubuntu2.1

  network-manager:
    Installed: 1.36.6-0ubuntu2

  3. Expect:
  The function nm_signal(plugins/rfkill/gsd-rfkill-manager.c) is called, and 
manager->wwan_enabled is set to the correct value.

  4. Actual:
  The function nm_signal(plugins/rfkill/gsd-rfkill-manager.c) is never called, 
so manager->wwan_enabled is not synced, If machine has WWAN device(s), and the 
initial value of manager->wwan_enabled is true, it will never be able to switch 
to airplane mode.

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/2011770/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to