summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2012-02-29 16:13:18 -0300
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2012-02-29 16:13:18 -0300
commit08445788da0f03f4d3e61e9646fc042a532364ba (patch)
tree17c4ff1966683e08c37afaf53366630b12cbd5e8
parent31ed17665825d41ec51ac17f7481da49ac3f5da7 (diff)
downloadbluez-le-docs-08445788da0f03f4d3e61e9646fc042a532364ba.tar.gz
bluez-le-docs-08445788da0f03f4d3e61e9646fc042a532364ba.tar.xz
bluez-le-docs-08445788da0f03f4d3e61e9646fc042a532364ba.zip
bluez: add kernel architecture
-rw-r--r--bluez.tex27
1 files changed, 27 insertions, 0 deletions
diff --git a/bluez.tex b/bluez.tex
index bf63124..1f27fcd 100644
--- a/bluez.tex
+++ b/bluez.tex
@@ -49,6 +49,33 @@ manage adapter, devices and services.
\section{Linux Bluetooth kernel architecture}
+Linux Bluetooth kernel subsystem consist of several layers:
+\begin{enumerate}
+\item Bluetooth Core
+\subitem HCI device and connection manager, scheduler
+\subitem SCO audio links
+\subitem L2CAP (Logical Link Control and Adaptation Protocol)
+\subitem SMP (Security Manager Protocol) on LE (Low Energy) links
+\item HCI Device drivers (Interface to the hardware)
+\item RFCOMM Module (RFCOMM Protocol)
+\item BNEP Module (Bluetooth Network Encapsulation Protocol)
+\item CMTP Module (CAPI Message Transport Protocol)
+\item HIDP Module (Human Interface Device Protocol)
+\end{enumerate}
+
+Low Energy support changed the Bluetooth Core layer only. SMP and Signaling
+L2CAP fixed channels are not exposed to the userspace.
+
+Connection Parameter Update Procedure is handled completely inside the kernel.
+Acting as a master, BlueZ kernel accepts all valid parameters. At the moment,
+there isn't API to allow the userspace to initiate or reject the procedure.
+
+Security Manager is exposed to the userspace through the Management Interface.
+Pairing procedure can be triggered from the userspace by changing socket
+security level, sending HCI commands, or sending Pair Management Command.
+However, the exchanged keys are available through the Management events only,
+making this new Bluetooth kernel interface mandatory if security is required.
+
\section{Linux Bluetooth userspace architecture}
BlueZ userspace is composed by {\em bluetoothd}, libbluetooth, and command