Bluetooth Open-Source Stack (BOSS) - A Flexible and Extensible Bluetooth Research Platform
Introduction
Bluetooth technology continues to evolve and expand, taking advantage of the desirable attributes and features it possesses in comparison to other wireless technologies. Bluetooth devices are going to become a major player in the much-hyped Internet of Things (IoT) market. The interesting and unique features of Bluetooth attracted the attention of the research community to explore and utilize this technology. A large body of this research required modifications to the lower layers of the Bluetooth protocol. Unfortunately, a complete open-source implementation of the Bluetooth stack to facilitate such research does not exist. The proprietary Bluetooth technology restricts access to the lower layers of the protocol stack, thus limiting the efforts of the wireless networking community in validating and verifying existing research under realistic scenarios. This project aims toward removing such barriers, and empower the community with a complete tool-set for developing new and enhanced research in Bluetooth protocol design.
- Baseband link controller responsible for physical layer establishment to host communication. It requires the following modules: Bluetooth Clock, Addressing, Physical Channels, Links (physical, and logical), Packets, Bitstream processing.
- Link manager firmware negotiates the communication parameters between two devices. It consists of the following modules: Link Control, Link Manager, and Flow Control.
- HCI firmware provides the required interface for Bluetooth drivers to access firmware parameters.
People
PI
PhD Students
- Ahmed Salem
- Ibrahim Ben Mustafa
M.Sc. Student
- Ilho Nam
- Maryam Arab
- Khaja Ahmed
Funding
- NSF-CNS 1454285: "EAGER: Bluetooth Open-Source Stack (BOSS) - A Flexible and Extensible Bluetooth Research Platform”
Hardware
- Ubertooth One, an open source 2.4GHz wireless development platform. Ubertooth One comes with RF Connector for the antenna, ARM microcontroller, and a wireless transceiver as shown in Figure above. Moreover, it has an inexpensive hardware that can be easily or acquired or assembled using the publicly available instructions. Ubertooth One is designed to support Bluetooth transmit/receive features. However, it is only used for passive bluetooth packet sniffing. Late 2014, Ubertooth One introduced the capability of sniffing BLE packets. In this work, BOSS uses Ubertooth One to host the aforementioned Bluetooth modules, and support the full stack BLE features.
- ElliSys Sniffer, a sniffer that passively captures Bluetooth communication from all the channels concurrentl. In this project, Ellisys enabled passively tracking our experiments in terms of monitoring our transmitted packets, tracing their contents, debugging packet information for Tx/Rx failures. In addition to, tracing timing delays of packet transmission, and reception.
- SEGGER J-TAG Debugger, a USB powered JTAG debugger, that is supported by Ubertooth One. It provides a close look on the hardware registers throughout the debugging phase. Throughout BOSS development, it was required to check the register values to investigate cases of packet transmission failure.
Software
Ubertooth
Ubertooth is a open source development platform for Bluetooth Experimentation.
Project HomePage: http://ubertooth.sourceforge.net/
Source Code Download: Ubertooth-R2
BOSS
BOSS modifies the open source code by Ubertooth Ones as follows:
- Host: Takes the Tx/Rx commands from user with optional parameters channel, master address, and slave address. The feature is provides through: host/ubertooth-tools/src/ubertooth-btle-A.c (new)
- Host/Firmware Interface: a layer to exchange messages between host, and firmware. Is supported by the following files: host/libubertooj/src/ubertooth.c, host/libubertooj/src/ubertooth_control.c, firmware/bluetooth_rxtx/bluetooth.c, and firmware/bluetooth_rxtx/bluetooth_le.c
- Firmware: Bluetooth Tx/Rx, and frequency hopping logic is provided in firmware/bluetooth_rxtx/bluetooth_rxtx.c , while supporting Tx features in the Ubertooth transceiver chip is done in firmware/bluetooth_rxtx/cc2400_rangetest.c
Source Code Download Boss Source Code
Documentation
- Boss Installation : Describes detailed steps for downloading ,installing , configuring and running the Boss Platform.
- BLE Specification : Describes Bluetooth Low Energy specification details that were implemented in the BOSS Project.
- Boss Implementation : Describes the technical details of implementing Bluetooth Low Energy Specification in BOSS Project.
- BOSS Experiments : Describes the experimentation scenarios and results conducted in the BOSS Project.
- Implementation Issues : Describes the technical issues faced while implementing the BLE specification.
- Bluetooth Specification Version 4.0 : Official Documentation for Bluetooth Specification Version 4.0.
Publications
- A. Salem and T. Nadeem, "BLINK: Making the case for Bluetooth open source stack," 2018 Wireless Days (WD), Dubai, 2018, pp. 145-150.
- Ahmed Alghamdi, Tamer Nadeem, Mecit Cetin. BlueMap: A Pervasive Bluetooth-based Vehicle Trajectory Reconstruction System. The 2018 IEEE Global Communications Conference (GLOBECOM), 2018.
- Maryam Arab, Tamer Nadeem. "MagnoPark – Locating OnStreet Parking Spaces using Magnetometer-based Pedestrians’ Smartphones". IEEE International Conference on Sensing, Communication and Networking (SECON), 2017.
- Ahmed Salem, Tamer Nadeem. "Exposing Bluetooth Lower Layers for IoT Communication ", The 3rd IEEE World Forum on Internet of Things (WF-IoT), Reston, VA, Dec. 12-14, 2016.
- Ahmed Alghamdi, Tamer Nadeem. "BlueSys: A Bluetooth Framework for ITS Urban Services and Beneficiary Applications Pack". The 2nd IEEE International Conference on Smart Computing (SMARTCOMP 2016), 2016.
- Ahmed Salem, Tamer Nadeem, Mecit Cetin, & Samy El-Tawab. "DriveBlue: Traffic Incident Prediction through Single Site Bluetooth". In Intelligent Transportation Systems (ITSC), 2015 IEEE 18th International Conference on (pp. 725-730). IEEE.
- Mostafa Uddin, Ahmed Salem, Ilho Nam, & Tamer Nadeem. "Wearable Sensing Framework for Human Activity Monitoring". In Proceedings of the 2015 workshop on Wearable Systems and Applications (pp. 21-26). ACM.