Specifying the correct DFU when there are multiple options (SOLVED)

Hi there! My Daisy is working great from the web USB programmer but when I run make program-dfu I get the following output, the result of having multiple options available:

$ make program-dfu
dfu-util -a 0 -s 0x08000000:leave -D build/ex_vco.bin
dfu-util 0.9


dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
dfu-util: More than one DFU capable USB device found! Try `--list' and specify the serial number or disconnect all but one device

Running dfu-util --list shows the various options, one of which I can’t seem to remove (the wisdom I see from googling around is “disconnect all but the device you want to flash”).

My question: is it possible to specify the ID of the device you want to program when running make program-dfu?

As an aside, the one immovable DFU entry seems to be related to bluetooth (even when bluetooth is turned off)… Not sure if that’s unique to my particular hardware/OS combo (2015 MBP/10.12.3). Here’s the entry if it’s helpful:

Found Runtime: [05ac:8290] ver=0140, devnum=2, cfg=1, intf=5, path="20-3", alt=0, name="UNKNOWN", serial="UNKNOWN"

Thank you!

There’s an option for specifying device ID for dfu-util: -d or --device : . It’s probably an omission that it wasn’t in makefile, but you can add it yourself until upstream is fixed. To find out which value to use, compare output of dfu-util --list with and without Daisy.

Got it, thanks @antisvin! I’m a novice when it comes to C++ so I was not aware program-dfu was coming from a makefile within the libdaisy codebase.

For anyone else who runs into this, run dfu-util --list and grab the ID of your Daisy — mine is 0483:df11. In libdaisy/core/Makefile edit program-dfu by adding your device ID.

	dfu-util -a 0 -s $(FLASH_ADDRESS):leave -D $(BUILD_DIR)/$(TARGET_BIN) --device 0483:df11
1 Like

Thanks for the post! I’ll look updating the program-dfu recipe to specify the 0483:df11 vid/pid combo since this should be the same for all of the Daisy boards.

Cool I just made a PR for this on libDaisy if that’s helpful!