Bluetooth stack
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (May 2008) |
A Bluetooth stack refers to an implementation of the Bluetooth protocol stack.
Bluetooth stacks can be roughly divided into two:
- General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.
- Embedded system implementations intended for use in devices where resources are limited and demands are lower, such as Bluetooth peripheral devices.
Generally, only a single stack can be used at any time: switching usually requires uninstalling the current stack, although a trace of previous stacks remains in the registry[citation needed]. However, there are some cases where two stacks can be used on the same computer, each using their own separate Bluetooth radio hardware.
Contents |
[edit] General-purpose implementations
[edit] Windows
[edit] Widcomm
Widcomm was the first Bluetooth stack for the Windows operating system. The stack was initially developed by a company named Widcomm Inc., which was acquired by Broadcom Corporation in April 2004.[1] Broadcom continues to license the stack for inclusion with many Bluetooth-powered end-user devices.
An API is available for interacting with the stack from a custom application. For developers there is also a utility named BTServer Spy Lite bundled with the stack (some vendor-tied versions excluded) which monitors Bluetooth activity on the stack at a very low level - although the category and level of trace is configurable. This stack also allows use of RFCOMM without creating a virtual serial port in the operating system.
[edit] Microsoft Windows stack
Windows XP includes a built-in Bluetooth stack starting with the Service Pack 2 update, released on 2004-08-06.
Prior to this, Microsoft released a QFE of its Bluetooth stack for Windows XP Service Pack 1 labelled as QFE323183. Microsoft only released this directly to third-party companies and did not directly release it to the public. The third-party companies were then allowed to release the QFE as part of their own Bluetooth device's software installation. Microsoft no longer supports this QFE.
Windows Vista also includes a built-in Bluetooth stack which is an expansion over the Windows XP Bluetooth stack. In addition to supporting more Bluetooth profiles than Windows XP Service Pack 2, it also supports third-party driver development which enables third-parties to add support for additional Bluetooth Profiles. This was lacking in the Windows XP Service Pack 2 built-in Bluetooth stack, which only allowed application development on top of the Microsoft Bluetooth stack, which some observers felt slowed the adoption of the Microsoft Windows Bluetooth stack. This stack does however provide RFCOMM support using sockets instead of virtual serial ports.
Microsoft has not released an official Bluetooth stack for older Windows versions, such as Windows 2000 or Windows Me.
[edit] EtherMind stack
EtherMind is a Bluetooth protocol stack from MindTree's for embedded devices and host platforms.[citation needed] A non-disclosure agreement is required to obtain the API documentation.
[edit] Toshiba stack
Toshiba has created its own Bluetooth stack for use on Microsoft Windows. Toshiba licenses their stack to other original equipment manufacturers (OEM) and has shipped with some Fujitsu Siemens, Dell and Sony laptops. A non-disclosure agreement must be signed to obtain the API. The Toshiba stack is also available with certain non-oem Bluetooth accessories such as USB Bluetooth dongles and PCMCIA cards from various vendors.
The Toshiba stack supports one of the more comprehensive list of Bluetooth profiles including: SPP, DUN, FAX, LAP, OPP, FTP, HID, HCRP, PAN, BIP, HSP, HFP (including Skype support), A2DP, AVRCP, GAVDP
[edit] BlueSoleil
BlueSoleil is a product of IVT Corporation, which produces stacks for embedded devices and desktop systems. The stack is available in both standard and VOIP versions. It supports the profiles DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN SPP, AV, BIP, FTP, GAP, HID, SDAP, and SYNC.
An SDK for third-party application developers is available for non-commercial use at the BlueSoleil download site.
[edit] Linux
The Linux operating system currently has two widespread Bluetooth stack implementations:
- BlueZ, included with the official Linux kernel distributions, initially developed by Qualcomm.
- Affix, developed by Nokia Research Center.
[edit] BlueZ
BlueZ is the official[2] Bluetooth stack for Linux. Its goal is to make an implementation of the Bluetooth wireless standards specifications for Linux. As of 2006, the BlueZ stack supports all core Bluetooth protocols and layers.[3] It was initially developed by Qualcomm, and is available for Linux kernel versions 2.4.6 and up.
In addition to the basic stack, the Bluez-utils and Bluez-firmware packages contain low level utilities such as dfutool which can interrogate the Bluetooth adapter chipset to determine whether its firmware can be upgraded.
hidd is the Bluetooth human interface device (HID) daemon.[4]
[edit] Embedded implementations
[edit] lwBT
lwBT is an open source lightweight Bluetooth protocol stack for embedded systems. It acts as a network interface for the lwIP protocol stack.
It supports some Bluetooth protocols and layers, such as the H4 and BCSP UART layers. Supported higher layers include: HCI, L2CAP, SDP, BNEP, RFCOMM and PPP. The supported profiles are: PAN (NAP, GN, PANU), LAP, DUN and Serial Port.
lwBT has been ported to the Renesas M16C[citation needed] and Atmega AVR[citation needed] line of microcontrollers, and Linux as well as Windows.
[edit] Windows CE
Windows CE is Microsoft's embedded operating system, which also supports Bluetooth. However, different stacks can be installed on windows CE devices, including Microsoft, Widcomm, and Toshiba, depending on the embedded device on which the OS is installed.
[edit] BlueLet
Also a product of IVT Corporation. DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN and SPP are currently supported.
[edit] See also
[edit] References
- ^ Broadcom (2004-04-19). "Broadcom to Acquire WIDCOMM, the Industry's Leading Provider of Critical Software for Bluetooth Wireless Devices". Press release. Retrieved on 2007-03-02.
- ^ BlueZ - Official Linux Bluetooth protocol stack. Retrieved on 2008-05-03.
- ^ Selim Çιracι, Evren Karaca, Mark Reşat Pariente (2006-05-19). "Bluetooth Audio Streaming on Linux-Based Embedded Devices" (PDF). . Bilkent University Retrieved on 2007-03-05.
- ^ hidd