Hi, I've just been asked to check out an SDP problem, which occurred with a Motorola A1000 phone. It seems like the phone doesn't return any Service Class ID's for its Handsfree Audio Gateway profile. This turns out to be caused by sdp_get_service_classes() failing. I added some debug code to this function (see sdp-dtd-debug.patch, and compile with -DSDP_DEBUG), to help diagnose the problem. For some reason, spd_get_service_classes thinks there's a SDP_UINT16 (0x09) instead of a SDP_UUID16 (0x19) in the Service Class ID list of the HF AG record, but here hcidump and sdptool disagree. sdptool says (see sdptool-arm for full dump): Attribute Identifier : 0x0 - ServiceRecordHandle Integer : 0x10003 Attribute Identifier : 0x1 - ServiceClassIDList Data Sequence Integer : 0x656e Integer : 0x6a Integer : 0x100 while hcidump says (see hcidump-arm.raw): record #4 aid 0x0000 (SrvRecHndl) uint 0x10003 aid 0x0001 (SrvClassIDList) < uuid-16 0x111f (Handsfree AG) uuid-16 0x1203 (Audio) > However, this is all on an ARM platform, while on an x86 platform it DOES seem to work correctly! sdptool says on x86 (see sdptool-x86): Attribute Identifier : 0x0 - ServiceRecordHandle Integer : 0x10003 Attribute Identifier : 0x1 - ServiceClassIDList Data Sequence UUID16 : 0x111f - HandsfreeAudioGateway UUID16 : 0x1203 - GenericAudio and hcidump says (see hcidump-x86.raw): record #3 aid 0x0000 (SrvRecHndl) uint 0x10003 aid 0x0001 (SrvClassIDList) < uuid-16 0x111f (Handsfree AG) uuid-16 0x1203 (Audio) > So it seems to be another nice alignment problem somewhere in the SDP library stuff! (Hi Marcel :P) If anyone has an idea where this might be, please let me know.