I am brand new to Bluetooth, BLE, and D-Bus, so please forgive me if my question sounds naive. I see a description of the D-Bus interface at https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/advertising-api.txt and it appears that I can interact with the bluetoothd using bluetoothctl via this interface. But when I run a utility such as d-feet, and search for org.bluez, all I find are org.bluez.AgentManager1 and org.bluez.ProfileManager1. I guess I was expecting to also see org.bluez.LEAdvertisement1. So... I have a very general (set of) question(s), which is... how is org.bluez.LEAdvertisement1 different than org.bluez.Agent1 and why can't I just "use the API defined by that interface"? One thing I _do_ notice in the documentation is that that Agent1 interface also specifies an object path (/org/bluez) whereas the LEAdvertising1 interface describes the Object Path as "freely definable". What's up with that? What does that really mean? And yes, I have looked in the source code for bluez (5.50) and I see how bluetoothctl does a whole bunch of D-Bus'y things to use the LEAdvertisement1 interface. At the moment, I am trying to extend an existing Bluetooth framework (https://github.com/nettlep/gobbledegook) to support setting LE Advertising parameters, and the author of that framework does all of his D-Bus'y things differently. So, now it's time for me to understand better how D-Bus'y things work so that I can compare and contrast the two approaches, learn something, and, ideally, start publishing some service UUID's with my BLE peripheral. Thanks for any clues anybody can pass my way. --wpd