Bluetooth stack from wiki

luetooth stack

From Wikipedia, the free encyclopedia

Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.

Bluetooth stacks can be roughly divided into two:

  1. General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additionalBluetooth profiles can typically be added through drivers.
  2. Embedded system implementations intended for use in devices where resources are limited and demands are lower, such as Bluetooth peripheral devices.

General-purpose implementations[edit]

FreeBSD[edit]

The FreeBSD bluetooth stack is implemented using the Netgraph framework. A broad variety of Bluetooth USB dongles are supported by the ng_ubt driver.

Linux[edit]

The Linux operating system currently has BlueZ included with the official Linux kernel distributions, initially developed by Qualcomm.

BlueZ[edit]

Bluez is the Bluetooth stack for Linux. Its goal is to make an implementation of the Bluetooth wireless standards specifications for Linux. As of 2006, theBlueZ stack supports all core Bluetooth protocols and layers.[1] 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.[2]

Mac OS X[edit]

Since version 10.2, Apple Inc.'s Mac OS X has contained an integrated Bluetooth stack.[3] Included profiles are DUN,SPP,FAX,HID,HSP,SYNC,PAN,BPP and OBEX. Version 10.5 adds support for A2DP and AVRCP.

Windows[edit]

Widcomm[edit]

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 byBroadcom Corporation in April 2004.[4] 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[edit]

The Microsoft Windows Bluetooth stack only supports external or integrated Bluetooth dongles attached through USB. It does not support Bluetooth radio connections over PCII²CserialPC Card or other interfaces.[5] It also only supports a single Bluetooth radio.[5]

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 :

  • Windows 2000 or Windows Me : Microsoft has not released an official Bluetooth stack for these old Windows versions.
  • Windows CE supports UART, USB, SDIO, and BCSP connections.[6] 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.
  • Windows XP had a built-in Bluetooth stack starting with the 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.[7]
  • Windows XP SP1 : Microsoft released a QFE of its Bluetooth stack (labelled as QFE323183) to install onto Windows XP Service Pack 1. 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.[5] 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. 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.[8] 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.[5] This feature pack while initially only available to OEMs, was eventually included in Windows Vista Service Pack 2.
  • Windows 7 supports Bluetooth 2.1+EDR (like Windows Vista).[7] Windows 7 introduces Secure Simple PairingExtended 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.[7] 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 Low Energy (BLE).[9]

Note : The Windows XP/Vista Windows Vista/Windows 7 Bluetooth stack supports the following Bluetooth profiles natively: PANU, SPP, DUN, HID, HCRP.[5][7]

The Vista and Windows 7 stack exposes the hands free profile, headset profile, stereo sender and receiver, remote control, and BIP. Drivers for these profiles will be installed for CSR plc based radios from windows update, and are courtesy of CSR plc, but they only work with CSR chipset radios.

CSR Harmony[edit]

In 2010 CSR plc started its own bluetooth stack.[10]

Bluetooth Toshiba stack[edit]
Bluetooth Stack for Windows by Toshiba

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.[11]

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 SiemensASUSDell 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: SPPDUNFAXLAPOPP,FTPHIDHDPHCRPPANBIPHSPHFP (including Skype support), A2DPAVRCP

BlueSoleil[edit]

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.

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![edit]

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.

Embedded implementations[edit]

BlueCode+[edit]

BlueCode+ is the portable higher layer Bluetooth protocol stack from Stollmann E+V GmbH. BlueCode+ 4.0 is qualified to Bluetooth version 3.0.[12] 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.

BlueCore Host Software (BCHS) a.k.a. CSR Synergy[edit]

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. [13]

BlueLet[edit]

Also a product of IVT Corporation. DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN and SPP are currently supported.

BlueMagic[edit]

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.

Bluetopia[edit]

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.

ClarinoxBlue[edit]

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.[14]

dotstack[edit]

dotstack, a 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.0 with SPP, GAP, HID, Headset, HFP, FTP, HDP, PBAP, Simple Secure Pairing, A2DP, AVRCP, BLE (GATT), Heart Rate profile. dotstack is ported to platforms from TI (MSP430, C5000 etc.), Microchip (PIC24, dsPIC, PIC32), Renesas (RX, SH-2A), NXP (LPC), Energy Micro (EFM32), ST Micro (STM32L, STM32F2, STM32F4) and tested with Bluetooth RF controllers, CSR BlueCore 4 & 6, TI CC2560/2564, Intel/Infineon PMB8753, Marvell Avastar 88W8790. dotstack has FreeRTOS and no RTOS integration. Min RAM requirement for SPP 3KB with RTOS and app.[15]

EtherMind stack[edit]

EtherMind is a Bluetooth protocol stack from MindTree for embedded devices.[16] A non-disclosure agreement is required to obtain the API documentation.

Jungo's BTware[edit]

Jungo's Bluetooth Protocol Stack allows device manufactures 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.

lwBT[edit]

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: HCIL2CAP, 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. The source code is also available for use

An archived version of lwBT can be found in the blue-machines Googlecode repository [17]

Mecel Betula[edit]

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 as WindowsLinuxAndroid or running without or with a custom OS. It has support for Bluetooth version 4.0, including the new Bluetooth Low Energy.[18] Supported profiles are HSP, DUN, FAX, HFP, PBAP, MAP, OPP, FTP, BIP, BPP, SYNC, GAVDP, A2DP, AVRCP, HID, SAP, PAN.

