register HID with SDP error
Waitman Gobble
gobble.wa at gmail.com
Mon Mar 23 08:01:57 UTC 2015
On Mar 23, 2015 12:42 AM, "Iain Hibbert" <plunky at ogmig.net> wrote:
>
> On Sun, 22 Mar 2015, Waitman Gobble wrote:
>
> > Through trial and error I found that this code is preventing the
> > response to the 0x0100 (L2CAP) query.
> >
> > in sdpd/ssar.c around line 230 or so.
> >
> > if (memcmp(&uuid, &puuid, sizeof(uuid)) != 0 &&
> > memcmp(&uuid, &uuid_public_browse_group, sizeof(uuid)) != 0)
> > continue;
> >
> >
> > When I comment that code out then it responds to the request with the
> > list of registered and advertised services and my clients then
> > magically connect.
>
> and if you search for some other protocol UUID that is perhaps not
> present? I suspect that without that code, you will get all profiles
> back, whatever you search for (which is going to be wrong :)
>
> the real problem is, that sdpd does not enumerate the Protocol UUIDs in
> each profile that it has stored, and therefore cannot respond properly to
> the request for 'all records containing UUID 0x0100' for example.
>
> regards,
> iain
Thank you, I appreciate the info.
I'm thinking it's probably not causing issues for most people at the
moment, however I am going to have to make it work on my system, because
apparently Android, OS X and MS Windows all seem to depend on those results
in order to properly open the connection to an HID device.
It could potentially be an issue if using the GATT protocols with embedded
ARM, etc, devices running FreeBSD which I presume will happen someday. (But
it does seem like alot of people these days are popping out devices running
proprietary software mixed in with GPLv3 code *a hunch* and not even
thinking about it, which can possibly turn into an interesting legal mess.
Will have to get some popcorn and watch.)
Thanks,
Waitman
More information about the freebsd-bluetooth
mailing list