Make program-dfu fails with "Cannot claim interface"

Hi,

I can’t download a new firmware on the Daisy seed (i’m using Daisy patch) using make program-dfu. This works perfectly though using the online programmer.

I’ve first pressed the BOOT button and then RESET button like with the online programmer, and then:

raf$ make program-dfu
dfu-util -a 0 -s 0x08000000:leave -D build/PolyOsc.bin -d 0483:df11
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Deducing device DFU version from functional descriptor length
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
dfu-util: Cannot claim interface
make: *** [program-dfu] Error 74

Though the device can be “seen” by dfu-util:

raf$ dfu-util -l
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
...
Found DFU: [0483:df11] ver=0200, devnum=10, cfg=1, intf=0, path="0-2", alt=0, name="@Internal Flash   /0x08000000/16*128Kg", ...

I’ve also tried to using sudo dfu-util ..., but the same error is reported.

I’m using macOS High Sierra 10.13.6.

Thanks for any information on that matter.

Raphael

Hi,

If you run the command directly instead of through make do you get a more detailed error?:
dfu-util -a 0 -s 0x08000000:leave -D build/PolyOsc.bin -d 0483:df11

This could be related to macos security. I don’t know what the equivalent in MacOS X is to udev rules, but could be something like that.

Hi Shensley,

Thanks for your help.

I’m afraid the output of make is the same as running the command directly. There is however a verbose option -v in dfu-util so I gave it a try:

  raf$ dfu-util -l
  dfu-util 0.9

  Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
  Copyright 2010-2016 Tormod Volden and Stefan Schmidt
  This program is Free Software and has ABSOLUTELY NO WARRANTY
  Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

  Deducing device DFU version from functional descriptor length
  ...
  Found DFU: [0483:df11] ver=0200, devnum=8, cfg=1, intf=0, path="0-2", alt=0, name="@Internal Flash   /0x08000000/16*128Kg", ...

But unfortunately the result is the same:

  raf$ dfu-util -v -a 0 -s 0x08000000:leave -D build/PolyOsc.bin -d 0483:df11
  dfu-util 0.9

  Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
  Copyright 2010-2016 Tormod Volden and Stefan Schmidt
  This program is Free Software and has ABSOLUTELY NO WARRANTY
  Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

  dfu-util: Invalid DFU suffix signature
  dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
  Deducing device DFU version from functional descriptor length
  Opening DFU capable USB device...
  ID 0483:df11
  Run-time device DFU version 011a
  Claiming USB DFU Interface...
  dfu-util: Cannot claim interface

Thanks for the verbose output, raf. I’ll look into this and see if there’s anything that explains what’s going on.

Seems especially strange since the web programmer is working for you without any problems.

I’m guessing you have already tried all of the standard USB troubleshooting activities without success? (i.e. Rebooting the computer, trying a different port, using direct without a hub if you were using a hub before, etc.)

I’ll write back as soon I have some more information!

Hi again,

Thanks again for your answer.

  • I can confirm the Web programmer is working for me, I didn’t do anything special for it (except reloading the page everytime I upload a new binary because of a bug, but I think it’s a different problem)
  • I rebooted my computer multiple times
  • I tried different ports
  • I’m not using a hub

Thanks,

Raphael

1 Like

For reference, I updated my system to macOS Mojave and the issue somehow magically disappeared. Not sure if it is really correlated, but everything is working properly now :+1:

1 Like