Trouble flashing to correct device using dfu-util

I’m trying to perform the full firmware upgrade steps as listed in these steps to my core.

When I run: particle flash --factory tinker
I get:

Cannot open DFU device 0489:e07a
Error writing firmware...Cannot open DFU device 0489:e07a

when I run: dfu-util -l
I get:

Cannot open DFU device 0489:e07a
Found DFU: [1d50:607f] ver=0200, devnum=15, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="8D6E45695654"
Found DFU: [1d50:607f] ver=0200, devnum=15, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="8D6E45695654"

So it seems that dfu-util thinks 0489:e07a is a core, but it’s really my laptop’s bluetooth (according to device manager). I tried disabling/uninstalling the bluetooth driver, but it still appears in the dfu-util list.

How do I tell dfu-util/CLI to target my core (1d50:607f) instead of the other device?

Thanks in advance, and please let me know if there’s any other details I should provide.

How are you compiling your code? It should have a suffix at the end of the binary that tells dfu what device it’s for.

This may be part of what I’m not understanding. I thought the following commands (pulled from the firmware upgrade steps) were going to pull pre-compiled code from the particle cloud:

particle flash --factory tinker
particle flash --usb cc3000
particle flash --usb tinker

Maybe there’s a way for me to add the intended device to the firmware upgrade code? Apologies if I’m missing something pretty basic here… I’m definitely a beginner. For the record, the reason I’m trying to flash this update is because I’m having an issue where the core goes to solid magenta and the standard factory reset procedure doesn’t seem to resolve it.

those files may be a little bit older than when we discovered the suffix part of dfu-util…

maybe @BDub or @Dave could chime in as where to find the files that the CLI links to to check they have the suffix added?

command would be

dfu-suffix -c filename.bin //check if there is a suffix already

dfu-suffix -v 1d50 -p 607f -a filename.bin //add the core suffix

you can see the old thread here

1 Like

Ok, so I’ve added the suffix, as you can see

C:\spark>dfu-suffix -c tinker.bin
dfu-suffix (dfu-util) 0.8
...

The file tinker.bin contains a DFU suffix with the following properties:
BCD device:     0xFFFF
Product ID:     0x607F
Vendor ID:      0x1D50
BCD DFU:        0x0100
Length:         16
CRC:            0xC2067577

But am still getting the same issue (i.e. it’s attempting to open the wrong device):

C:\spark>particle flash --usb tinker.bin
Cannot open DFU device 0489:e07a


Error writing firmware...Cannot open DFU device 0489:e07a

But I know the core is in DFU mode because it’s recognized:

C:\spark>dfu-util -l
dfu-util 0.8

...

Cannot open DFU device 0489:e07a
Found DFU: [1d50:607f] ver=0200, devnum=14, cfg=1, intf=0, alt=1, name="@SPI Flash : SST25x/0x00000000/512*04Kg", serial="8D6E45695654"
Found DFU: [1d50:607f] ver=0200, devnum=14, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/20*001Ka,108*001Kg", serial="8D6E45695654"

Any thoughts? I’ll continue digging through the old thread but I’m not coming up with too much (and/or I’m out of my league here…). Thanks for all the help so far!

Hi @spoff,

Hmm, something is really strange here, I’m not sure where the CLI is getting “0489:e07a”. I think maybe the dfu utility isn’t seeing the device in DFU mode, so it’s trying to hit another device. Can you make sure you’re running in an administrator command prompt, and maybe disconnect any external keyboards or other devices that might be showing up?

Also which version of windows are you using / etc. :slight_smile:

Thanks,
David

Dave,

Sorry for the slow response. Have been away from the device for the moment so I wasn’t able to keep testing.

I may not have been in an administrator command prompt, and there were probably other devices connected. Recently upgraded to Windows 10. I should hopefully get back to it later tonight, will update with any progress.

Thanks,
-Scott

1 Like