Re: [Bluez-users] Newbie needs help to start

Manuel Naranjo
2008-01-22T13:38:17Z

> The fact is that I don't understand the blutetooth process, and I'm
> missing half of your explanations... I'm still looking for a good
> documentation which presents BT.
>
The process is simple, when you start a connection there's an initial
phase where both devices authenticate, for this they exchange something
called link key it's something similar to the way ssh works. If the link
keys aren't generated yet then they exchange a PIN code, this is what
the passkey agent does.

After the authentication has been done then the connection is possible.
> Bluetooth seems to mix hardware and software layers, and the linux
> implementation seems to add more out-of-topic stuffs (dbus, for
> exemple). The result is that I'm totally lost...
>
Indeed bluetooth specifies both software and hardware, bluez is the
Bluetooth stack for Linux, a sort of firmware if you want to understand
it like that.

> My goal is not to develop bluetooth, but, as a first step, to use the
> Serial3 like I use a USB-to-Serial converter (simply talking to
> /dev/ttyUSBxx, like to any other ttySxx). I want my app to be
> cross-plateform, and if I have to go so deep in the system on each one,
> I think I made a mistake choosing bluetooth!
>
The fast and easy way to do it, it's using the old rfcomm tool from the
bluez-utils package then you do:
rfcomm connect rfcomm# ADDR [CHANNEL]

For SPP you generally use channel 1 (the Serial3 is one of those cases)

# is a number of a valid and available rfcomm node, you will need to
create it, check the web for the mayor number of the rfcomm node.

> Debian is maybe also the wrong plateform to use BT, as I seem to have
> more troubles than you, under Mandriva...
>
Thing is that I have them solved :D, not that I didn't have those in the
past.
> Last, I didn't understand what exactly starts and ends bluez project...
>
Again BlueZ is the stack, without it you can't do any bluetooth work
under linux. D-Bus layer is used to make the programmers life easier as
it hides all the bluez lib complexity (trust me you don't want to get
much deeply into it, it requires serious bluetooth understanding)

Hope this clarifies your ides,
Anyway, and again, without a full hcidump trace, we can't tell you
what's wrong, and guide you through this stuff.

Cheers,
Manuel

PS: BTW slackware has some patches in common with debian, they have a
folder called /etc/bluetooth/passkeys there you can store files for
default passkeys, you can have one called default and it uses for a
default pin code, not the most secure way, but it works some how.