Hi all, this is my 2nd RFC for adding GATT provisioning and GATT proxy service. These patches should work on top of my latest Mesh series I just sent: https://lore.kernel.org/linux-bluetooth/20250711173958.25689-1-ceggers@xxxxxxx/ Please don't forget to update the Ell library to the latest master revision. Compared to the 1st RFC series, I have made a couple of cleanups and worked on the following features: - Proxy configuration messages / Proxy filtering - Propagation of Beacons via GATT - Relaying between ADV and GATT (after running 'relay-set' and 'proxy-set' in meshctl). After provisioning two nodes via GATT (with meshctl), I can connect to one of these nodes and control both from the 'onoff' client. So at least basic proxy relaying should work now. 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. I just noticed that 'test-join' has been superseded by 'test-mesh'. I'll do some testing with this tool next week. Happy reviewing :-) Christian