BOSS Installation
Step 1: Pre-requisite
Boss Project is build on top of the ubertooth project and we will follow the same pre-requisites and configuration steps as per the ubertooth build wiki except the we need to download the Boss project source later in the installation process rather than downloading the ubertooth source code.
Refer Ubertooth Build Guide https://github.com/greatscottgadgets/ubertooth/wiki/Build-Guide for more details.
- Pre -requisites: Make sure you install the pre-requisites as per your operating system (refer to the ubertooth build wiki for more details)
Debian / Ubuntu
sudo apt-get install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev \
pkg-config libpcap-dev python-numpy python-pyside python-qt4
Fedora / Red Hat
su -c "yum install libusb1-devel make gcc wget tar bluez-libs-devel"
Mac OS X
sudo port install libusb wget cmake python27 py27-numpy py27-pyside
or
brew install libusb wget cmake pkg-config libpcap
Step 2: Install Bluetooth Baseband Library - Decodes Bluetooth Packets
- wget https://github.com/greatscottgadgets/libbtbb/archive/2017-03-R2.tar.gz -O libbtbb-2017-03-R2.tar.gz
- tar xf libbtbb-2017-03-R2.tar.gz
- cd libbtbb-2017-03-R2
- mkdir build
- cd build
- cmake ..
- make
- sudo make install
Step 3: Build the Host Part of the BOSS
- Download the BOSS Software Boss Source Code
- Extract it to your desired local folder on the linux machine.
- Extracted folder will have the name Boss
- cd Boss
- cd host
- mkdir build
- cd build
- cmake ..
- make
- sudo make install
Step 4: Flashing the BOSS Firmware on the ubertooth Hardware device
- cd Boss
- cd firmware
- cd bluetooth_rxtx
- make
- If you get error for gcc-arm-none-eabi then ,apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi
- plug in the ubertooth device to the USB port
- Run ubertooth-dfu -d bluetooth_rxtx.dfu -r
- Checking the version using ubertooth-util -v
- Detach the firmware using ubertooth-dfu –detach
Refer to Ubertooth Firmware Wiki for more details: https://github.com/greatscottgadgets/ubertooth/wiki/Firmware
The difference here is that we are flashing Boss Firmware files where as in the above link they are flashing the ubertooth firmware.
Step 5: Install IDE for creating a local development environment
It is up to you to decide the IDE of your choice. Below is the command to install the eclipse IDE with cdt.
sudo apt-get install eclipse eclipse-cdt g++
Step 6: Running the Boss Project
- Running the Master : ubertooth-btle -M 6b:8e:d3:d6:38:64 -m6b:8e:d3:d6:38:55 -U0
- Running the Slave : ubertooth-btle -S 6b:8e:d3:d6:38:64 -U1
- Modes of Boss : There are different Modes/Options implemented for the Boss Project like M (Boss Master Mode), S (Slave Mode) etc. These are new options that are added to existing ubertooth options.
- Using those saves the hassle of using improper BT IDs that will be discarded by the LL: 6b:8e:d3:d6:38:64 , 6f:69:d7:d6:38:64 6f:69:d3:d6:38:64