So NM 1.1.93-0ubuntu1 includes the patch default_powersave_on.patch,
which is pretty simple, it just modifies the NMSettingWireless code to
default powersave to 1:

===================================================================
--- a/libnm-util/nm-setting-wireless.c
+++ b/libnm-util/nm-setting-wireless.c
@@ -675,7 +675,7 @@ nm_setting_wireless_get_hidden (NMSettin
 guint32
 nm_setting_wireless_get_powersave (NMSettingWireless *setting)
 {
-       g_return_val_if_fail (NM_IS_SETTING_WIRELESS (setting), 0);
+       g_return_val_if_fail (NM_IS_SETTING_WIRELESS (setting), 1);
 
        return NM_SETTING_WIRELESS_GET_PRIVATE (setting)->powersave;
 }
@@ -885,6 +885,9 @@ verify (NMSetting *setting, GSList *all_
 static void
 nm_setting_wireless_init (NMSettingWireless *setting)
 {
+       NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE 
(setting);
+
+       priv->powersave = 1;
 }
 
 static void
@@ -1283,7 +1286,7 @@ nm_setting_wireless_class_init (NMSettin
        g_object_class_install_property
                (object_class, PROP_POWERSAVE,
                 g_param_spec_uint (NM_SETTING_WIRELESS_POWERSAVE, "", "",
-                                   0, G_MAXUINT32, 0,
+                                   0, G_MAXUINT32, 1,
                                    G_PARAM_READWRITE |
                                    G_PARAM_STATIC_STRINGS));
 }

...unfortunately, the NM1.2 treats powersave=1 as IGNORE:

/**                                                                             
                                                                                
                                             
 * NMSettingWirelessPowersave:                                                  
                                                                                
                                             
 * @NM_SETTING_WIRELESS_POWERSAVE_DEFAULT: use the default value                
                                                                                
                                             
 * @NM_SETTING_WIRELESS_POWERSAVE_IGNORE: don't touch existing setting          
                                                                                
                                             
 * @NM_SETTING_WIRELESS_POWERSAVE_DISABLE: disable powersave                    
                                                                                
                                             
 * @NM_SETTING_WIRELESS_POWERSAVE_ENABLE: enable powersave                      
                                                                                
                                             
 *                                                                              
                                                                                
                                             
 * These flags indicate whether wireless powersave must be enabled.             
                                                                                
                                             
 **/
typedef enum {
    NM_SETTING_WIRELESS_POWERSAVE_DEFAULT       = 0,
    NM_SETTING_WIRELESS_POWERSAVE_IGNORE        = 1,
    NM_SETTING_WIRELESS_POWERSAVE_DISABLE       = 2,
    NM_SETTING_WIRELESS_POWERSAVE_ENABLE        = 3,
    _NM_SETTING_WIRELESS_POWERSAVE_NUM, /*< skip >*/
    NM_SETTING_WIRELESS_POWERSAVE_LAST          =  
_NM_SETTING_WIRELESS_POWERSAVE_NUM - 1, /*< skip >*/
} NMSettingWirelessPowersave;

...and the code in NMDeviceWiFi will only enable powersave if the value
returned from NMSettingWireless is 3:


if (powersave == NM_SETTING_WIRELESS_POWERSAVE_IGNORE)
    return;

nm_platform_wifi_set_powersave (NM_PLATFORM_GET,
                                nm_device_get_ifindex (device),
                                powersave == 
NM_SETTING_WIRELESS_POWERSAVE_ENABLE);


** Changed in: network-manager (Ubuntu)
   Importance: Undecided => High

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

Title:
  Network Manager sets powersave off by default in xenial

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1557026/+subscriptions

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

Reply via email to