Date: Tue, 07 Dec 2004 12:39:16 -0800 From: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> To: Tuc at Beach House <tuc@tucs-beachin-obx-house.com> Cc: Tuc at Beach House <tuc@ttsg.com> Subject: Re: sdpcontrol issues (LONG) Message-ID: <41B614F4.4070009@savvis.net> In-Reply-To: <200412070048.iB70m6WY020523@himinbjorg.tucs-beachin-obx-house.com> References: <200412070048.iB70m6WY020523@himinbjorg.tucs-beachin-obx-house.com>
index | next in thread | previous in thread | raw e-mail
Tuc at Beach House wrote:
>>> I had to configure pppd and rfcomm_pppd and a few other things, and
>>>its been running all day.
>>
>>ah, ok. so, you are saying treo *can* connect to your laptop via
>>bluetooth and you can browse on treo? or you can connect windows box to
>>your laptop via bluetooth and can browse on windows?
>
> Treo is using DUN on FreeBSD for its connectivity. FreeBSD
> can see all services Windows offers. Windows can see DUN on FreeBSD.
> Otherwise, the only thing I *CANT* do so far is find any services on the
> Treo.
ok. i think i have an idea why it does not work. a colleague of mine has
audiovox smartphone (running windows-something) but it gives similar
error on sdp requests.
apparently sdp server chokes when attribute range has exactly one
attribute, i.e. range specified as 0x0004 - 0x0004, meaning return only
attribute id 0x0004.
could you please try the following:
1) edit /usr/src/usr.sbin/bluetooth/sdpcontrol/search.c file and replace
the following lines
39: /* List of the attributes we are looking for */
40: static u_int32_t attrs[] =
41: {
42: SDP_ATTR_RANGE( SDP_ATTR_SERVICE_RECORD_HANDLE,
43: SDP_ATTR_SERVICE_RECORD_HANDLE),
44: SDP_ATTR_RANGE( SDP_ATTR_SERVICE_CLASS_ID_LIST,
45: SDP_ATTR_SERVICE_CLASS_ID_LIST),
46: SDP_ATTR_RANGE( SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST,
47: SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST),
48: SDP_ATTR_RANGE( SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST,
49: SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST)
50: };
with
/* List of the attributes we are looking for */
static uint32_t attrs[] =
{
SDP_ATTR_RANGE( 0, 1 ),
SDP_ATTR_RANGE( 3, 4 ),
SDP_ATTR_RANGE( 8, 9 ),
/*
SDP_ATTR_RANGE( SDP_ATTR_SERVICE_RECORD_HANDLE,
SDP_ATTR_SERVICE_RECORD_HANDLE),
SDP_ATTR_RANGE( SDP_ATTR_SERVICE_CLASS_ID_LIST,
SDP_ATTR_SERVICE_CLASS_ID_LIST),
SDP_ATTR_RANGE( SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST,
SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST),
SDP_ATTR_RANGE( SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST,
SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST)
*/
};
2) re-compile sdpcontrol(8)
3) try to search for the services again.
thanks,
max
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41B614F4.4070009>
