Skip to content

Enhancement: Implement Agent to manage incoming Bluetooth connections#72

Open
Taybenberg wants to merge 2 commits intoSuessLabs:developfrom
Taybenberg:feature/implement-agent
Open

Enhancement: Implement Agent to manage incoming Bluetooth connections#72
Taybenberg wants to merge 2 commits intoSuessLabs:developfrom
Taybenberg:feature/implement-agent

Conversation

@Taybenberg
Copy link
Copy Markdown

@Taybenberg Taybenberg commented Mar 26, 2026

Details

This PR adds an implementation of the BlueZ pairing Agent and AgentManager.

The Agent implements the org.bluez.Agent1 interface and allows applications
to handle incoming Bluetooth pairing requests (PIN code, passkey, confirmation,
authorization, and service authorization).

The AgentManager provides a wrapper for the org.bluez.AgentManager1 interface
and is used to register, unregister, and optionally set the agent as the
default system agent.

An example project demonstrating how to work with the BlueZ Agent was also added.

All capability modes were tested:

  • DisplayOnly
  • DisplayYesNo
  • KeyboardOnly
  • NoInputNoOutput
  • KeyboardDisplay

Testing environment:

  • Raspberry Pi 3
  • Raspberry Pi OS 64-bit (Debian 13 "Trixie")

During testing the following Bluetooth daemon configuration with custom settings
was used (/etc/bluetooth/main.conf):

Class = 0x200414
AlwaysPairable = true
FastConnectable = true
JustWorksRepairing = always
AutoEnable = false

Linked To Issue/Feature

@DamianSuess
Copy link
Copy Markdown
Contributor

Thank you for the pull request, going to pull it back in give it some tests to see how it goes. Always appreciate seeing good enhancements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants