Hi Marcel, I am okay with Types = ["le", "bredr"]. However, I don't understand why a user should be able to change the Type, since this property describes the fact about a peer device, not a local adapter. What does it mean by a user changing the type of a peer device? Also, I don't understand why HS needs to be considered in that property, since I see org.bluez.Device1 objects as discovered devices either through Inquiry (in which case it'd be "bredr") or Advertisement (in which case it'd be "le"), or both. HS seems to be one of remote features rather than a type. Also the HS information is also not readily available in the struct btd_device, or even src/device.c, which suggests that it has been treated differently. On Tue, May 19, 2020 at 11:50 PM Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > > Hi Sonny, > > > After giving it more thought, I would like to propose that this > > additional property corresponds with Device Type as defined in Generic > > Access Profile: > > > > As stated in Bluetooth Core Specification Version 5.2, Vol 3, Part C > > (Generic Access Profile): > > This profile defines three device types based on the supported Core > > Configurations as defined in [Vol 0] Part B, Section 3.1. The device > > types are shown in Table 1.1: > > * BR/EDR > > * LE only > > * BR/EDR/LE > > > > Therefore, to be as close to the spec as possible, I propose that the > > property be named GAPDeviceType, and the possible values be "br/edr", > > "le-only", "br/edr/le". > > > > What do you think? Thanks for reviewing this proposal! > > maybe we should do SupportedTypes = [“le”, “bredr”, “hs”] since that also maps to what we expose in MGMT. And then add a Types = [ .. ] property with the same values. I don’t like using GAP in property names and repeating Device is also not needed since we are already in the Device interface. In addition I have a reservation with spec naming in this area since it has changed over time and there is a chance it might change again in future specs when new features come along. > > If you know the supported types of the hardware and the selected types, you can easily get to the GAP Device Type from the spec if you actually want to show it. If you wanted to, you could make the Types property writeable as well and users could change their device type via D-Bus. > > Regards > > Marcel >