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 To upload code from a device, starting at flash address 0x4000: ubertooth-dfu read To execute the application at 0x4000: ubertooth-dfu detach To sign a binary firmware file: ubertooth-dfu sign 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.