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. 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.
Microsoft Windows stack
The Microsoft Windows Bluetooth stack only supports external or integrated Bluetooth dongles attached through USB. It does not support Bluetooth radio connections over PCI, IC, serial, PC Card or other interfaces. It also only supports a single Bluetooth radio.
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 Windows registry. However, there are some cases where two stacks can be used on the same Microsoft Windows system, each using their own separate Bluetooth radio hardware.
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.
The Windows Vista Bluetooth stack is improved with support for more hardware IDs, EDR performance improvements, Adaptive frequency hopping for Wi-Fi co-existence, and Synchronous Connection Oriented (SCO) protocol support which is needed for audio profiles. The Windows Vista Bluetooth stack supports a kernel mode device driver interface besides the user-mode programming interface, which enables third-parties to add support for additional Bluetooth Profiles such as SCO, SDP, and L2CAP. This was lacking in the Windows XP Service Pack 2 built-in Bluetooth stack, which had to be entirely replaced by a third-party stack for additional profile support. It also provides RFCOMM support using sockets besides virtual COM ports.
KB942567 called Windows Vista Feature Pack for Wireless adds Bluetooth 2.1+EDR support and remote wake from S3 or S4 support for self-powered Bluetooth modules. This feature pack while only available to OEMs is included in Windows Vista Service Pack 2, The capabilities of the feature pack was included in every version of Windows 7.
The Windows XP and Windows Vista Bluetooth stack supports the following Bluetooth profiles natively: PAN, SPP, DUN, HID, HCRP.
Windows CE supports UART, USB, SDIO, and BCSP connections. Third party stacks can also be installed on Windows CE devices, including Widcomm, BlueSoleil and Toshiba, depending on the embedded device and which version of the OS is installed.
Microsoft has not released an official Bluetooth stack for older Windows versions, such as Windows 2000 or Windows Me.
EtherMind is a Bluetooth protocol stack from MindTree for embedded devices and host platforms. A non-disclosure agreement is required to obtain the API documentation.
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, ASUS, 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, HDP, HCRP, PAN, BIP, HSP, HFP (including Skype support), A2DP, AVRCP
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, HID and SYNC.
An SDK for third-party application developers is available for non-commercial use at the BlueSoleil download site, but this API will only work with the non-free version of the stack, BlueSoleil 6.4 and above.
BlueFritz! is the stack supplied with the USB Bluetooth dongles from the German manufacturer AVM GmbH. It supports the profiles SPP, DUN, FTP, FAX and some more. HID is unfortunatelly not supported. This stack can be switched into a mode where it is off and the Microsoft stack is used instead.
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.
BlueZ is the canonical 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. 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.
Since version 10.2, Apple Inc.’s OS X has contained an integrated Bluetooth stack. Included profiles are DUN,SPP,FAX,HID,HSP,SYNC,PAN,BPP and OBEX. Version 10.5 adds support for A2DP and AVRCP.
BlueMagic 3.0 is Open Interface’s (now Qualcomm) highly portable embedded Bluetooth protocol stack which powers Apple’s iPhone and Qualcomm-powered devices such as the Motorola RAZR. BlueMagic also ships in products by Logitech, Samsung, LG, Sharp, Sagem, and more. BlueMagic 3.0 was the first fully certified (all protocols and profiles) Bluetooth protocol stack at the 1.1 level.
BlueCore Host Software (BCHS)
CSR’s BCHS or BlueCore Host Software provides the upper layers of the Bluetooth protocol stack (above HCI, or optionally RFCOMM) – plus a large library of Profiles – providing a complete system software solution for embedded BlueCore applications. BCHS supports 1.2, 2.0+EDR and 2.1+EDR. Current qualified Profiles available with BCHS: A2DP,AVRCP,PBAP,BIP,BPP,CTP,DUN,FAX,FM API,FTP GAP,GAVDP,GOEP,HCRP,Headset,HF1.5,HID,ICP,JSR82,LAP Message Access Profile,OPP,PAN,SAP,SDAP,SPP,SYNC,SYNC ML.
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, used on the Mulle platform, line of microcontrollers, and Linux as well as Windows.
Also a product of IVT Corporation. DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN and SPP are currently supported.
Bluetooth host subsystem product of Clarinox Technologies. Support for WinCE, Embedded Linux, eCos, VelOSity, DSP-BIOS, QNX and ThreadX. HCI, L2CAP, RFCOMM, SDP, SDAP, GAP, SPP, DUN, HFP, HSP, OBEX, FTP, AVRCP, A2DP, AVDTP are currently supported.
Bluetopia is Stonestreet One’s implementation of the upper layers of the Bluetooth protocol stack above the HCI interface and has been qualified to version 2.1+EDR and earlier versions of the Bluetooth specification. The Application Programming Interface (API) provides access to all of the upper-layer protocols and profiles and can interface directly to the most popular Bluetooth chips from Broadcom, CSR, TI, and others. Bluetopia has been ported to multiple operating systems such as Windows Mobile/Windows CE, Linux, QNX, Nucleus, uCOS, ThreadX, NetBSD, and others. Bluetopia is currently shipping in devices from companies such as Motorola, Kodak, Honeywell, Garmin, VTech, and Harris.
Symbian OS is an operating system for mobile phones, which includes a bluetooth stack. All phones based on Nokia’s S60 platform and Sony Ericsson/Motorola’s UIQ platform use this stack. The Symbian bluetooth stack runs in user mode rather than kernel mode, and has public APIs for L2CAP, RFCOMM, SDP, AVRCP, etc. Profiles supported in the OS include GAP, OBEX, SPP, AVRCP, GAVDP, PAN, PBAP Additional profiles supported in the OS + S60 platform combination include A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, SIM access, device ID
BlueCode+ is the portable higher layer Bluetooth protocol stack from Stollmann E+V GmbH. BlueCode+ 4.0 is qualified to Bluetooth version 3.0. The protocol stack is chipset and operating system independent and supports any Bluetooth HCI chips available. The APIs offer control of the profiles and stack functions, as well as direct access to lower level functions. BlueCode+ 4.0 supports the protocols L2CAP, eL2CAP, RFCOMM, SDP Server and Client, MCAP, HCI-Host Side and AVDTP. Supported profiles are Generic Access (GAP), Service Discovery Application (SDAP), Serial Port Profile (SPP), Health Device Profile (HDP), Device Identification Profile (DID), Dial-up Networking (DUN), Fax, Headset (HSP), Handsfree (HFP), SIM Access (SAP), Phone Book Access (PBAP), Advanced Audio Distribution Profile (A2DP), Audio/Video Remote Control (AVRCP) and OBEX. The stack has been ported to a wide range of different microcontrollers and operating systems.
Java APIs for Bluetooth
^ Broadcom (2004-04-19). “Broadcom to Acquire WIDCOMM, the Industry’s Leading Provider of Critical Software for Bluetooth Wireless Devices”. Press release. http://www.broadcom.com/press/release.php?id=515961. Retrieved 2007-03-02.
^ a b c d e Bluetooth Wireless Technology FAQ
^ USB/1394 on the PC
^ Bluetooth HCI Transport Layer
^ Selim rac, Evren Karaca, Mark Reat Pariente (2006-05-19) (PDF). Bluetooth Audio Streaming on Linux-Based Embedded Devices. Bilkent University. http://www.ug.bcc.bilkent.edu.tr/~resat/Resources/cs515term.pdf. Retrieved 2007-03-05.
Categories: BluetoothHidden categories: Articles needing additional references from May 2008 | All articles needing additional references | All articles with unsourced statements | Articles with unsourced statements from September 2007