![]() | This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
ABluetooth stack issoftware that is animplementation of theBluetooth protocolstack.
Bluetooth stacks can be roughly divided into two distinct categories:
TheFreeBSD bluetooth stack is implemented using theNetgraph framework.[2] A broad variety of Bluetooth USB dongles are supported by the ng_ubt driver.[3]
The implementation was committed in 2002, and first released withFreeBSD 5.0.[4]
NetBSD has its own Bluetooth implementation, committed in 2006, and first released withNetBSD § 4.0.[5]
OpenBSD has had the implementation from NetBSD for some time, but it was removed in 2014 due lack of maintainership andcode rot.[6][7]
DragonFly BSD has had NetBSD's Bluetooth implementation since 1.11 (2008), first released withDragonFly BSD § 1.12.[8]
Anetgraph-based implementation fromFreeBSD has also been available in the tree since 2008, dating to an import ofNetgraph from the FreeBSD 7 timeframe into DragonFly, but was possibly disabled until 2014-11-15, and may still require more work.[9][10]
BlueALSA is a Bluetooth audioALSA backend that allows the use of Bluetooth-connected audio devices without the use ofPulseAudio orPipeWire.[11][12]
BlueZ, initially developed byQualcomm,[13] is a Bluetooth stack, included with the officialLinux kernel distributions,[14] forLinux kernel-based family of operating systems. Its goal is to program an implementation of the Bluetooth wireless standards specifications for Linux. As of 2006, the BlueZ stack supports all core Bluetooth protocols and layers.[citation needed] It was initially developed byQualcomm, and is available forLinux kernel versions 2.4.6 and up.[15] 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. BlueZ is licensed under theGNU General Public License (GPL), but reported to be on its way toward switching to theGNU Lesser General Public License (LGPL).[16]
hidd is the Bluetoothhuman interface device (HID)daemon.[17]
Android switched from BlueZ to its ownBlueDroid stack, created byBroadcom, in late 2012.[16] BlueDroid has been since renamed Fluoride.[18] Marcel Holtmann, from the Intel Open Source Technology Center, implied that Google made a poor choice in switching to BlueDroid, during a presentation forBlueZ for Android at the Android Builders Summit in 2014.[16]
With Android 13, Google by default enabled the newly developed Bluetooth stackGabeldorsche.[19]
The nameGabeldorsche very indirectly relates toSweyn Forkbeard, the son and successor ofHarald Bluetooth.[20]
Since version 10.2,Apple Inc.'smacOS has contained an integrated Bluetooth stack.[21] Included profiles are DUN, SPP, FAX, HID, HSP, SYNC, PAN, BPP and OBEX. Mac OS X 10.5 added support for A2DP and AVRCP.
Prior to Windows 8, the Microsoft Bluetooth Stack only supports external or integrated Bluetooth dongles attached throughUSB. It does not support Bluetooth radio connections overPCI,I2C,serial,PC Card or other interfaces.[22] It also only supports a single Bluetooth radio.[22] Windows 8 has an extensible transport model allowing support for Bluetooth radios on non-USB buses.[23]
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 versions:[24]
Note : The Windows XP/Vista Windows Vista/Windows 7 Bluetooth stack supports the following Bluetooth profiles natively: PANU, SPP, DUN, OPP, OBEX, HID, HCRP.[22][23][26] Windows 8 adds support for HFP, A2DP, GATT and AVRCP Profiles.[23]
The Windows 7/Vista/8/10 stack provides kernel-mode and user-mode APIs for its Bluetooth stack- so hardware and software vendors can implement additional profiles.[23]
Windows 10 (Version 1803) and later support Bluetooth version 5.0 and several Bluetooth profiles.[29]
Bluetooth profiles exposed by the device but unsupported by the Windows stack will show as "Bluetooth Peripheral Device" inDevice Manager.
WIDCOMM was the first Bluetooth stack for theWindows operating system. The stack was initially developed by a company named WIDCOMM Inc., which was acquired byBroadcom Corporation in April 2004.[30] Broadcom continues tolicense the stack for inclusion with many Bluetooth-poweredend-user devices like Qualcomm Atheros, Realtek, Ralink.
An API is available for interacting with the stack from a custom application. For developers there is also a utility namedBTServer 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 ofRFCOMM without creating a virtual serial port in the operating system.
In 2001,Toshiba first announced a notebook design that would integrate a Bluetooth antenna inside the lid. Toshiba then went on to release the first two notebook models to offer dual Bluetooth/Wi-Fi integration.[31]
Toshiba has created its own Bluetooth stack for use on Microsoft Windows. Toshiba licenses their stack to otheroriginal equipment manufacturers (OEM) and has shipped with someFujitsu Siemens,ASUS,Dell andSony laptops. Anon-disclosure agreement must be signed to obtain theAPI. 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.
The latest version of the Toshiba stack is9.20.02(T), released on 30 September 2016.
In 2010CSR plc (formerly Cambridge Silicon Radio) created its own Bluetooth stack.[32] It was based on CSR Synergy BT host stack. CSR was acquired byQualcomm in August 2015.[33]
BlueSoleil (marketed as1000Moons inChina) 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 A2DP, 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 theBlueSoleil download site, but this API will only work with the non-free version of the stack, BlueSoleil 6.4 and above.
As of April 2018, the latest version of the global BlueSoleil stack is 10.0.497.0, released on 8 January 2018. The Chinese 1000Moons stack is at version10.2.497.0, released on 9 January 2018.
BlueFRITZ! was the stack supplied with the USB Bluetooth dongles from the German manufacturerAVM GmbH. It supported the profiles SPP, DUN, FTP, FAX and some more. HID was not supported. This stack could be switched into a mode where it is off and the Microsoft stack is used instead. Development of this stack has been aborted.
Digianswer was a subsidiary ofMotorola, Inc. since 1999.[34] Digianswer Bluetooth Software Suite (BTSWS) was marketed and sold throughOEM customers such asMotorola,Dell andIBM, which bundledPCMCIA andUSB products together with BTSWS. The product has been available since August 2000.[35]
Apache Mynewt NimBLE is a full-featured,open source Bluetooth Low Energy 4.2 and 5.0 protocol stack written in C forembedded systems. NimBLE is one of the most complete protocol stacks, supporting 5.0 features including high data rate and extended advertising. The implementation supports all layers of the Bluetooth protocol. The first ports for the Controller part are tonRF51 series and nRF52 SoCs from Nordic Semiconductor. NimBLE also supports standard HCI interfaces to work with controllers, including ST, Dialog and Em Micro chipsets. It leverages the open sourceApache Mynewt OS which is designed to support multiple microcontroller architectures.[36] NimBLE can also run with FreeRTOS and is portable to other real-time operating systems. The implementation allows for the Mynewt NimBLE Controller part to be used with a non-Mynewt NimBLE Host.
BlueCode+ is the portable higher layer Bluetooth protocol stack from Stollmann E+V GmbH. BlueCode+ 4.0 is qualified to Bluetooth version 3.0.[37] 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.
CSR's BCHS or BlueCore Host Software (now called CSR Synergy) 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. 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.[38]
Bluelet is a portable embedded Bluetooth protocol stack ofBarrot Technology Limited with efficient, reliable, and small features. Bluelet is perfectly compatible with BREDR/LE profiles. Bluelet can easily be ported to different platforms, i.e., Linux, RTOS, Android. This offering includes the latest full implementation of Bluetooth 5.3 host using ANSI C, implementing all LE Audio Profiles / Services (BAP, PACS, ASCS, BASS; CSIP/CSIS; CCP/TBS; MCP/MCS; MICP/MICS; VCP/VCS/VOCS/AICS; TMAP, HAP/HAS; CAP) and the MESH stack.[39]
BlueMagic 3.0 is Qualcomm's (formerlyOpen Interface North America's) 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.[40]
OpenSynergy's Bluetooth Protocol Stack (Blue SDK) currently provides A2DP, AVRCP, VDP, BIP, BPP, CTN, FTP, GPP, HFP, HSP, HCRP, HDP, HID, MAP, OPP, PAN, PBAP, SAP, DUN, FAX, DID, GATT profiles. It is licensed by the Bluetooth Special Interest Group (SIG) and meets the standards of safety and security expected in automotive-grade products. Bluetooth Software Development Kit (Blue SDK) can easily be integrated into any operating system. It supports both BR/EDR (Classic) and Low Energy operations, classic profiles and low energy profiles use the same underlying protocol stack software.[41]
Bluetopia isStonestreet One's implementation of the upper layers of the Bluetooth protocol stack above the HCI interface and has been qualified to version 4.0 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.
Stonestreet One was acquired by Qualcomm in 2014. Texas Instruments provides its version of the Bluetopia stack for use with TI Bluetooth chips.
BlueWiseLE is theBluetooth Low Energy certified protocol stack software product from Alpwise. It includes the Link Layer[42] and also the Host stack (i.e. upper layers above the HCI).[43] The Link Layer controls the radio and the timing of the Bluetooth communication in three possible chipset configurations: SoC, co-processor or HCI. Several proprietary BLE profiles are also available including Voice over BLE and Firmware update Over the Air (FOTA).[44]
Bluetooth host subsystem product of Clarinox Technologies. Support for Windows 7/8/10, WinCE, Linux/AGL Linux, Android, AutoSAR, Integrity, SafeRTOS, QNX, μITRON, FreeRTOS, μC/OS, Azure RTOS ThreadX, Nucleus, MQX, RTX, embOS, TI-RTOS, DSP/BIOS, eCos and μ-velOSity. Qualified for Bluetooth specification 5.2,5.0 and all previous specifications includes all Classic profiles/protocols and LE profiles/services including BT & LE Audio. ClarinoxBlue supports HCI transport for SDIO, UART 3-Wire, UART-BCSP, UART-H4, USB. The stack has been ported to many CPU and MCU families including NXP i.MX6/i.MX7/i.MX8/i.MX RT, Kinetis K6x/7x, LPC 18xx/43xx/54xxx STMicro; STM32F4x, STM32H7, STM32WB55, STM32MP157; Texas Instruments TI MSP432, DSP 5xxx, OMAP/Davinci, Tiva TM4C123x, Sitara 3xxx; Renesas Synergy S5/S7, RH850, R-Car M3/H3; Xilinx PowerPC, soft core SPARC LEON. ClarinoxBlue Bluetooth host system is provided with ClariFi debug tool, in-built protocol analyzer, supports faster debugging of complex wireless devices. ClariFi offers threading, memory usage, memory leak analysis and audio analysis to support the tuning of applications and aid in the communication of issues.[45]
dotstack, a dual mode Bluetooth stack by SEARAN, is a good fit for low cost and low power embedded devices, tested with iPhone (uses SEARAN's IAP), Android and other mobile platforms. dotstack is qualified as V2.1 + EDR, V4.1, V4.2 and 5.0, with SPP, GAP, HID, Headset, HFP, FTP, HDP, PBAP, Simple Secure Pairing, A2DP, AVRCP, PAN, MAP, BLE (GATT) with ANP/ANS, FMP, HIDS, HOGP, PASP/PASS, PXP, TIP, BAS, DIS, IAS, LLS, TPS, ANCS, BLP/BLS, GP, HTP, HRP/HRS. dotstack is ported to platforms from, ST Micro (STM32L1/4, STM32F0/1/2/3/4), Microchip (PIC24, dsPIC, PIC32), NXP (LPC), Energy Micro (EFM32), TI (MSP430, C5000 etc.), Renesas (RX, SH-2A, M2 ARM Cortex A15, R-Car), and tested with Bluetooth RF controllers, CSR8811/8311/8510, BlueCore 4 & 6, TI CC2560/2564, Intel/Infineon PMB8753, Marvell Avastar 88w8777, 88W8790, Toshiba TC35661, Microchip/ISSC IS1662. dotstack has FreeRTOS, uOS, Linux, Android, QNX, MQX, ThreadX, and no RTOS integration. Min RAM requirement for SPP 3KB with RTOS and app.[46]
EtherMind from MINDTREE Ltd is a BT-SIG qualified Bluetooth Stack and Profile IP offering.[47]
Mindtree's EtherMind Stack supports all popular versions of Bluetooth specifications (2.1+EDR, v4.0, v4.1, v4.2, 5.0, 5.1 and 5.2) and includes all mandatory and optional features of the core stack and all the adopted profiles are supported as part of EtherMind. The stack supports the latest adopted version of 23 Bluetooth Classic Profiles[48] such as A2DP, AVRCP, etc.; and 54 Bluetooth Low Energy Profiles & Services[49] such as Location and Navigation Profile, Weight Scale Profile/Service, etc. The offering includes the latestMesh[50] andIPv6 Stack[51] over Bluetooth Smart capabilities.
Jungo's Bluetooth Protocol Stack BTware allows device manufacturers to easily incorporate standard Bluetooth connectivity in their designs, including mobile handsets,automotive infotainment systems, set top boxes and medical devices. BTware supports standard HCI as well as proprietary HCI. Supported protocols: L2CAP, RFCOMM, AVDTP, AVCTP, BNEP, MCAP. Supported profiles: GAP, A2DP, AVRCP, HSP, HFP, SPP, DUN, HID, PAN, HDP, PBAP, OPP, FTP, MAP and others.Jungo has discontinued distributing BTware.
lwBT is anopen source lightweight Bluetooth protocol stack forembedded systems by blue-machines. 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 andPPP.The supported profiles are: PAN (NAP, GN, PANU), LAP, DUN and Serial Port.
lwBT has been ported to the RenesasM16C, used on theMulle platform, line of microcontrollers, and Linux as well as Windows. The source code was also available for use.
A fork of lwBT can be found in theGitHub repository because Googlecode is gone.[52]
Mecel Betula is a Bluetooth stack aimed at the embedded automotive market. The stack has support for a wide range of CPUs including, ARM, Renesas V850, TI DSP 54xx and 55xx family and x86 compatible. It also ported to a wide range of operating systems, such asWindows,Linux,Android or running without or with a custom OS. It has support for Bluetooth version 5.3, including the new Bluetooth Low Energy & mesh.[53]Supported profiles are HSP, DUN, FAX, HFP, PBAP, MAP, OPP, FTP, BIP, BPP, SYNC, GAVDP, A2DP, AVRCP, HID, SAP, PAN.
Silvair Mesh Stack is an implementation ofBluetooth MESH profile and Models, developed primarily forSmart lighting applications. Apart from core mesh node features it implements Light Lightness Server model, Light Controller model and Sensor Server model so that it may be used to builddimming luminaires anddaylight harvesting sensors.It providesPWM/0-10V output for direct dimming control andUART interface for integration purposes.DALI output is marked as planned.[54]
Silvair Mesh Stack has been qualified byBluetooth SIG on 2017-07-18 with QDID 98880, as a first Bluetooth mesh node implementation.[55]
Siemens' implementation of theblue2netaccess point.
Symbian OS was an operating system for mobile phones, which includes a Bluetooth stack.All phones based onNokia'sS60 platform andUIQ Technology'sUIQ platform use this stack.The Symbian Bluetooth stack runs inuser space rather than kernel space, and has public APIs for L2CAP, RFCOMM, SDP, AVRCP, etc.Profiles supported in the OS include GAP, OBEX, SPP, AVRCP, GAVDP, PAN and PBAP.[56]Additional profiles supported in the OS + S60 platform combination include A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, SIM access and device ID.[57][58]
TheZephyr Project RTOS includes a complete,open source Bluetooth Low Energy v5.3[59] compliant protocol stack written in C forembedded systems. It contains both a BLE Controller and a BLE and BR/EDR capable Host running onnRF51 Series and nRF52 SoCs from Nordic Semiconductor.
bluetooth support doesn't work and isn't going anywhere.
Of these, you may possibly miss bluetooth support. Unfortunately, the current code doesn't work and isn't structured properly to encourage much future development.
The first steps into supporting Bluetooth with Linux are done by Axis Communications and they released their OpenBT Bluetooth Stack in April 1999. Also IBM released its BlueDrekar which was only available as binary modules....On May 3, 2001, the Bluetooth protocol stack called BlueZ which was written by Qualcomm was released under GPL. This new stack followed the socket based approach. One month later it was picked up by Linus Torvalds and integrated into the Linux 2.4.6-pre2 kernel. Another Bluetooth stack for Linux was released by Nokia Research Center in Helsinki and it is called Affix. The open source community already decided to support BlueZ as official Bluetooth protocol stack Linux and it became one of the best implementations of the Bluetooth specification.
BlueZ for Android (BfA) provides a "drop-in replacement" for BlueDroid, which means that apps do not need to change...The laundry list of BlueDroid deficiencies also dropped to near zero by swapping BlueZ in...In addition, BfA has been developed as part of the open-source BlueZ project...It is also notable that BlueZ is on its way toward switching to the LGPL. Roughly 80% of the code is already licensed that way, with more coming, though it was not clear when that job would be finished.While it was never said in the presentation, the clear implication of Holtmann's talk was that Google made a poor choice in switching to BlueDroid.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link)