Skip to contentSkip to conversation

policy: Change AutoEnable default to true

PATCH Applied Luiz Augusto von Dentz 4 participants 5 messages Apr 13, 2022 – Apr 19, 2022 Bluetooth drivers

lore
Share & tools
lore

Luiz Augusto von Dentz

author maintainer
#0 lore raw

PATCH 1/1 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.

---
 plugins/policy.c | 6 +++++-
 src/main.conf    | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)
plugins/policy.c +5 -1
index 48f5db7d3..0bbdbfc88 100644
@@ -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);
src/main.conf +2 -2
index 401796235..91b98b8c4 100644
@@ -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
Signature · 1 line
2.35.1
#1 lore raw

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

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

Hello:

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

Quoted 8 lines · 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.

[...]

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!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
maintainer
#3 lore raw
In reply to Luiz Augusto von Dentz

Hi Luiz,

Quoted 31 lines

This changes the default of AutoEnable to true so controllers are power up by default.

---
plugins/policy.c | 6 +++++-
src/main.conf | 4 ++--

2 files changed, 7 insertions(+), 3 deletions(-)
plugins/policy.c +5 -1
index 48f5db7d3..0bbdbfc88 100644
@@ -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);
src/main.conf +0 -0
index 401796235..91b98b8c4 100644

src/main.conf line 280

Quoted 7 lines
src/main.conf +2 -2
@@ -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

author maintainer
#4 lore raw

Hi Marcel,

Quoted 44 lines · Marcel Holtmann

Hi Luiz,

Quoted 31 lines

This changes the default of AutoEnable to true so controllers are power up by default.

---
plugins/policy.c | 6 +++++-
src/main.conf | 4 ++--

2 files changed, 7 insertions(+), 3 deletions(-)
plugins/policy.c +5 -1
index 48f5db7d3..0bbdbfc88 100644
@@ -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);
src/main.conf +0 -0
index 401796235..91b98b8c4 100644

src/main.conf line 280

Quoted 7 lines
src/main.conf +2 -2
@@ -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.

Quoted 3 lines

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?

Quoted 4 lines

Regards

Marcel

Signature · 1 line
Luiz Augusto von Dentz