Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
How To Update Firmware
First, grab the latest Ubertooth release.
Then, extract the archive and change into directory
You may then run the
ubertooth-dfu command like so:
$ ubertooth-dfu -d bluetooth_rxtx.dfu -r Switching to DFU mode... Checking firmware signature ........................................ ........................................ ................
The device will automatically enter DFU mode and flash the firmware.
If you see
control message unsupported at the end, this means that resetting the device failed. You can handle this by running
ubertooth-util -r or just unplugging the USB cable from the Ubertooth and reconnecting it.
If you run into an error such as "libUSB Error: Command Error: (-1)" or the Ubertooth's 4 LEDs next to each other perform a distinctive chasing pattern, after extracting the archive of the latest Ubertooth release, change into the
firmware directory. Then, run:
make clean all && make ubertooth-dfu -r -d bluetooth_rxtx/bluetooth_rxtx.dfu
What Version Am I Running?
In non-DFU mode, you can obtain firmware information with
ubertooth-util -v. The latest release (2017-03-R2) will appear like this:
$ ubertooth-util -v Firmware revision: 2017-03-R2 $ ubertooth-util -V ubertooth 2017-03-R2 (dominicgs@hydrogen) Mon Mar 13 16:09:02 MDT 2017
You'll need a toolchain that supports ARM Cortex-M3. The Makefiles in the firmware directory are designed for GCC and a Linux-based toolchain, specifically
arm-none-eabi-gcc and libnewlib-arm-none-eabi. If you are running a Debian based distribution, you can run:
apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi
Otherwise it can be downloaded from https://launchpad.net/gcc-arm-embedded, just unpack the archive and add the bin directory to your PATH.
To build the firmware, start from the directory where you cloned or unpacked the source and run the following:
cd firmware/bluetooth_rxtx/ make
This will produce a file named
bluetooth_rxtx.dfu which can be written to the Ubertooth using
ubertooth-dfu -d bluetooth_rxtx.dfu -r
Although firmware source and binary images can be found in the release downloads, you will probably want fresh code from git if you are planning to modify the firmware.