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