Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Nov 2005 14:20:02 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        Aniruddha Bohra <bohra@cs.rutgers.edu>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: Cannot pair with Audiovox SMT5600 Bluetooth
Message-ID:  <437D0212.5090200@savvis.net>
In-Reply-To: <437CDCE8.4060605@savvis.net>
References:  <web-35211501@dragon.rutgers.edu> <437CC18A.5040804@savvis.net>	<web-35232286@dragon.rutgers.edu> <437CDCE8.4060605@savvis.net>

next in thread | previous in thread | raw e-mail | index | archive | help
err, sorry i was interrupted and sent this incomplete message ...

>>> well, from what i can see everything is working as expected. your 
>>> phone requests pin code and we send it back. the next event shows 
>>> that link key is generated and stored. so, "pairing" procedure is 
>>> completed.
>>>
>>>> BTW, I tried with both : hccontrol -n ubt0hci
>>>> write_node_role_switch 0 and without it with the same result.
>>>
>>>
>>> no, that is not your problem. most likely the phone is trying to do
>>> something else after it has opened baseband connection.
>>>
>>> please install hcidump port from comms/hcidump and run as root
>>>
>>> # hcidump -w dump.file
>>
>>
>> The file is attached. Actually the problem is only with pairing I
>> feel. The GPRS connection (through DUN) goes through, even if the
>> phone says there was an error.
> 
> nope. the "paring" works as expected. the "pairing" is a authentication 
> procedure, during which, both devices agree on "link key". "link key" 
> can be programmed directly or auto generated from the "pin code". next 
> time the devices talk to each other they will use the same link key. if 
> any of the devices lost the "link key" or "link keys" do not match the 
> connection is rejected.
> 
> the fact that "dun/gprs" works means that your phone is accepting the 
> connection from freebsd. by default most phones will try to authenticate 
> this type of connection (with link key), so you need "pairing" done.
> 
> in your particular scenario both freebsd and your phone are agreed on 
> the link key and baseband connection was established. you get the error 
> on the phone because phone is trying to query services available on 
> freebsd. it is a mastery to me why some manufacturers assume that remote 
> device will always answer service discovery query. if you only plan to 
> use freebsd as a bluetooth client you never should be required to answer 
> service discovery queries.

in fact to do the pairing you only have to open baseband connection.
there is no reason to go all the way to application level.

> anyway, to get rig of the error all you need to do is to run sdpd(8) 
> daemon. just have it running all the time (similar to hcsecd(8)). you 
> only need to kldload bg_btsocket(4) (from loader.conf) before you can 
> start sdpd(8). there is no need to restart both hcsecd(8) and sdpd(8) 
> even if you detach/re-attach the device.
> 
thanks,
max



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?437D0212.5090200>