Hello Caludio 2011/9/19 Claudio Takahasi <claudio.takahasi@xxxxxxxxxxxxx>: > Hi Santiago, > > On Mon, Sep 19, 2011 at 11:39 AM, Anderson Lizardo > <anderson.lizardo@xxxxxxxxxxxxx> wrote: >> Hi, >> >> On Mon, Sep 19, 2011 at 8:57 AM, Santiago Carot <sancane@xxxxxxxxx> wrote: >>>>> static int thermometer_driver_probe(struct btd_device *device, GSList *uuids) >>>>> { >>>>> - return thermometer_register(connection, device); >>>>> + struct att_primary *tattr; >>>>> + GSList *l, *primaries; >>>>> + >>>>> + primaries = btd_device_get_primaries(device); >>>>> + >>>>> + l = g_slist_find_custom(primaries, HEALTH_THERMOMETER_SVC_UUID, >>>>> + primary_uuid_cmp); >>>> >>>> I think this is incorrect. You should compare against the 128-bit >>>> UUID, not the 16-bit one. I.e. use HEALTH_THERMOMETER_UUID here. >>> >>> Are you sure?. In my tests, the function btd_device_get_primaries only >>> gives me 16-bit UUIDs. If I try the 128-bit ones it doesn't work. That >>> the reason wich I did this. Do you have any idea for this? >> >> A bug maybe? See the proximity monitor manager.c, it uses 128-bit >> string. Claudio, any comments? >> >> Regards, >> -- >> Anderson Lizardo >> Instituto Nokia de Tecnologia - INdT >> Manaus - Brazil > > > Are you testing over Basic Rate? Looking quickly the code, the > function which extract the primary service UUID from the service > record doesn't convert the UUIDs to UUUID128 before converting to > string. > BTW: why are you checking again if the thermometer UUID is in the > list? The driver will only be probed if at least one UUID matches. > I use it because I need the thermomete sevice range which is provided in the att_primary struct. Do you know any other way to get it?. Regards -- 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