diff options
authorClaudio Takahasi <>2012-02-29 14:38:23 -0300
committerClaudio Takahasi <>2012-02-29 14:38:23 -0300
commit31ed17665825d41ec51ac17f7481da49ac3f5da7 (patch)
parentf88e9a582b3fe03f7943680fa7be6e6db50653f8 (diff)
bluez: Add Interleaved Discovery description
1 files changed, 18 insertions, 0 deletions
diff --git a/bluez.tex b/bluez.tex
index 2dde5e5..bf63124 100644
--- a/bluez.tex
+++ b/bluez.tex
@@ -75,6 +75,24 @@ is created, plugins are probed based on the supported UUIDs. It is analogous
to kernel device driver ids. When a remote device exposes more than one
service, each plugin gets a reference to the device {\em object}.
+Standard device discovery takes 10.12 seconds(defined in the Bluetooth GAP
+specification). For dual mode controllers, the GAP specification recomends
+a Interleaved Discovery Procedure: 5.12s inquiring followed by 5.12s scanning.
+In BlueZ, the discovery procedure works over both interfaces: Management, and
+standard HCI command interface. The abstraction is implemented by the
+{\em adapter\_ops} plugin, which hides from the {\em bluetoothd} upper layer
+the kernel interface in use. Management Interface has higer priority, if it is
+enabled in the kernel the default interface will be set to Management.
+Name resolution is part of the device discovery procedure for BlueZ, since
+there isn't restrictions prohibiting to switch the order of the Interleave
+Discovery, BlueZ executes LE scanning before inquiry to reduce the discovery
+state machine complexity.
+Bonding for BLE works only over Management Interface. Pairing can be started
+increasing the socket security level, however the link keys, and authentication
+method setup requires Management Interface.
BlueZ libs (a.k.a libbluetooth) is a development library which provides