Skip to content

Commit 8ab4734

Browse files
committed
Add cached dfu-util sources, as the original remote repo is no longer available for use as the source to the dfu-util folder as a submodule
1 parent dfc1f47 commit 8ab4734

62 files changed

Lines changed: 7740 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tools/src/dfu-util/AUTHORS

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Authors ordered by first contribution.
2+
3+
Harald Welte
4+
Werner Almesberger
5+
Michael Lauer
6+
Jim Huang
7+
Stefan Schmidt
8+
Daniel Willmann
9+
Mike Frysinger
10+
Uwe Hermann
11+
C. Scott Ananian
12+
Bernard Blackham
13+
Holger Freyther
14+
Marc Singer
15+
James Perkins
16+
Tommi Keisala
17+
Pascal Schweizer
18+
Bradley Scott
19+
Uwe Bonnes
20+
Andrey Smirnov
21+
Jussi Timperi
22+
Hans Petter Selasky
23+
Bo Shen
24+
Henrique de Almeida Mendonca
25+
Bernd Krumboeck
26+
Dennis Meier
27+
Veli-Pekka Peltola
28+
Dave Hylands
29+
Michael Grzeschik
30+
Paul Fertser

tools/src/dfu-util/COPYING

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

tools/src/dfu-util/ChangeLog

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
0.8:
2+
o New, separate dfu-prefix tool (Uwe Bonnes)
3+
o Allow filtering on serial number (Uwe Bonnes)
4+
o Improved VID/PID/serial filtering (Bradley Scott)
5+
o Support reading firmware from stdin (Tormod Volden)
6+
o Warn if missing DFU suffix (Tormod Volden)
7+
o Improved progress bar (Hans Petter Selasky)
8+
o Fix dfuse leave option (Uwe Bonnes)
9+
o Major code rework (Hans Petter Selasky)
10+
o MS Visual Studio build support (Henrique Mendonca)
11+
o dfuse-pack.py tool for .dfu files (Antonio Galeo)
12+
o Many other fixes from many people
13+
14+
2014-09-13: Tormod Volden <debian.tormod@gmail.com>
15+
16+
0.7:
17+
o Support for TI Stellaris devices (Tommi Keisala)
18+
o Fix libusb detection on MacOSX (Marc Singer)
19+
o Fix libusb detection on FreeBSD (Tormod Volden)
20+
o Improved DfuSe support (Tormod Volden)
21+
o Support all special commands (leave, unprotect, mass-erase)
22+
o Arbitrary upload lengths
23+
o "force" option for various possible (dangerous) overrides
24+
25+
2012-10-07: Tormod Volden <debian.tormod@gmail.com>
26+
27+
0.6:
28+
o Add detach mode (Stefan Schmidt)
29+
o Check return value on all libusb calls (Tormod Volden)
30+
o Fix segmentation fault with -s option (Tormod Volden)
31+
o Add DFU suffix manipulation tool (Stefan Schmidt)
32+
o Port to Windows: (Tormod Volden, some parts based on work from Satz
33+
Klauer)
34+
o Port file handling to stdio streams
35+
o Sleep() macros
36+
o C99 types
37+
o Pack structs
38+
o Detect DfuSe device correctly on big-endian architectures (Tormod
39+
Volden)
40+
o Add dfuse progress indication on download (Tormod Volden)
41+
o Cleanup: gcc pedantic, gcc extension, ... (Tormod Volden)
42+
o Rely on page size from functional descriptor. Please report if you get
43+
an error about it. (Tormod Volden)
44+
o Add quirk for Maple since it reports wrong DFU version (Tormod Volden)
45+
46+
2012-04-22: Stefan Schmidt <stefan@datenfreihafen.org>
47+
48+
0.5:
49+
o DfuSe extension support for ST devices (Tormod Volden)
50+
o Add initial support for bitWillDetach flag from DFU 1.1 (Tormod
51+
Volden)
52+
o Internal cleanup and some manual page fixes (Tormod Volden)
53+
54+
2011-11-02: Stefan Schmidt <stefan@datenfreihafen.org>
55+
56+
0.4:
57+
o Rework to use libusb-1.0 (Stefan Schmidt)
58+
o DFU suffix support (Tormod Volden, Stefan Schmidt)
59+
o Sspeed up DFU downloads directly into memory (Bernard Blackham)
60+
o More flexible -d vid:pid parsing (Tormod Volden)
61+
o Many bug fixes and cleanups
62+
63+
2011-07-20: Stefan Schmidt <stefan@datenfreihafen.org>
64+
65+
0.3:
66+
o quirks: Add OpenOCD to the poll timeout quirk table.
67+
68+
2010-12-22: Stefan Schmidt <stefan@datenfreihafen.org>
69+
70+
0.2:
71+
o Fix some typos on the website and the README (Antonio Ospite, Uwe
72+
Hermann)
73+
o Remove build rule for a static binary. We can use autotools for this.
74+
(Mike Frysinger)
75+
o Fix infinite loop in download error path (C. Scott Ananian)
76+
o Break out to show the 'finished' in upload (C. Scott Ananian)
77+
o Add GPLv2+ headers (Harald Welte)
78+
o Remove dead code (commands.[ch]) remnescent of dfu-programmer (Harald
79+
Welte)
80+
o Simple quirk system with Openmoko quirk for missing bwPollTimeout (Tormod Volden)
81+
o New default (1024) and clamping of transfer size (Tormod Volden)
82+
o Verify sending of completion packet (Tormod Volden)
83+
o Look for DFU functional descriptor among all descriptors (Tormod
84+
Volden)
85+
o Print out in which direction we are transferring data
86+
o Abort in upload if the file already exists
87+
88+
2010-11-17 Stefan Schmidt <stefan@datenfreihafen.org>
89+
90+
0.1:
91+
Initial release
92+
93+
2010-05-23 Stefan Schmidt <stefan@datenfreihafen.org>

