Distribution Guide
Device drivers
Bluetooth: BlueZ and Obex HowTo
BlueZ Setup and Kernel Configuration
|
|
BlueZ is the official Linux Bluetooth stack. It provides support for core Bluetooth layers and protocols.
BlueZ has many interesting features:
- Flexible, efficient and modular architecture;
- Support for multiple Bluetooth devices;
- Multithreaded data processing;
- Hardware abstraction;
- Standard socket interface to all layers.
Currently BlueZ consists of (see also figure 1):
- HCI Core;
- HCI UART,USB and Virtual HCI device drivers;
- L2CAP protocol module;
- Configuration and testing utilities.
[Top]
In order to use BlueZ, you need to have at least a 2.4.4 Linux kernel. The 2.4.6 kernel has BlueZ built-in.
BlueZ can be used with USB or Serial interface based Bluetooth devices. Additionally, Bluez provides
Virtual HCI device (vhci) which can be used to test your Bluetooth applications. This is very useful if you
do not have any real Bluetooth devices.
For more information about BlueZ, please, visit the following link: http://www.bluez.org/
BlueZ packages
The official BlueZ stack for Linux includes the following packages:
- BlueZ-Firmware;
- BlueZ-Libs;
- BlueZ-Utils.
The packages available for the current release 2.3 are:
stlinux23-sh4-bluez-frmw-1.2-3.sh4.rpm
stlinux23-sh4-bluez-libs-3.22-2.sh4.rpm
stlinux23-sh4-bluez-utils-3.22-2.sh4.rpm
|
|
|
Before to get Bluetooth working on your STLinux system, you have to install the above mentioned packages.
[Top]
BlueZ: Supported devices
The official BlueZ project contains a full list of supported Bluetooth devices (please visit the BlueZ web site for more detail).
The tested Bluetooth devices (in the framework of STLinux) are the following:
- STLC2500 based chip devices (Bluetooth over USB);
- Linksys USBBT100 (Bluetooth over USB).
The following figures shows the Bluetooth devices used during the BlueZ stack testing in STLinux.
[Top]
Kernel configuration
The kernel configuration needed to get Bluetooth (over USB) working is the following:
For USB system:
CONFIG_USB_HID
CONFIG_USB_SUPPORT
CONFIG_USB_ARCH_HAS_HCD
CONFIG_USB_ARCH_HAS_OHCI
CONFIG_USB_ARCH_HAS_EHCI
CONFIG_USB
CONFIG_USB_DEBUG (for debugging purpose)
CONFIG_USB_DEVICE_CLASS
CONFIG_USB_EHCI_HCD
CONFIG_USB_OHCI_HCD
CONFIG_USB_OHCI_LITTLE_ENDIAN
CONFIG_USB_SERIAL (for STLC2500 device)
CONFIG_USB_SERIAL_PL2303 (for STLC2500 device)
For Bluetooth system:
CONFIG_BT
CONFIG_BT_L2CAP
CONFIG_BT_SCO
CONFIG_BT_RFCOMM
CONFIG_BT_RFCOMM_TTY
CONFIG_BT_BNEP
CONFIG_BT_BNEP_MC_FILTER
CONFIG_BT_BNEP_PROTO_FILTER
CONFIG_BT_HIDP
CONFIG_BT_HCIUSB
CONFIG_BT_HCIUSB_SCO
CONFIG_BT_HCIUART
CONFIG_BT_HCIUART_H4
CONFIG_BT_HCIUART_BCSP
CONFIG_BT_HCIVHCI
The above options are placed under the items "USB Support" and "Networking" placed in the kernel config menu.
[Top]
|