Bluetooth stack: Difference between revisions

Content deleted Content added
Linux: Fixing style/layout ;
Line 32:
 
===Linux===
The [[Linux]] operating system currently has BlueZ 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> initially developed by [[Qualcomm]].
 
====BlueALSA====
''BlueALSA'' is a Bluetooth audio [[ALSA]] backend that allows the use of Bluetooth-connected audio devices without the use of [[PulseAudio]] or [[PipeWire]].<ref>https://wiki.debian.org/Bluetooth/Alsa</ref><ref>https://wiki.archlinux.org/title/Bluetooth#ALSA</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.{{cn}} 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>
''BlueZ''<ref>{{cite web |title=BlueZ |url=http://www.bluez.org/ |access-date=20 July 2021}}</ref> is a Bluetooth stack 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.<ref name=embedded-audio-linux>{{cite journal |author1=Selim Çιracι |author2=Evren Karaca |author3=Mark Reşat Pariente |date=2006-05-19 |title=Bluetooth Audio Streaming on Linux-Based Embedded Devices |publisher=[[Bilkent University]] |url=http://www.ug.bcc.bilkent.edu.tr/~resat/Resources/cs515term.pdf |access-date=2007-03-05 }} {{Dead link|date=October 2010|bot=H3llBot}}<!-- https://web.archive.org/web/20040618131616/http://www.ug.bcc.bilkent.edu.tr:80/~resat/Resources/p2p-rep-tms.pdf https://www.computer.org/csdl/proceedings-article/ccgrid/2004/8430251/12OmNx6g6oI https://www.researchgate.net/scientific-contributions/MR-Pariente-70130589 https://www.researchgate.net/scientific-contributions/MR-Pariente-70130589 https://web.archive.org/web/20060413140904/http://www.demar.com.tr/%7Emark/mark.htm https://web.archive.org/web/20060413140903/http://www.demar.com.tr/%7Emark/propaganda.htm --></ref> 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 (computing)|daemon]].<ref>{{cite web|url=https://linux.die.net/man/1/hidd|title=hidd(1): Bluetooth HID daemon - Linux man page|publisher=die.net|access-date=2018-04-02}}</ref>
 
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=BlueZAndroid>{{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>
 
===={{Anchor|BLUEDROID}}BlueDroid/Fluoride====
[[Android (operating system)|Android]] alsoswitched usedfrom BlueZ, until it switched to its own ''BlueDroid'' stack, created by [[Broadcom]], in late 2012.<ref name=BlueZAndroid lwn-BlueZ-Android/> BlueDroid has been since been renamed Fluoride.<ref>{{Cite web|url=https://gerrit.unlegacy-android.org/plugins/gitiles/Unlegacy-Android/android_system_bt/+/219d4b6a542ade76b6069ee99cd0af0548139c9c|title=Fluoride Bluetooth stack|website=android.googlesource.com|access-date=2019-08-31}}</ref> Holtmann claims that Google made a poor choice in switching to BlueDroid, during presentation for ''BlueZ for Android''.<ref name=lwn-BlueZ-Android/>
 
===Mac OS X===