tools/src/dfu-util/DEVICES.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
List of supported software and hardware products:
2+
3+
Software user (bootloader, etc)
4+
-------------------------------
5+
- Sam7DFU: http://www.openpcd.org/Sam7dfu
6+
- U-boot: DFU patches
7+
- Barebox: http://www.barebox.org/
8+
- Leaflabs: http://code.google.com/p/leaflabs/
9+
- Blackmagic DFU
10+
11+
Products using DFU
12+
------------------
13+
- OpenPCD (sam7dfu)
14+
- Openmoko Neo 1973 and Freerunner (u-boot with DFU patches)
15+
- Leaflabs Maple
16+
- ATUSB from Qi Hardware
17+
- STM32F105/7, STM32F2/F3/F4 in System Bootloader
18+
- Blackmagic debug probe
19+
- NXP LPC31xx/LPC43XX, e.g. LPC-Link and LPC-Link2, need binaries
20+
with LPC prefix and encoding (LPC-Link)

tools/src/dfu-util/Makefile.am

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
SUBDIRS = src doc
2+
3+
EXTRA_DIST = autogen.sh TODO DEVICES.txt dfuse-pack.py

tools/src/dfu-util/README

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Dfu-util - Device Firmware Upgrade Utilities
2+
3+
Dfu-util is the host side implementation of the DFU 1.0 [1] and DFU 1.1 [2]
4+
specification of the USB forum.
5+
6+
DFU is intended to download and upload firmware to devices connected over
7+
USB. It ranges from small devices like micro-controller boards up to mobile
8+
phones. With dfu-util you are able to download firmware to your device or
9+
upload firmware from it.
10+
11+
dfu-util has been tested with Openmoko Neo1973 and Freerunner and many
12+
other devices.
13+
14+
[1] DFU 1.0 spec: http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
15+
[2] DFU 1.1 spec: http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf
16+
17+
The official website is:
18+
19+
http://dfu-util.gnumonks.org/
20+

tools/src/dfu-util/TODO

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
DfuSe:
2+
- Do erase and write in two separate passes when downloading
3+
- Skip "Set Address" command when downloading contiguous blocks
4+
- Implement "Get Commands" command
5+
6+
Devices:
7+
- Research iPhone/iPod/iPad support
8+
Heavily modified dfu-util fork here:
9+
https://github.com/planetbeing/xpwn/tree/master/dfu-util
10+
- Test against Niftylights
11+
12+
Non-Code:
13+
- Logo
14+
- Re-License as LGPL for usage as library?

tools/src/dfu-util/autogen.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#! /bin/sh
2+
autoreconf -v -i

