Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2015 10:32:12 -0700
From:      Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
To:        Waitman Gobble <gobble.wa@gmail.com>
Cc:        "freebsd-bluetooth@freebsd.org" <freebsd-bluetooth@freebsd.org>
Subject:   Re: register HID with SDP error
Message-ID:  <CAFPOs6oc%2BTNMe_DeHKhVBGSQ4LiBe-rUUY_aGrmBE=YDCgK2AQ@mail.gmail.com>
In-Reply-To: <CAFuo_fzB3A5L3vivH7Z80OEoBtVEHftEYE4LUkhnrkguzL5GDA@mail.gmail.com>
References:  <CAFuo_fy9xRU2T3GUPY8116yZCUd8sL9pBQ9ixXnMwO56niJFog@mail.gmail.com> <CAFuo_fzdmB79qdoH8P5EcO_ZZoa=_id6h=eqFBXvP_a%2B3WMkLw@mail.gmail.com> <CAFuo_fzB3A5L3vivH7Z80OEoBtVEHftEYE4LUkhnrkguzL5GDA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello,


>> it 'seems like' the problem is that there is no corresponding profile
>> implemented in sdpd,
>>
>> ie, /usr/src/usr.sbin/bluetooth/sdpd/profile.c
>>
>> profile_p profile_get_descriptor(uint16_t uuid) { ... }
>>
>> When I issue a request to register
>> SDP_SERVICE_CLASS_HUMAN_INTERFACE_DEVICE  it's looking for profile
>> with uuid (base10) 4388 (0x1124), but
>> 4355,4358,4356,4359,4354,4357,4353,4374,4375,4373  are the only ones
>> defined in that function.

i looked at the code, and, it does not seem entirely correct to me.

first of all, you seem to keep using sdp_sp_profile_t. i'm not sure
why. the way to add a profile is

1) change lib/libsdp and add appropriate structure to keep profile
parameters. different profiles can have different parameters, for
example serial port only needs rfcomm channel. lan profile allows you
to pass a whole bunch of parameters.

with respect to bluetooth hid, please tell what are you trying to
implement? device side or host side? those two have different
requirements for sdp records. for example, device side should provide
l2cap psm for hid control and data channels, hid descriptor and other
things.

2) add profile implementation to sdpd(8). you tried to do this, but
its not quite right. i can only assume you are trying to implement
device side (because host side is implemented with bthidd(8) already).
if this is the case, then may i please suggest to read bluetooth hid
spec, specifically chapter "5.3.3 SDP Attribute Summary" that talk
about spd attributes that hid device must present to the remote host.

thanks
max



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFPOs6oc%2BTNMe_DeHKhVBGSQ4LiBe-rUUY_aGrmBE=YDCgK2AQ>