Re: blued: bluetooth daemon - looking for testers

From: Andreas Kempe <kempe_at_lysator.liu.se>
Date: Mon, 27 Jun 2022 20:28:12 UTC
On Mon, Jun 27, 2022 at 09:52:05PM +0200, Dirk Engling wrote:
> 
> On Mon, 27 Jun 2022, Andreas Kempe wrote:
> 
> > After having issues with my bluetooth mouse, I figured out that the
> > problem was a lack of support for secure simple pairing and I reported
> > on this a while back to freebsd-bluetooth and freebsd-hackers. This
> > sent me down the rabbit hole of working on my own bluetooth daemon
> > with the goal of providing a user friendly way of pairing and using
> > bluetooth devices.
> 
> I was at a similar point and wrote
> 
>    man 8 bluetooth-config
> 
> a while ago. Did you find this and how does your approach differ?
> 

The biggest difference in bluetooth functionality at the moment is
that I implemented support for secure simple pairing, something that
was missing in hcsecd, not allowing for my mouse to pair correctly. It
would connect once, but refuse to reconnect. Functionality that could
have been amended to hcsecd for sure and I did submit a rough PoC to
the mailing lists that garnered no response. Thinking a bit about it,
I wanted to aim a bit differently and realised I would most likely be
rewriting the whole of hcsecd anyway.

My wish is to provide something with an RPC that allows an
unprivileged user to configure and manage bluetooth devices. blued
listens on a unix socket and has a msgpack based IPC that allows a
used with sufficient permissions on the socket to manage devices that
are saved to an sqlite3 database.

At the moment, I only provide a command line client, but a goal is to
provide some kind of graphical user interface that can list devices
and make the use of a command line unnecessary. My ideal is a process
that looks much like the one on a Linux system, where the user sees
devices in proximity pop up in a list, click it, select pair and the
mouse starts working.

As I wrote in the mail you responded to, this current version relies
on a stand-alone bthidd for the mouse functionality, but when the
pairing support has gotten to a point where it seems stable and
working out in reality, I want to integrate bthidd with blued in some
manner to make it seamless via the blued IPC API.

Cordially,
Andreas Kempe