DFU-UTIL(1)

NAME
dfu-util - Device firmware update (DFU) USB programmer

SYNOPSIS
dfu-util [-ldpciatUDRhvV]

DESCRIPTION
dfu-util is a program that implements the host (computer) side of the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol.

In the OpenMoko project (for example), this program is used to communicate with the specially enhanced u-boot boot loader, which implements the DFU device side.

OPTIONS

-l, --list
    List the currently attached DFU capable USB devices.

-d, --device VENDOR:PRODUCT
    Specify vendor/product ID of the DFU device. Both VENDOR and PRODUCT are hexadecimal numbers (no prefix needed). Example:

    $ dfu-util --device 1457:51ab

    If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.

-p, --path BUS-PORT. ... .PORT
    Specify the path to the DFU device.

-c, --cfg CONFIG-NR
    Specify the configuration of the DFU device.

-i, --intf INTF-NR
    Specify the DFU interface number.

-a, --alt ALT
    Specify the altsetting of the DFU interface by name or by number.

-t, --transfer-size
    Specify the number of bytes per USB transfer. If you don't supply this option, the maximum possible size for your combination of host OS and USB device is chosen (for optimal performance).

-U, --upload FILE
    Read firmware from device into FILE.

    Note: Upload support is currently broken.

-D, --download FILE
    Write firmware from FILE into device.

-R, --reset
    Issue USB reset signalling once we are finished.

-s, --dfuse-address
    Specify target address for raw binary download/upload on DfuSe devices. Do not use this for downloading DfuSe files.

-h, --help
    Show a help text and exit.

-v, --verbose
    Print more information about dfu-util's operation. A second -v will turn on verbose logging of USB requests.

-V, --version
    Show version information and exit.

EXAMPLES
Here are some examples for the usage of dfu-util in the OpenMoko project (working with the Neo1973 hardware):

Flashing the rootfs:
$ dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2

Flashing the kernel:
$ dfu-util -a kernel -R -D /path/to/uImage

Flashing the bootloader:
$ dfu-util -a u-boot -R -D /path/to/u-boot.bin

Copying a kernel into RAM:
$ dfu-util -a 0 -R -D /path/to/uImage

Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.

Note: You cannot transfer more than 2MB of data into RAM using this method.

BUGS
Please see http://wiki.openmoko.org/wiki/Dfu-util for some limitations and bugs in the current dfu-util code.

Please report any further bugs at on the openmoko mailing list at openmoko@lists.openmoko.org.

LICENCE
dfu-util is covered by the GNU General Public License (GPL), version 2 or later.

AUTHORS
Weston Schmidt <weston_schmidt@yahoo.com>
Harald Welte <hwelte@hmw-consulting.de>

This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>. It is licensed under the terms of the GNU GPL (version 2 or later).