I forgot to mention, that the bluetooth-meshd must be built with the latest master of the ELL library (with my D-Bus patches). Otherwise, switching from the GATT provisioning service to the GATT proxy service will not work. On Tuesday, 1 July 2025, 16:22:19 CEST, Christian Eggers wrote: > This series adds initial support for the GATT Proxy Service feature. > This allows provision and management of MESH devices from mobile phones. > > Before continuing, I would be happy to get some feedback about this initial > part (and about what has to be done in order to mainline it). Any help for > doing the missing features (e.g. relaying between GATT and ADV) would be > highly appreciated. > > What seems to work: > - Provisioning from another Linux computer via meshctl (sometimes I need > to repeatedly enter 'discover-unprovisioned on' and 'provision <uuid>' > if it doesn't work on the first try). > - Reading the composition (composition-get in meshctl). It looks like > meshctl tries to connect to the GATT Proxy Service automatically after > provisioning, but I have to enter 'connect' several times in order to > get a connection. You also need to manually set the target unicast > address ('target' command in 'config' menu). > - Adding extra network keys (Advertising for GATT Proxy Service cycles > between different network ids every 3 seconds). > - Transferring and binding of application keys. > - Using the OnOff client in meshctl (you again have to set the unicast > address in the 'onoff' menu). > - Provisioning and configuration of an OnOff device from iOS (using > the SMART+ app from Ledvance). This app requires at least basic > support for proxy configuration messages (patch 4/4). > > What maybe added later: > - Proper selection of the output interface (GATT vs. ADV) when sending > messages. > - Relaying of network messages / beacons between GATT and ADV > interfaces (in order to access further devices via the proxy). > > Note: I don't use the test-join script, because python3-pygobject is > (currently) not available on my (embedded) system. Instead, I use a > custom C++ program for the 'Join' and 'Attach' D-Bus calls. >