sdpcontrol issues (LONG)
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Tue Dec 7 12:39:48 PST 2004
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
More information about the freebsd-bluetooth
mailing list