"invalid dfuse address"

I am currently trying to compile my Pure Data patch into owlware using the tannlib branch but have been unable to do so on my new computer (with Ubuntu 14.04). (I managed to do this on my mac couple of weeks ago). Everything concerning compiling and such seems to be working as expected but the problem seems to be with dfu.

export TANN_FILE=Libraries/Tannhauser/jg4osc.pd && touch $TANN_FILE && make dfu
...
Successfully built OWL firmware Build/OwlWare.bin
dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s 0x8008000:leave -D ./Build/OwlWare.bin 
invalid dfuse address: 0x8008000:leave
make: *** [dfu] Error 2

And this is what I get when I run “dfu-util -list”

dfu-util 0.5

(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY

dfu-util does currently only support DFU version 1.0

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="UNDEFINED"

I guess the “UNDEFINED” part is a clear sign of the problem?
Any ideas?

My output looks like this:

$ dfu-util -l
dfu-util 0.7
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/04*016Kg,01*064Kg,07*128Kg"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e"

I think it might be a problem with your version of dfu-util. Previous versions didn’t implement ST’s DFuSe extensions, which are required to communicate with the bootloader.
Can you upgrade to version 0.7, or build from source [1]?

[1] http://dfu-util.gnumonks.org

0.7 was not available in the Ubuntu repositories but I did try compiling it from source which went well. But now I get this error when I run “export TANN_FILE=Libraries/Tannhauser/jg4osc.pd && touch $TANN_FILE && make dfu”

Successfully built OWL firmware Build/OwlWare.bin
dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s 0x8008000:leave -D ./Build/OwlWare.bin 
dfu-util 0.7

Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Filter on vendor = 0x0483 product = 0xdf11
Cannot open device
Opening DFU capable USB device... make: *** [dfu] Error 1

dfu-util --list gives me the following:

dfu-util 0.7

Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="UNDEFINED"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="UNDEFINED"

Huh. What happens when you try to upload the binary with the OwlNest?

It waits for a second and then crashes right after I select the file.

I tried running OwlNest through the terminal and this is the output I am getting. Note that when I set the Owl into DFU mode it blinks red light 3 times so everything seems to be fine there.

JUCE v2.1.3
Initialising OwlNest
Update firmware!
menu item selected 1/8193
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
probing for DFU device...
No DFU capable USB device found
*** Leaked objects detected: 1 instance(s) of class FileChooser
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 104 instance(s) of class Glyph
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 4 instance(s) of class Line
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 4 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 5 instance(s) of class Run
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class AlertWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class TextLayout
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 116 instance(s) of class EdgeTable
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 120 instance(s) of class CachedGlyphEdgeTable
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class GlyphCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class XBitmapImage
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class SimpleDeviceManagerInputLevelMeter
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class AudioDeviceSettingsPanel
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 4 instance(s) of class RowComponent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MidiInputSelectorComponentListBox
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ListViewport
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class Viewport
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class ScrollBar
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ListBox
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class AudioDeviceSelectorComponent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ApplicationSettingsWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class TabBarButton
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class SoftwarePixelData
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 3 instance(s) of class ImagePixelData
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 7 instance(s) of class ToggleButton
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 8 instance(s) of class Slider
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 9 instance(s) of class TextButton
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 32 instance(s) of class Label
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 9 instance(s) of class ComboBox
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 9 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwlNestGui
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ButtonBar
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class TabbedButtonBar
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class TabbedComponent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 62 instance(s) of class GlyphInfo
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class CustomTypeface
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class Typeface
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 368 instance(s) of class KnownTypeface
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class FTFaceWrapper
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class FTTypefaceList
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class FTLibWrapper
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class TypefaceCache
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 157 instance(s) of class Font
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MenuBarComponent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 3 instance(s) of class Item
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class PopupMenu
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MenuBarModel
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MainWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ButtonListenerProxy
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 3 instance(s) of class GlassWindowButton
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 21 instance(s) of class Button
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 68 instance(s) of class Path
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class LookAndFeel
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class DocumentWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 151 instance(s) of class NamedValue
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ResizableWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class ComponentBoundsConstrainer
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class ComponentDragger
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class TimerThread
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class Thread
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 3 instance(s) of class WaitableEvent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class RectangleList
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class LinuxComponentPeer
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class ComponentPeer
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class TopLevelWindow
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 91 instance(s) of class Component
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 91 instance(s) of class MouseCursor
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ALSAAudioIODeviceType
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 4 instance(s) of class KeyPress
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class Desktop
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ComponentAnimator
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MouseInputSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MouseInputSourceInternal
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class KeyPressMappingSet
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class ApplicationCommandManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class XmlElement
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class PropertiesFile
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class PropertySet
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MultipleInstanceHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 87 instance(s) of class SimpleValueSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 87 instance(s) of class ValueSource
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class CallbackHandler
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class AudioDeviceManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class AudioSampleBuffer
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 6 instance(s) of class BigInteger
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class OwnedArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 30 instance(s) of class AsyncUpdater
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class ApplicationCommandTarget
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MessageManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 10 instance(s) of class Image
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class StringPairArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 17 instance(s) of class StringArray
JUCE Assertion failure in juce_LeakedObjectDetector.h:95

note: I am using the Linux binary owlnest (32 bit I think it was) provided on the website.

I am on Ubuntu 14.04 64-bit

There’s an interesting discussion here about dfu-util problems un Ubuntu 14.04

Could you try, first:
sudo dfu-util -l

If that still shows the same result, try changing src/quirks.h from
#define DEFAULT_POLLTIMEOUT 5
to
#define DEFAULT_POLLTIMEOUT 50
and rebuilding dfu-util.

Thank you. That’s quite interesting. Sudo dfu-util -l does the trick. Changing the src/quirks.h had no effect.

So, I guess this is a bug in dfu-util that hopefully gets fixed when 0.8 comes out?

Good to hear you got it working.
I’m not sure it’s a bug, so much as a permissions issue. There might be a solution involving suid of the binary or chgrp to give your user account low-level USB permissions.