Bluetooth is a standard for the short-range wireless interconnection of cellular phones, computers, and other electronic devices. In Linux, the canonical implementation of the Bluetooth protocol stack is BlueZ.
BlueZ, included with the official Linux kernel distributions, initially developed by Qualcomm.
Host Controller Interface
Device address
$ hcitool dev
Devices:
hci0 7C:E9:D3:B8:17:6E
Every Bluetooth device has a unique 48-bit
BD_ADDR (Bluetooth Device Address), which is divided into three fields:
most significant |
NAP | (Non-significant Address Part), | 16 bits. | } | These 24-bits are the manufacturer's company_id / OUI (Organizationally Unique Identifier), allocated by the IEEE. For example, Rohde & Schwarz's is 0x0090B8. |
UAP | (Upper Address Part), | 8 bits. |
LAP | (Lower Address Part), | 24 bits. | | These 24-bits are a serial number assigned by the manufacturer. |
least significant |
service discovery protocol (SDP)
$ sdptool browse A8:6A:6F:04:21:2E
Logical link control and adaptation protocol (L2CAP)
$ l2ping A8:6A:6F:04:21:2E
Bluetooth Wireless Technology Profiles
At a minimum, each Bluetooth profile contains information on the following topics:
- Dependencies on other profiles
- Suggested user interface formats.
- Specific parts of the Bluetooth protocol stack used by the profile. To perform its task, each profile uses particular options and parameters at each layer of the stack and this may include, if appropriate, an outline of the required service record.
Bluetooth Introduction
Bluetooth http://www.bluetooth.org/Building/HowTechnologyWorks/
Bluetooth http://www.dziwior.org/Bluetooth/index.html
SUSE LINUX Bluetooth http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch08s04.html
Bluetooh Testing
BlueTooth要怎麼進測試模式要怎麼搞-3 http://ggyytony0921.blogspot.tw/2011/09/bluetooth-3.html
Bluetooth HCI Data format
http://kunyichen.wordpress.com/2006/11/28/bluetooth-hci-data-format/