SDP browsing inconsistency on Motorola A1000
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.
��2Bf� ��2Bk� . o�(