Date: Mon, 30 Mar 2015 16:37:01 +0100 (BST) From: Iain Hibbert <plunky@ogmig.net> To: "freebsd-bluetooth@freebsd.org" <freebsd-bluetooth@freebsd.org> Subject: Re: register HID with SDP error Message-ID: <alpine.NEB.2.11.1503301614370.9398@galant.ogmig.net> In-Reply-To: <CAFuo_fxuTJqdvMg7jQ4rZy8qHLpNe2nRo%2B0JftGGBG2cjQ_QZg@mail.gmail.com> References: <CAFuo_fy9xRU2T3GUPY8116yZCUd8sL9pBQ9ixXnMwO56niJFog@mail.gmail.com> <CAFuo_fwPuaD4bYwfZou0RBswZsTmdtVZA1B2GqUdo3ZJJiWRQg@mail.gmail.com> <0AD7A2F7-37BE-4F6A-9FD6-F6C81B2CAF36@gmail.com> <CAFuo_fye5RWNtjsutHa%2BbXL0AYHYRpJxW-b=48o0iMwX227wdA@mail.gmail.com> <alpine.NEB.2.11.1503170658130.4414@galant.ogmig.net> <CAFuo_fx47uRC-eKD_KtsSsrMCQZauyHyCOgRxGbtp_WEZ49o_Q@mail.gmail.com> <alpine.NEB.2.11.1503171759510.4792@galant.ogmig.net> <CAFPOs6omaOOOumNk2Zg=YBgK9cy7JumOZ6k-89oTbVw-3PgAvg@mail.gmail.com> <CAFuo_fy%2BdmpcswwLMV3LaGGkN6VyQ%2B=ieEzYUT=omSLkhS8=EA@mail.gmail.com> <CAFuo_fwBcBQOZzFNntBSP0AwyAkGq=s-eeKJ1CCgjPp5tWdG=A@mail.gmail.com> <CAFPOs6rJJW2BC3rru%2Bvb5dAE0yaHGvr=0s8K9FZ1ee0rf-ML-w@mail.gmail.com> <CAFuo_fzRGc0_yrHYyqcfLrWX7q3AuLwA3v%2B9_QRTirU-Bx4xkw@mail.gmail.com> <CAFuo_fyYyoX6rNwN6_TfB01_xp5EQHFu-CJG=_dab_Qe7x1hkA@mail.gmail.com> <alpine.NEB.2.11.1503301517330.9258@galant.ogmig.net> <CAFuo_fxuTJqdvMg7jQ4rZy8qHLpNe2nRo%2B0JftGGBG2cjQ_QZg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 30 Mar 2015, Waitman Gobble wrote: > ok, so in this loop (sar.c) > > int32_t server_prepare_attr_list(....) > { > for (; lo <= hi; lo ++) { > len = server_prepare_attr_value_pair(provider, lo, ptr, rsp_end); > } > } > > it's going through all the specified aid's. ie, "aid(s) 0x0000 - > 0xffff" in the query request: > > SDP SSA Req: tid 0x0 len 0xf > pat uuid-16 0x0100 (L2CAP) > max 0xf0 > aid(s) 0x0000 - 0xffff > cont 00 > > lo = 0x0000 > hi = 0xffff > > So.. I only want to generate 'server_prepare_attr_value_pair()' based > on the query parameters? I think yes, but does that bit not work properly already? (in your example, it asks for all possible Attribute IDs anyway) I thought your problem was that the search for UUID was not working correctly.. that failure is where it selects the records to respond to, because it doesn't select any. The reason for that, is that the FreeBSD sdpd doesn't actually store a record, it relies on there being a single service class (this is a UUID) stored in the profile->uuid field and only looks at that, which is wrong. You will need to change the 'struct profile' to have a list of UUIDs, and the ServiceSearchPattern will contain a list of (up to 12) UUIDs and all must be contained in the profile for it to be a match. regards, iain
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.NEB.2.11.1503301614370.9398>