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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs