Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41B614F4.4070009>