Content deleted Content added
Introiboad (talk | contribs) |
|||
(161 intermediate revisions by 78 users not shown) | |||
Line 1:
{{Short description|System software implementing Bluetooth functions}}
{{Multiple issues|
{{
{{prose|date=August 2012}}
{{citation style|date=August 2012}}
}}
A '''Bluetooth stack''' is [[computer software|software]] that
[[Bluetooth]] stacks can be roughly divided into two distinct categories:
# ''General-purpose'' implementations that are written with emphasis on feature-richness and flexibility, usually for desktop
# ''[[Embedded system]]'' implementations intended for use in devices where resources are limited and demands are lower, such as Bluetooth [[peripheral device]]s.<ref name="
==General-purpose implementations==
===
The [[FreeBSD]] bluetooth stack is implemented using the [[Netgraph]] framework.<ref>{{cite web|title=FreeBSD Handbook: Advanced Networking - Bluetooth|url=https://www.freebsd.org/doc/handbook/network-bluetooth.html#idp82252392|access-date=2018-04-02}}</ref> A broad variety of Bluetooth USB dongles are supported by the ng_ubt driver.<ref>{{cite web|title=FreeBSD Kernel Interfaces Manual: NG_UBT(4)|url=https://www.freebsd.org/cgi/man.cgi?query=ng_ubt&sektion=4&manpath=freebsd-release-ports#HARDWARE|access-date=2018-04-02}}</ref>
The implementation was committed in 2002, and first released with [[FreeBSD version history#FreeBSD 5|FreeBSD 5.0]].<ref name=f>{{cite web |author= Maksim Yevmenkin |date= 2002 |url= http://bxr.su/f/share/man/man4/ng_bluetooth.4 |title= ng_bluetooth.4 — placeholder for global Bluetooth variables |website= BSD Cross Reference |publisher= [[FreeBSD]]}}
*{{cite book |section=ng_bluetooth -- placeholder for global Bluetooth variables |title=FreeBSD Manual Pages |url=http://mdoc.su/f/ng_bluetooth.4}}</ref>
[[NetBSD]] has its own Bluetooth implementation, committed in 2006, and first released with {{Section link|NetBSD#4.0}}.<ref name=n>{{cite web |author1= Iain Hibbert |author2= Itronix Inc |date= 2006 |url= http://bxr.su/n/share/man/man4/bluetooth.4 |title= bluetooth.4 — Bluetooth Protocol Family |website= BSD Cross Reference |publisher= [[NetBSD]]}}</ref>
[[OpenBSD]] has had the implementation from NetBSD for some time, but it was removed in 2014 due lack of maintainership and [[code rot]].<ref>{{cite mailing list |author= Ted Unangst |date= 2014-07-11 |url= https://marc.info/?l=openbsd-cvs&m=140511572108715&w=2 |title= CVS: cvs.openbsd.org: src |mailing-list= source-changes@cvs |publisher= [[OpenBSD]] |quote= "bluetooth support doesn't work and isn't going anywhere."}}</ref><ref>{{cite web |editor= tbert | date= 2014-07-29 |url= https://undeadly.org/cgi?action=article&sid=20140729070721 |title= g2k14: Ted Unangst on the Art of the Tedu |website= [[OpenBSD Journal]] |quote= "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."}}</ref>
====DragonFly BSD====
[[DragonFly BSD]] has had NetBSD's Bluetooth implementation since 1.11 (2008), first released with {{Section link|DragonFly BSD#1.12}}.<ref name=d>{{cite web |editor= Hasso Tepper |date= 2008 |url= http://bxr.su/d/share/man/man4/bluetooth.4 |title= bluetooth.4 — Bluetooth Protocol Family |website= BSD Cross Reference |publisher= [[DragonFly BSD]]}}
*{{cite book |section=bluetooth -- Bluetooth Protocol Family |title=DragonFly On-Line Manual Pages |url=http://mdoc.su/n,d/bluetooth.4}}</ref>
A [[netgraph]]-based implementation from [[FreeBSD]] has also been available in the tree since 2008, dating to an import of [[Netgraph]] from the FreeBSD 7 timeframe into DragonFly, but was possibly disabled until 2014-11-15, and may still require more work.<ref name=d_ng>{{cite web |url= http://bxr.su/d/sys/netgraph7/bluetooth/common/ng_bluetooth.c |title= sys/netgraph7/bluetooth/common/ng_bluetooth.c |website= BSD Cross Reference |publisher= [[DragonFly BSD]] }}</ref><ref>{{cite web |author= Sascha Wildner |date= 2014-11-15 |url= https://github.com/DragonFlyBSD/DragonFlyBSD/commit/e85b99abf6da4a83a7dc495b0ef37ce19864149f |title= kernel/netgraph7: Port the kernel part of the netgraph7 bluetooth stack. |publisher= [[DragonFly BSD]] }}</ref>
===Linux===
====BlueALSA====
''BlueALSA'' is a Bluetooth audio [[Advanced Linux Sound Architecture|ALSA]] backend that allows the use of Bluetooth-connected audio devices without the use of [[PulseAudio]] or [[PipeWire]].<ref>{{Cite web|url=https://wiki.debian.org/Bluetooth/Alsa|title = Bluetooth/Alsa - Debian Wiki}}</ref><ref>{{Cite web|url=https://wiki.archlinux.org/title/Bluetooth#ALSA|title = Bluetooth - ArchWiki}}</ref>
====BlueZ====
''BlueZ'', initially developed by [[Qualcomm]],<ref>{{cite web |title=BlueZ |url=http://www.bluez.org/ |access-date=20 July 2021}}</ref> is a Bluetooth stack, included with the official [[Linux kernel]] distributions,<ref>{{Citation|last=Torvalds|first=Linus|title=linux: Linux kernel source tree|date=2015-10-24|url=https://github.com/torvalds/linux/blob/master/net/bluetooth/lib.c|access-date=2017-08-30}}</ref> for [[Linux 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|date=July 2021}} It was initially developed by [[Qualcomm]], and is available for [[Linux kernel]] versions 2.4.6 and up.<ref>{{cite web |last1=Holtmann |first1=Marcel |title=The BlueZ: towards a wireless world of penguins |url=https://www.kernel.org/doc/ols/2005/ols2005v1-pages-247-252.pdf |website=Proceedings of the [[Linux Symposium]] 2005 |access-date=21 July 2021 |quote=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.}}</ref> 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 the [[GNU General Public License]] (GPL), but reported to be on its way toward switching to the [[GNU Lesser General Public License]] (LGPL).<ref name=lwn-BlueZ-Android>{{cite web|url=https://lwn.net/Articles/597293/|title=Returning BlueZ to Android|date=2014-05-06|quote=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. |work=[[LWN.net]]}}</ref>
hidd is the Bluetooth [[human interface device]] (HID) [[daemon (computing)|daemon]].<ref>{{cite web|url=
===={{Anchor|BLUEDROID}}BlueDroid/Fluoride====
[[Android (operating system)|Android]] switched from BlueZ to its own ''BlueDroid'' stack, created by [[Broadcom]], in late 2012.<ref name=lwn-BlueZ-Android/> BlueDroid has been since renamed Fluoride.<ref>{{Cite web|url=https://gerrit.unlegacy-android.org/plugins/gitiles/Unlegacy-Android/android_system_bt/+/219d4b6a542ade76b6069ee99cd0af0548139c9c|archive-url=https://web.archive.org/web/20190831084012/https://gerrit.unlegacy-android.org/plugins/gitiles/Unlegacy-Android/android_system_bt/%2B/219d4b6a542ade76b6069ee99cd0af0548139c9c|url-status=dead|archive-date=August 31, 2019|title=Fluoride Bluetooth stack|website=android.googlesource.com|access-date=2019-08-31}} </ref> Marcel Holtmann, from the Intel Open Source Technology Center, implied that Google made a poor choice in switching to BlueDroid, during a presentation for ''BlueZ for Android'' at the Android Builders Summit in 2014.<ref name=lwn-BlueZ-Android/>
====
The name ''Gabeldorsche'' very indirectly relates to [[Sweyn Forkbeard]], the son and successor of [[Harald Bluetooth]].<ref>{{cite web | url=https://9to5google.com/2020/02/19/android-11-dp1-gabeldorsche-bluetooth/ | title=Android 11's new 'Gabeldorsche' Bluetooth stack was given its name for a great reason | date=20 February 2020 }}</ref>
Since version 10.2, [[Apple Inc.]]'s [[Mac OS X]] has contained an integrated Bluetooth stack.<ref>{{cite web|url=https://developer.apple.com/mac/library/documentation/DeviceDrivers/Conceptual/Bluetooth/BT_Intro/BT_Intro.html |title=Loading |publisher=Developer.apple.com |date= |accessdate=2012-08-24}}</ref> Included profiles are DUN, SPP, FAX, HID, HSP, SYNC, PAN, BPP and OBEX. Version 10.5 adds support for A2DP and AVRCP.▼
▲Since version 10.2, [[Apple Inc.]]'s [[
===Windows===
====
Prior to Windows 8, the Microsoft
Widcomm was the first Bluetooth stack for the [[Microsoft Windows|Windows]] operating system. The stack was initially developed by a company named Widcomm Inc., which was acquired by [[Broadcom Corporation]] in April 2004.<ref name="widcomm-acquire">{{cite press release |date=2004-04-19 |title=Broadcom to Acquire WIDCOMM, the Industry's Leading Provider of Critical Software for Bluetooth Wireless Devices |publisher=[[Broadcom]] |url=http://www.broadcom.com/press/release.php?id=515961 |accessdate=2007-03-02 }}</ref> 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.▼
▲Prior to Windows 8, the Microsoft Windows Bluetooth stack only supports external or integrated Bluetooth dongles attached through [[USB]]. It does not support Bluetooth radio connections over [[Conventional PCI|PCI]], [[I²C]], [[serial port|serial]], [[PC Card]] or other interfaces.<ref name="MSBTFAQ">{{cite web|url=http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx |title=Bluetooth Wireless Technology FAQ |date= |accessdate=2012-11-04}}</ref> It also only supports a single Bluetooth radio.<ref name="MSBTFAQ"/> Windows 8 has an extensible transport model allowing support for Bluetooth radios on non-USB buses.<ref name="BTWindows">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/hardware/dn133849(v=vs.85).aspx|title=General Bluetooth Support in Windows|publisher=Microsoft}}</ref>
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:<ref name="General Bluetooth Support in Windows">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/hardware/dn133849%28v=vs.85%29.aspx |title=General Bluetooth Support in Windows|access-date
* [[Windows 2000]] or [[Windows
* [[Windows
* [[Windows XP]] had a built-in Bluetooth stack starting with the [[XP Service Pack 2|Service Pack 2]] update, released on 2004-08-06. Windows XP SP2 and SP3 support Bluetooth 1.1 (but not 1.0), Bluetooth 2.0 and Bluetooth 2.0+EDR (Enhanced Data Rate). Profiles can be toggled in the "Services" tab of each Bluetooth Device to disable unsupported profiles. <ref name="WinBT 2010 FAQ">{{cite web|url=http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Bth_FAQ.docx |title=Bluetooth Wireless Technology FAQ - 2010 |access-date
* Windows XP SP1 : Microsoft released a [[Quick Fix Engineering|QFE]] of its Bluetooth stack (labelled as QFE323183) to install onto [[Windows XP Service Pack 1]].
* 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.<ref name="MSBTFAQ"/> The Windows Vista Bluetooth stack supports a kernel mode [[device driver|device driver interface]] besides the user-mode programming interface, 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 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.<ref>{{cite web|url=http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWMO05002_WinHEC05.ppt |title=USB/1394 on the PC |access-date
* [[Windows 7]] supports Bluetooth 2.1+EDR (like Windows Vista).<ref name="WinBT 2010 FAQ"/> Windows 7 introduces ''Secure Simple Pairing'', ''Extended Inquiry Response'' and other UI and USB Bluetooth radio installation improvements. Secure Simple Pairing auto determines the best pairing method, Extended Inquiry Response provides more information during the inquiry procedure to allow better filtering of devices before connection.<ref name="WinBT 2010 FAQ"/> In Windows 7, Bluetooth device settings have been moved to ''Devices and Printers'' from the Control Panel applet.
* [[Windows 8]] expands its Bluetooth stack with support for Bluetooth 4.0 which includes Bluetooth Low Energy (BLE).<ref name="MSW8BLE">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/jj159880(v=vs.85).aspx |title=Bluetooth Low Energy Overview |access-date
* [[Windows 8.1]] added developer APIs for Bluetooth Low Energy (GATT) and RFCOMM.
* [[Windows 10]] converged the [[Windows Phone]] and Windows Bluetooth stacks.
'''Note :''' The Windows XP/Vista Windows Vista/Windows 7 Bluetooth stack supports the following Bluetooth profiles natively: PANU, SPP, DUN, OPP, OBEX, HID, HCRP.<ref name="MSBTFAQ"/><ref name="BTWindows"/><ref name="WinBT 2010 FAQ"/> Windows 8 adds support for HFP, A2DP, GATT and AVRCP Profiles.<ref name="BTWindows"/>
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.<ref name="BTWindows"/>
Windows 10 (Version 1803) and later support Bluetooth version 5.0 and several Bluetooth profiles.<ref>[https://docs.microsoft.com/en-us/windows-hardware/drivers/bluetooth/general-bluetooth-support-in-windows Bluetooth Version and Profile Support in Windows 10]</ref>
▲====CSR Harmony====
Bluetooth profiles exposed by the device but unsupported by the Windows stack will show as "Bluetooth Peripheral Device" in [[Device Manager]].
====Bluetooth Toshiba stack====▼
====Broadcom WIDCOMM (BTW)====
▲
▲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.
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.<ref>{{cite web|last=Mainelli |first=Tom |url=http://www.pcworld.com/article/62571/toshiba_debuts_first_bluetoothwifi_notebooks.html |title=Toshiba Debuts First Bluetooth/Wi-Fi Notebooks |publisher=PCWorld |date=2001-09-18 |accessdate=2012-11-04}}</ref>▼
[[Toshiba]] has created its own Bluetooth stack for use on Microsoft Windows. Toshiba licenses their stack to other [[original equipment manufacturer]]s (OEM) and has shipped with some [[Fujitsu Siemens]], [[ASUS]], [[Dell]] and [[Sony]] laptops. A [[non-disclosure agreement]] must be signed to obtain the [[application programming interface|API]]. The Toshiba stack is also available with certain non-OEM Bluetooth accessories such as USB Bluetooth dongles and PCMCIA cards from various vendors.▼
▲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.<ref>{{cite
▲
The Toshiba stack supports one of the more comprehensive list of Bluetooth profiles including: [[Serial Port Profile|SPP]], [[Bluetooth profile#Dial-up Networking Profile (DUN)|DUN]], [[FAX]], [[Bluetooth profile#LAN Access Profile (LAP)|LAP]], [[Object Push Profile|OPP]], [[FTP]], [[Human interface device|HID]], [[Bluetooth profile#Health Device Profile (HDP)|HDP]], [[Bluetooth profile#Hard Copy Cable Replacement Profile (HCRP)|HCRP]], [[Personal Area Network|PAN]], [[Bluetooth profile#Basic Imaging Profile (BIP)|BIP]], [[Bluetooth profile#Headset Profile (HSP)|HSP]], [[Bluetooth profile#Hands-Free Profile (HFP)|HFP]] (including Skype support), [[A2DP]], [[AVRCP]].▼
▲The Toshiba stack supports one of the more comprehensive list of Bluetooth profiles including: [[Serial Port Profile|SPP]], [[Bluetooth profile#Dial-up Networking Profile (DUN)|DUN]], [[FAX]], [[Bluetooth profile#LAN Access Profile (LAP)|LAP]], [[Object Push Profile|OPP]], [[FTP]], [[Human interface device|HID]], [[Bluetooth profile#Health Device Profile (HDP)|HDP]], [[Bluetooth profile#Hard Copy Cable Replacement Profile (HCRP)|HCRP]], [[Personal
▲====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 A2DP, DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN, SPP, AV, BIP, FTP, HID and SYNC.▼
The latest version of the Toshiba stack is [http://dynabook.com/assistpc/download/modify/soft/btswt/index_j.htm 9.20.02(T)], released on 30 September 2016.
====CSR Harmony====
In 2010 [[CSR plc]] (formerly Cambridge Silicon Radio) created its own Bluetooth stack.<ref>{{cite web |url=http://www.csr.com/products/52/csr-harmony |title=harmony |publisher=Csr.com |access-date=2012-11-04 |archive-url=https://web.archive.org/web/20121102180952/http://www.csr.com/products/52/csr-harmony |archive-date=2012-11-02 |url-status=dead }}</ref> It was based on CSR Synergy BT host stack. CSR was acquired by [[Qualcomm]] in August 2015.<ref>{{cite web|url=http://www.cambridge-news.co.uk/Qualcomm-completes-2-4bn-Cambridge-8217-s-CSR/story-27608788-detail/story.html |title=Qualcomm completes $2.4bn take-over of Cambridge's CSR |work=Cambridge News |access-date=22 August 2015 |url-status=bot: unknown |archive-url=https://web.archive.org/web/20150923091535/http://www.cambridge-news.co.uk/Qualcomm-completes-2-4bn-Cambridge-8217-s-CSR/story-27608788-detail/story.html |archive-date=23 September 2015 }}</ref>
====IVT BlueSoleil (1000Moons)====
▲[[BlueSoleil]] (marketed as [http://www.1000moons.com/ 1000Moons] in [[China]]) 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 the [http://www.bluesoleil.com/support/Intro.aspx?topic=Download_SDK BlueSoleil 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 version [http://www.1000moons.com/information/401.html 10.2.497.0], released on 9 January 2018.
▲====BlueFritz!====
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 not supported. This stack can be switched into a mode where it is off and the Microsoft stack is used instead. Development of this stack has been aborted.▼
====AVM BlueFRITZ!====
▲
==== Digianswer BTSWS====
Digianswer was a subsidiary of [[Motorola, Inc.]] since 1999.<ref>{{cite web|url=https://www.edn.com/electronics-news/4359740/Motorola-Acquires-Digianswer|title=Motorola Acquires Digianswer|publisher=EDN Network|date=1999-11-08|access-date=2018-04-02}}</ref> Digianswer Bluetooth Software Suite (BTSWS) was marketed and sold through [[OEM]] customers such as [[Motorola]], [[Dell]] and [[IBM]], which bundled [[PCMCIA]] and [[USB]] products together with BTSWS. The product has been available since August 2000.<ref>{{cite web|url=https://www.thefreelibrary.com/Digianswer+and+Broadcom+Collaborate+on+Complete+System+Level...-a075276687|title=Digianswer and Broadcom Collaborate on Complete System Level Bluetooth Solution for PC OEMs.|publisher=Business Wire (Nibe, Denmark)|date=2001-06-05|access-date=2018-04-02}}</ref>
==Embedded implementations==
===Apache Mynewt NimBLE===
Apache Mynewt NimBLE is a full-featured, [[open source]] Bluetooth Low Energy 4.2 and 5.0 protocol stack written in C for [[embedded system]]s. 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 to [[nRF51
===BlueCode+===
BlueCode+ is the portable higher layer Bluetooth protocol stack from Stollmann E+V GmbH. BlueCode+ 4.0 is qualified to Bluetooth version 3.0.<ref>{{cite web|url=https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=16052 |title=The Official Bluetooth SIG Member Website |publisher=Bluetooth.org |date=2009-10-22 |
===BlueCore Host Software (BCHS) a.k.a. CSR Synergy===
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.<ref>{{cite web|url=https://www.bluetooth.org/qualweb/ProductDetails.cfm?ProductID=700 |title=The Official Bluetooth SIG Member Website |publisher=Bluetooth.org |date=2002-04-02 |
===
Bluelet is a portable embedded Bluetooth protocol stack of [http://www.barrot.com.cn/ Barrot 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.<ref>{{Cite web|title=Launch Studio - Listing Details|url=https://launchstudio.bluetooth.com/ListingDetails/137849|access-date=2021-10-31|website=launchstudio.bluetooth.com}}</ref>
===BlueMagic===
BlueMagic 3.0 is Qualcomm's (formerly [[Open 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.<ref>Greg Burns, CTO, Open Interface North America. June 4, 2007 [http://www.ecnmag.com/article/2007/06/managing-bluetooth-profiles-billion-served
===Blue SDK===
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
===Bluetopia===
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 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 the ''Bluetooth Low Energy'' certified protocol stack software product from Alpwise. It includes the Link Layer<ref>{{cite web |url=http://www.alpwise.com/bluetooth-protocol-stack/software/bluetooth-stack/link-layer/ |title=Link layer Bluetooth Low Energy 5 developed by Alpwise |publisher=alpwise.com |access-date=2018-11-20}}</ref> and also the Host stack (i.e. upper layers above the HCI).<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/102355|title=QD ID 102355 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-11-20}}</ref> 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).<ref>{{cite web |url=http://www.alpwise.com/bluetooth-protocol-stack/software/bluetooth-stack/ |title=Bluetooth Protocol Stack and its development kit - Alpwise |publisher=alpwise.com |access-date=2018-11-20 |archive-date=2018-02-03 |archive-url=https://web.archive.org/web/20180203141832/http://www.alpwise.com/bluetooth-protocol-stack/software/bluetooth-stack/ |url-status=dead }}</ref>
===ClarinoxBlue===
Bluetooth host subsystem product of Clarinox Technologies.
|url=https://clarinox.com/products/softframe/supported-platforms/
▲|title= ClarinoxBlue
|publisher=clarinox
|access-date=2022-04-11
|archive-url=https://web.archive.org/web/20190820044339/http://clarinox.com/products/softframe/supported-platforms/
|archive-date=2019-08-20
|url-status=dead
}}</ref>
==={{Proper name|dotstack}}===
{{Proper name|dotstack}}, a dual mode Bluetooth stack by SEARAN, is a good fit for low cost and low power embedded devices, tested with iPhone (uses
{{cite web
|url=http://www.searanllc.com/
|title={{Proper name|dotstack}}
|
}}</ref>
===EtherMind stack===
[https://web.archive.org/web/20160510040413/http://www.mindtree.com
===Jungo BTware{{anchor|BTware}}===
[[Jungo]]'s Bluetooth Protocol Stack BTware allows device
Jungo has discontinued distributing BTware.
Line 137 ⟶ 172:
lwBT has been ported to the Renesas [[M16C]], used on the [https://web.archive.org/web/20081210045556/http://www.csee.ltu.se/~jench/mulle.html Mulle 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 the [[GitHub]] repository because Googlecode is gone.<ref>{{cite web|url=https://github.com/lwalkera/lwBT |title=A fork of the lwBT stack |publisher=lwalkera |access-date
===Mecel/Aricent Betula===
[[Mecel]] Betula is
{{cite web
|url=http://www.mecel.se/products/bluetooth
|title=Mecel Betula
|publisher=Mecel AB
|
|
|
|
}}</ref>
Supported profiles are HSP, DUN, FAX, HFP, PBAP, MAP, OPP, FTP, BIP, BPP, SYNC, GAVDP, A2DP, AVRCP, HID, SAP, PAN.
===Silvair Mesh Stack===
It provides [[Pulse-width modulation|PWM]]/[[0-10 V lighting control|{{nowrap|0-10V}}]] output for direct dimming control and [[Uart|UART]] interface for integration purposes. [[Digital Addressable Lighting Interface|DALI]] output is marked as planned.<ref>{{cite web |url=https://www.silvair.com/stack/ |title=Silvair Mesh Stack |publisher=Silvair, Inc |access-date=2017-07-20 |
===SurfBlue===
Line 163 ⟶ 197:
===Symbian OS===
[[Symbian OS]]
All phones based on [[Nokia]]'s [[S60 (software platform)|S60 platform]] and [[UIQ Technology]]'s [[UIQ|UIQ platform]] use this stack.
The Symbian Bluetooth stack runs in [[user 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.<ref>{{cite web|url=https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=14442 |title=The Official Bluetooth SIG Member Website |publisher=Bluetooth.org |date=2008-07-01 |
Additional profiles supported in the OS + S60 platform combination include A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, SIM access and device ID.<ref>{{cite web|url=https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=14088 |title=The Official Bluetooth SIG Member Website |publisher=Bluetooth.org |date=2008-02-05 |
▲=== Alpwise BlueWiseLE ===
===Zephyr Project===
The [[
==See also==
*[[Bluetooth]] – general overview of Bluetooth
*[[Bluetooth mesh#Implementations]]
*[[Java APIs for Bluetooth]]
==References==
{{Reflist|2}}
==External links==
* [https://web.archive.org/web/20121019131903/http://www.linuxfoundation.org/collaborate/workgroups/networking/networkoverview Network overview by Rami Rosen
{{DEFAULTSORT:Bluetooth Stack}}
|