Message ID | 20220413222425.187199-1-luiz.dentz@gmail.com |
---|---|
State | New |
Headers | show |
Series | [BlueZ] policy: Change AutoEnable default to true | expand |
Hello: This patch was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Wed, 13 Apr 2022 15:24:25 -0700 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > This changes the default of AutoEnable to true so controllers are power > up by default. > > Fixes: https://github.com/bluez/bluez/issues/328 > > [...] Here is the summary with links: - [BlueZ] policy: Change AutoEnable default to true https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=180cf09933b2 You are awesome, thank you!
Hi Luiz, > This changes the default of AutoEnable to true so controllers are power > up by default. > > Fixes: https://github.com/bluez/bluez/issues/328 > --- > plugins/policy.c | 6 +++++- > src/main.conf | 4 ++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/plugins/policy.c b/plugins/policy.c > index 48f5db7d3..0bbdbfc88 100644 > --- a/plugins/policy.c > +++ b/plugins/policy.c > @@ -892,7 +892,11 @@ static int policy_init(void) > } > > auto_enable = g_key_file_get_boolean(conf, "Policy", "AutoEnable", > - NULL); > + &gerr); > + if (gerr) { > + g_clear_error(&gerr); > + auto_enable = true; > + } > > resume_delay = g_key_file_get_integer( > conf, "Policy", "ResumeDelay", &gerr); > diff --git a/src/main.conf b/src/main.conf > index 401796235..91b98b8c4 100644 > --- a/src/main.conf > +++ b/src/main.conf > @@ -276,8 +276,8 @@ > > # AutoEnable defines option to enable all controllers when they are found. > # This includes adapters present on start as well as adapters that are plugged > -# in later on. Defaults to 'false'. > -#AutoEnable=false > +# in later on. Defaults to 'true'. > +#AutoEnable=true so this is problematic since all wireless technology daemon where design to not automatically activate their hardware. It needed a system above like ConnMan, NetworkManager or even the UI to start the operation. It is especially tricky since bluetoothd doesn’t remember the last state. So if you power off, then restart, it is on again the next time around. Not something you might have wanted. Using false here is the right choice as a default. If you install systemd-rfkill and want to auto-power once soft-rfkill is released and systemd-rfkill remembers the state persistently, then you need to install your main.conf with AutoEnable=true. That is a distro choice. Regards Marcel
Hi Marcel, On Tue, Apr 19, 2022 at 1:48 AM Marcel Holtmann <marcel@holtmann.org> wrote: > > Hi Luiz, > > > This changes the default of AutoEnable to true so controllers are power > > up by default. > > > > Fixes: https://github.com/bluez/bluez/issues/328 > > --- > > plugins/policy.c | 6 +++++- > > src/main.conf | 4 ++-- > > 2 files changed, 7 insertions(+), 3 deletions(-) > > > > diff --git a/plugins/policy.c b/plugins/policy.c > > index 48f5db7d3..0bbdbfc88 100644 > > --- a/plugins/policy.c > > +++ b/plugins/policy.c > > @@ -892,7 +892,11 @@ static int policy_init(void) > > } > > > > auto_enable = g_key_file_get_boolean(conf, "Policy", "AutoEnable", > > - NULL); > > + &gerr); > > + if (gerr) { > > + g_clear_error(&gerr); > > + auto_enable = true; > > + } > > > > resume_delay = g_key_file_get_integer( > > conf, "Policy", "ResumeDelay", &gerr); > > diff --git a/src/main.conf b/src/main.conf > > index 401796235..91b98b8c4 100644 > > --- a/src/main.conf > > +++ b/src/main.conf > > @@ -276,8 +276,8 @@ > > > > # AutoEnable defines option to enable all controllers when they are found. > > # This includes adapters present on start as well as adapters that are plugged > > -# in later on. Defaults to 'false'. > > -#AutoEnable=false > > +# in later on. Defaults to 'true'. > > +#AutoEnable=true > > so this is problematic since all wireless technology daemon where design to not automatically activate their hardware. It needed a system above like ConnMan, NetworkManager or even the UI to start the operation. > > It is especially tricky since bluetoothd doesn’t remember the last state. So if you power off, then restart, it is on again the next time around. Not something you might have wanted. Using false here is the right choice as a default. > > If you install systemd-rfkill and want to auto-power once soft-rfkill is released and systemd-rfkill remembers the state persistently, then you need to install your main.conf with AutoEnable=true. That is a distro choice. The argument was that nowadays most systems ship with systemd-rfkill so having AutoEnable=true is much more common than the old default, perhaps we could detect if the system has systemd-rfkill than we default to AutoEnable=true automatically, does this sound better to you? > Regards > > Marcel >
diff --git a/plugins/policy.c b/plugins/policy.c index 48f5db7d3..0bbdbfc88 100644 --- a/plugins/policy.c +++ b/plugins/policy.c @@ -892,7 +892,11 @@ static int policy_init(void) } auto_enable = g_key_file_get_boolean(conf, "Policy", "AutoEnable", - NULL); + &gerr); + if (gerr) { + g_clear_error(&gerr); + auto_enable = true; + } resume_delay = g_key_file_get_integer( conf, "Policy", "ResumeDelay", &gerr); diff --git a/src/main.conf b/src/main.conf index 401796235..91b98b8c4 100644 --- a/src/main.conf +++ b/src/main.conf @@ -276,8 +276,8 @@ # AutoEnable defines option to enable all controllers when they are found. # This includes adapters present on start as well as adapters that are plugged -# in later on. Defaults to 'false'. -#AutoEnable=false +# in later on. Defaults to 'true'. +#AutoEnable=true # Audio devices that were disconnected due to suspend will be reconnected on # resume. ResumeDelay determines the delay between when the controller
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> This changes the default of AutoEnable to true so controllers are power up by default. Fixes: https://github.com/bluez/bluez/issues/328 --- plugins/policy.c | 6 +++++- src/main.conf | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-)