[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bluetooth-dev] Re: [Bluez-users] An comparison between BlueZ and Openbt
> * BlueZ: emulating TTY functionality would completely inefficient. Current BlueZ interface is clean and simple. Stack uses SKBs (skb - Linux network buffers <http://www.gnumonks.org/ftp/pub/doc/skb-doc.html>http://www.gnumonks.org/ftp/pub/doc/skb-doc.html ) on all layers. SKBs are different from kmem_alloc (The kernel-memory allocator. <http://os.inf.tu-dresden.de/fiasco/doxy/classkmem__alloc.html#_details#_details>More...) because they are SLABified which means that there is a cache for SKB heads and allocations are optimized. Also SKBs provide lots of nice optimized functions and queues, so reinventing the wheel is not necessary<http://mhonarc.axis.se/bluetooth-dev/msg01889.html>http://mhonarc.axis.se/bluetooth-dev/msg01889.html
> * Openbt: emulating TTY functionality is meant for the compatibility and interoperability with other stacks and applications. <http://mhonarc.axis.se/bluetooth-dev/msg01900.html>http://mhonarc.axis.se/bluetooth-dev/msg01900.html
>I'm not clear as to how to use the BlueZ stack to get support for "legacy" applications - i.e. those that are written to use /dev/ttyxx (*nix),
You mixing totally unrelated things here - HW abstraction and RFCOMM API.
OpenBT doesn't have HW abstraction. For example if you want to use USB device you need a USB driver that emulates TTY device.
And that's what this first BlueZ statement is about. BlueZ does have HW abstraction and therefor doesn't rely on TTY emulation.
Now this "legacy applications" thing is actually about interface to RFCOMM. BlueZ current doesn't have kernel RFCOMM but
it does provide application that emulates TTY (via PTY).
>Does BlueZ have some kind of compatibility and interoperability problem?
I does not.
>Why openbt uses the stream socket and BlueZ use the raw socket ?
OpenBT doesn't use sockets at all.
BlueZ supports several socket types RAW, SEQPACKET, etc.
>I read that "in the long run, raw sockets have proven bug ridden, unportable and limited in use." <http://www.whitefang.com/rin/rawfaq.html http:/www.whitefang.com/rin/rawfaq.html#20>http://www.whitefang.com/rin/rawfaq.html#20.
I'd suggest for you to be little more discriminative in reading stuff ;-)
RAW IP sockets != RAW HCI sockets.
>Is that a problem for BlueZ ?
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to firstname.lastname@example.org