From: Kevin Dewald <kevin@simpleble.org>
To: linux-bluetooth@vger.kernel.org
Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
Kevin Dewald <kevin@simpleble.org>
Subject: [PATCH BlueZ v2 0/6] Add Connectable property to org.bluez.Device
Date: Thu, 1 Oct 2026 22:46:11 -0700 [thread overview]
Message-ID: <20261002054618.30994-1-kevin@simpleble.org> (raw)
bluetoothd records whether each advertising report was connectable,
from the Device Found event's Not Connectable flag, and uses it
internally, for example to pick the bearer to connect and to drop
temporary non-connectable devices when discovery stops. Applications
cannot read it over D-Bus, so they have to guess, e.g. from whether the
device has a name, which is wrong for named beacons and for unnamed
peripherals.
This series exposes it as a read-only Connectable property on
org.bluez.Device1 and on the org.bluez.Bearer.LE1 and
org.bluez.Bearer.BREDR1 interfaces, emitted when it first becomes known
and whenever it changes. bluetoothctl prints it in info, and prints
devices that are discoverable but not connectable in red.
Tested with an nRF52840 switching between ADV_IND, ADV_SCAN_IND and
ADV_NONCONN_IND advertising: Device1 and Bearer.LE1 follow each change,
including PropertiesChanged in both directions on a device kept by
continuous discovery, and the non-connectable profiles, which keep the
discoverable flags, are printed in red.
Changes in v2:
- Add Connectable to org.bluez.Bearer.LE1 and org.bluez.Bearer.BREDR1,
so the LE value is visible for dual-mode devices (Luiz)
- Print discoverable broadcasters in red in bluetoothctl (Luiz)
- Print LE.Connectable and BREDR.Connectable in info
- Document the property type as boolean, like most of org.bluez.Device
- Rebase on master
Kevin Dewald (6):
org.bluez.Device: Add Connectable property
org.bluez.Bearer: Add Connectable property
device: Add Connectable property
bearer: Add Connectable property
client: Print Connectable in info
client: Print discoverable broadcasters in red
client/main.c | 32 ++++++++++++++++++++
doc/org.bluez.Bearer.BREDR.rst | 6 ++++
doc/org.bluez.Bearer.LE.rst | 12 ++++++++
doc/org.bluez.Device.rst | 11 +++++++
src/bearer.c | 38 ++++++++++++++++++++++++
src/bearer.h | 1 +
src/device.c | 54 ++++++++++++++++++++++++++++++++++
src/device.h | 2 ++
8 files changed, 156 insertions(+)
--
2.54.0 (Apple Git-157)
next reply other threads:[~2026-10-02 5:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 5:46 Kevin Dewald [this message]
2026-10-02 5:46 ` [PATCH BlueZ v2 1/6] org.bluez.Device: Add Connectable property Kevin Dewald
2026-10-02 12:16 ` Add Connectable property to org.bluez.Device bluez.test.bot
2026-10-02 5:46 ` [PATCH BlueZ v2 2/6] org.bluez.Bearer: Add Connectable property Kevin Dewald
2026-10-02 5:46 ` [PATCH BlueZ v2 3/6] device: " Kevin Dewald
2026-10-02 5:46 ` [PATCH BlueZ v2 4/6] bearer: " Kevin Dewald
2026-10-02 5:46 ` [PATCH BlueZ v2 5/6] client: Print Connectable in info Kevin Dewald
2026-10-02 5:46 ` [PATCH BlueZ v2 6/6] client: Print discoverable broadcasters in red Kevin Dewald
2026-10-02 15:00 ` [PATCH BlueZ v2 0/6] Add Connectable property to org.bluez.Device patchwork-bot+bluetooth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261002054618.30994-1-kevin@simpleble.org \
--to=kevin@simpleble.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.