Ubertooth Zero solderpad

ubertooth-zero / host / usb_dfu / README

1.4 KB · raw

Ubertooth USB DFU uploader/downloader

Jared Boone, 2011/04/10

This code is used to upload or download firmware and data into an
embedded device supporting the USB DFU protocol.

Specifications:

* Universal Serial Bus Device Class Specification for Device
  Firmware Upgrade, version 1.1:
  http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf

Requirements:

* Python 2.6 or newer:
  http://www.python.org

* PyUSB 1.0:
  http://sourceforge.net/apps/mediawiki/pyusb/

* libusb 1.0:
  http://www.libusb.org/

The openusb library is apparently also an option for use with PyUSB,
but has not been tested by the author.

This project should work across Linux, Mac OS, and Windows, but has
not been tested on all platforms.

Usage:

The target hardware must be in DFU mode before executing any of the following
commands.  See firmware/bootloader/README.

To download code into a device, starting at flash address 0x4000:

    ubertooth-dfu write <filename.bin>

To upload code from a device, starting at flash address 0x4000:

    ubertooth-dfu read <filename.bin>

To execute the application at 0x4000:

    ubertooth-dfu detach

To sign a binary firmware file:
	ubertooth-dfu sign <filename.bin>

Note for Ubertooth Zero:

The detach command doesn't work properly because the Ubertooth Zero is not
capable of re-enumerating to the USB host.  Instead of issuing the detach
command, unplug the Ubertooth Zero from USB and plug it back in.