tools/src/dfu-util/configure.ac

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# -*- Autoconf -*-
2+
# Process this file with autoconf to produce a configure script.
3+
4+
AC_PREREQ(2.59)
5+
AC_INIT([dfu-util],[0.8],[dfu-util@lists.gnumonks.org],,[http://dfu-util.gnumonks.org])
6+
AC_CONFIG_AUX_DIR(m4)
7+
AM_INIT_AUTOMAKE([foreign])
8+
AC_CONFIG_HEADERS([config.h])
9+
10+
# Test for new silent rules and enable only if they are available
11+
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
12+
13+
# Checks for programs.
14+
AC_PROG_CC
15+
16+
# Checks for libraries.
17+
# On FreeBSD the libusb-1.0 is called libusb and resides in system location
18+
AC_CHECK_LIB([usb], [libusb_init],, [native_libusb=no],)
19+
AS_IF([test x$native_libusb = xno], [
20+
PKG_CHECK_MODULES([USB], [libusb-1.0 >= 1.0.0],,
21+
AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
22+
])
23+
AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb)
24+
25+
LIBS="$LIBS $USB_LIBS"
26+
CFLAGS="$CFLAGS $USB_CFLAGS"
27+
28+
# Checks for header files.
29+
AC_HEADER_STDC
30+
AC_CHECK_HEADERS([usbpath.h windows.h sysexits.h])
31+
32+
# Checks for typedefs, structures, and compiler characteristics.
33+
AC_C_CONST
34+
AC_TYPE_SIZE_T
35+
36+
# Checks for library functions.
37+
AC_FUNC_MEMCMP
38+
AC_CHECK_FUNCS([ftruncate getpagesize nanosleep err])
39+
40+
AC_CONFIG_FILES(Makefile src/Makefile doc/Makefile)
41+
AC_OUTPUT
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
Device:
2+
-------
3+
qi-hardware-atusb:
4+
- Qi Hardware ben-wpan
5+
- DFU implementation:
6+
http://projects.qi-hardware.com/index.php/p/ben-wpan/source/tree/master/atusb/fw/usb
7+
- Tester: Stefan Schmidt
8+
9+
openpcd:
10+
- OpenPCD RFID reader
11+
- DFU implementation: SAM7DFU
12+
http://www.openpcd.org/Sam7dfu, git://git.gnumonks.org/openpcd.git
13+
- Tester: Stefan Schmidt
14+
15+
simtrace:
16+
- Sysmocom SimTrace
17+
- DFU implementation: SAM7DFU
18+
http://www.openpcd.org/Sam7dfu, git://git.gnumonks.org/openpcd.git
19+
- Tester: Stefan Schmidt
20+
21+
openmoko-freerunner:
22+
- Openmoko Freerunner
23+
- DFU implementation: Old U-Boot
24+
http://git.openmoko.org/?p=u-boot.git;a=shortlog;h=refs/heads/mokopatches
25+
- Tester: Stefan Schmidt
26+
27+
openmoko-neo1973:
28+
- Openmoko Neo1073
29+
- DFU implementation: Old U-Boot
30+
http://git.openmoko.org/?p=u-boot.git;a=shortlog;h=refs/heads/mokopatches
31+
- Tester: Stefan Schmidt
32+
33+
tdk-bluetooth:
34+
- TDK Corp. Bluetooth Adapter
35+
- DFU implementation: closed soure
36+
- Only upload has been tested
37+
- Tester: Stefan Schmidt
38+
39+
stm32f107:
40+
- STM32 microcontrollers with built-in (ROM) DFU loader
41+
- DFU implementation: Closed source but probably similar to the one
42+
in their USB device libraries. Some relevant application notes:
43+
http://www.st.com -> AN3156 and AN2606
44+
- Tested by Uwe Bonnes
45+
46+
stm32f4discovery:
47+
- STM32 microcontroller board with built-in (ROM) DFU loader
48+
- DFU implementation: Closed source, probably similar to stm32f107.
49+
- Tested by Joe Rothweiler
50+
51+
dso-nano:
52+
- DSO Nano pocket oscilloscope
53+
- DFU implementation: Based on ST Microelectronics USB FS Library 1.0
54+
http://dsonano.googlecode.com/files/DS0201_OpenSource.rar
55+
- Tester: Tormod Volden
56+
57+
opc-20:
58+
- Custom devices based on STM32F1xx
59+
- DFU implementation: ST Microelectronics USB FS Device Library 3.1.0
60+
http://www.st.com -> um0424.zip
61+
- Tester: Tormod Volden
62+
63+
lpc-link, lpclink2:
64+
- NXP LPCXpresso debug adapters
65+
- Proprietary DFU implementation, uses special download files with
66+
LPC prefix and encoding of the target firmware code
67+
- Tested by Uwe Bonnes
68+
69+
Adding the lsusb output and a download log of your device here helps
70+
us to avoid regressions for hardware we cannot test while working on
71+
the code. To extract the lsusb output use this command:
72+
sudo lsusb -v -d $USBID > $DEVICE.lsusb
73+
Prepare a description snippet as above, and send it to us. A log
74+
(copy-paste of the command window) of a firmware download is also
75+
nice, please use the double verbose option -v -v and include the
76+
command line in the log file.
77+

0 commit comments

Comments
 (0)