Cannot pair with Audiovox SMT5600 Bluetooth

Maksim Yevmenkin maksim.yevmenkin at savvis.net
Thu Nov 17 22:20:40 GMT 2005


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


More information about the freebsd-bluetooth mailing list