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).