SurfBlue[edit]

Siemens' implementation of the blue2net access point.

Symbian OS[edit]

Symbian OS is an operating system for mobile phones, which includes a Bluetooth stack. All phones based on Nokia's S60 platform and UIQ Technology's 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.[19] Additional profiles supported in the OS + S60 platform combination include A2DP, HSP, HFP1.5, FTP, OPP, BIP, DUN, SIM access and device ID.[20][21]

iAnywhere[edit]

The Sybase iAnywhere Bluetooth Protocol Stack exists. Currently provides OP, FT, HS, CT, Int, HF, HCRP, PA, SIM profiles. [22]

See also[edit]

References[edit]

  1. Jump up^ Selim Çιracι, Evren Karaca, Mark Reşat Pariente (2006-05-19). Bluetooth Audio Streaming on Linux-Based Embedded Devices (PDF). Bilkent University. Retrieved 2007-03-05.[dead link]
  2. Jump up^ "hidd". Linuxcommand.org. Retrieved 2012-11-04.
  3. Jump up^ "Loading". Developer.apple.com. Retrieved 2012-08-24.
  4. Jump up^ "Broadcom to Acquire WIDCOMM, the Industry's Leading Provider of Critical Software for Bluetooth Wireless Devices" (Press release). Broadcom. 2004-04-19. Retrieved 2007-03-02.
  5. Jump up to:a b c d e "Bluetooth Wireless Technology FAQ". Retrieved 2012-11-04.
  6. Jump up^ "Bluetooth HCI Transport Layer". Msdn.microsoft.com. 2008-08-28. Retrieved 2012-11-04.
  7. Jump up to:a b c d "Bluetooth Wireless Technology FAQ - 2010". Retrieved 2012-11-04.
  8. Jump up^ "USB/1394 on the PC". Retrieved 2012-11-04.
  9. Jump up^ "Bluetooth Low Energy Overview". Retrieved 2013-03-19.
  10. Jump up^ "harmony". Csr.com. Retrieved 2012-11-04.
  11. Jump up^ Mainelli, Tom (2001-09-18). "Toshiba Debuts First Bluetooth/Wi-Fi Notebooks". PCWorld. Retrieved 2012-11-04.
  12. Jump up^ "The Official Bluetooth SIG Member Website". Bluetooth.org. 2009-10-22. Retrieved 2012-08-24.
  13. Jump up^ "The Official Bluetooth SIG Member Website". Bluetooth.org. 2002-04-02. Retrieved 2012-08-24.
  14. Jump up^ "ClarinoxBlue". clarinox. Retrieved 2010-08-09.
  15. Jump up^ "dotstack". Retrieved 2011-11-16.
  16. Jump up^ "EtherMind - Bluetooth Stack And Profiles IP Suite". Mindtree.com. Retrieved 2012-11-04.
  17. Jump up^ "blue-machines - Revision 16: /trunk/resources/soft/lwbt-0.1". Blue-machines.googlecode.com. Retrieved 2012-08-24.
  18. Jump up^ "Mecel Betula". Mecel AB. Retrieved 2011-06-07.
  19. Jump up^ "The Official Bluetooth SIG Member Website". Bluetooth.org. 2008-07-01. Retrieved 2012-08-24.
  20. Jump up^ "The Official Bluetooth SIG Member Website". Bluetooth.org. 2008-02-05. Retrieved 2012-08-24.
  21. Jump up^ https://www.bluetooth.hrc.ac.in
  22. Jump up^ "iAnywhere Blue SDK".
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝牙协议栈(Bluetooth stack)是指在蓝牙设备上运行的软件组件,用于实现蓝牙通信的各个层次。蓝牙协议栈通常由多个层次组成,包括物理层、链路层、协议层和应用层。每个层次都有特定的功能和责任,协同工作以实现蓝牙设备之间的通信。 在Android系统中,蓝牙协议栈被称为bluedroid。它是Android系统中的一个重要组件,负责管理蓝牙设备的连接、数据传输和其他蓝牙相关功能。\[1\]而在Ubuntu系统中,蓝牙协议栈使用的是bluez。它是一个开源的蓝牙协议栈,提供了丰富的API和工具,用于开发和调试蓝牙应用程序。\[1\] 蓝牙协议栈的实现需要遵循蓝牙标准规范,这些规范由蓝牙技术联盟(Bluetooth SIG)制定。蓝牙协议栈的源代码可以通过一些书籍或从蓝牙技术联盟的官方网站下载。例如,《蓝牙协议及其源代码分析》是一本介绍蓝牙协议栈的书籍,其中提供了蓝牙协议栈的源代码分析和相关文档。\[2\] 对于想学习蓝牙协议栈的人来说,拥有一套开发板是非常有帮助的。开发板可以用于实验和调试蓝牙协议栈,帮助理解蓝牙通信的原理和实现。同时,学习蓝牙协议栈也可以为修改和定制现有的协议栈提供基础。\[3\] #### 引用[.reference_title] - *1* [BlueDroid软件协议栈架构](https://blog.csdn.net/mouse1598189/article/details/87858779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [蓝牙协议栈(Bluetooth stack)简介](https://blog.csdn.net/pan0755/article/details/107857793)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [吐血推荐历史最全的蓝牙协议栈介绍](https://blog.csdn.net/XiaoXiaoPengBo/article/details/107466841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值