Man Linux: Main Page and Category List


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


       dfu-util [-ldpciatUDRhV]


       dfu-util is a program that implements the host (PC) 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.


       -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 hex-numbers which must start with 0x.  Example:

                $ dfu-util --device 0x1457:0x5119

              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

       -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

       -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’re finished.

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

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


       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


       Please  see for some limitations
       and bugs in the current dfu-util code.

       Please report any further bugs at  or  on
       the openmoko-kernel mailing list at


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


       Weston Schmidt <>
       Harald Welte <>

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

                               February 29, 2008