Hi Chen, 2012/3/27 Ganir, Chen <chen.ganir@xxxxxx>: >> > + /* Vendor Source*/ >> > + if (device->vendor_src) >> > + dict_append_entry(&dict, "VendorSource", >> DBUS_TYPE_UINT16, >> > + &device- >> >vendor_src); >> > + >> >> * How does this work for BR/EDR devices (without GATT)? Is zero a >> valid value for these devices? > > For BR/EDR, you may have either DID or DIS. None of the specs define what is the relationship between those on BR/EDR (since in theory you may have both at the same time), so no special code was added to handle such a situation. As far as I can see, in a GATT capable device, the DIS should replace the DID since it extends its capabilities, but this is totally vendor dependant. > > Regarding default values, the spec does not specify valid range for product id and product version. Both for DID in BR/EDR and DIS in LE, those values are totally dependent on vendor implementation and have no limits. > > For the Vendor ID Source, 0x0000 is a reserved for future use, and currently should not be used. > A default value for nonexistent VID according to the DID spec is 0xFFF (the DIS spec does not define such a value). > > The current device.c implementation was not changed, meaning that for the D-BUS interface, having a 0 value will remove the property from the dbus dictionary. > > Do we want to change this behavior ? Maybe add a short bitmask field for existing fields ? What do you think ? I was more worried about what happens on BR/EDR case (with GATT disabled), but with your explanation, I believe there is no issue on this part. Regarding DID vs. DIS, I think at least the information needs to be stored/managed on a single place. It is very unlikely that some vendor will use conflicting information on these services. Regards, -- Anderson Lizardo Instituto Nokia de Tecnologia - INdT Manaus - Brazil -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html