2022-04-13 23:32:29

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ] policy: Change AutoEnable default to true

From: Luiz Augusto von Dentz <[email protected]>

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

# Audio devices that were disconnected due to suspend will be reconnected on
# resume. ResumeDelay determines the delay between when the controller
--
2.35.1


2022-04-15 12:44:20

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] policy: Change AutoEnable default to true

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=632044

---Test result---

Test Summary:
CheckPatch PASS 1.38 seconds
GitLint PASS 1.02 seconds
Prep - Setup ELL PASS 42.71 seconds
Build - Prep PASS 0.68 seconds
Build - Configure PASS 8.60 seconds
Build - Make PASS 1282.51 seconds
Make Check PASS 11.48 seconds
Make Check w/Valgrind PASS 438.79 seconds
Make Distcheck PASS 226.86 seconds
Build w/ext ELL - Configure PASS 8.56 seconds
Build w/ext ELL - Make PASS 1249.86 seconds
Incremental Build with patchesPASS 1279.41 seconds



---
Regards,
Linux Bluetooth

2022-04-19 11:38:42

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH BlueZ] policy: Change AutoEnable default to true

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

2022-04-19 23:48:10

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH BlueZ] policy: Change AutoEnable default to true

Hi Marcel,

On Tue, Apr 19, 2022 at 1:48 AM Marcel Holtmann <[email protected]> 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
>


--
Luiz Augusto von Dentz

2022-04-20 10:46:59

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH BlueZ] policy: Change AutoEnable default to true

Hello:

This patch was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <[email protected]>:

On Wed, 13 Apr 2022 15:24:25 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> 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!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html